[hamradio-commits] [gnss-sdr] 08/22: Remove firmware and drivers folders

Carles Fernandez carles_fernandez-guest at moszumanska.debian.org
Thu Jun 30 20:11:28 UTC 2016


This is an automated email from the git hooks/post-receive script.

carles_fernandez-guest pushed a commit to branch next
in repository gnss-sdr.

commit 81093e3d6bc7206a51be2f1c034c7131f73ed950
Author: Carles Fernandez <carles.fernandez at gmail.com>
Date:   Thu Jun 9 19:10:24 2016 +0200

    Remove firmware and drivers folders
    
    Now drivers have their own repo at https://github.com/gnss-sdr/gr-gn3s
    and https://github.com/gnss-sdr/gr-dbfcttc
---
 README.md                                          |   12 +-
 cmake/Modules/FindGrDbfcttc.cmake                  |   33 +
 cmake/Modules/FindGrGN3S.cmake                     |   33 +
 drivers/gr-dbfcttc/CMakeLists.txt                  |  188 -
 drivers/gr-dbfcttc/README                          |    7 -
 drivers/gr-dbfcttc/apps/CMakeLists.txt             |   25 -
 drivers/gr-dbfcttc/build/.gitignore                |    4 -
 .../cmake/Modules/CMakeParseArgumentsCopy.cmake    |  138 -
 drivers/gr-dbfcttc/cmake/Modules/FindCppUnit.cmake |   36 -
 .../cmake/Modules/FindGnuradioRuntime.cmake        |   36 -
 drivers/gr-dbfcttc/cmake/Modules/FindPCAP.cmake    |  122 -
 drivers/gr-dbfcttc/cmake/Modules/GrMiscUtils.cmake |  210 -
 drivers/gr-dbfcttc/cmake/Modules/GrPlatform.cmake  |   50 -
 drivers/gr-dbfcttc/cmake/Modules/GrPython.cmake    |  227 -
 drivers/gr-dbfcttc/cmake/Modules/GrSwig.cmake      |  229 -
 drivers/gr-dbfcttc/cmake/Modules/GrTest.cmake      |  133 -
 .../gr-dbfcttc/cmake/Modules/dbfcttcConfig.cmake   |   30 -
 drivers/gr-dbfcttc/cmake/cmake_uninstall.cmake.in  |   32 -
 drivers/gr-dbfcttc/docs/CMakeLists.txt             |   35 -
 drivers/gr-dbfcttc/docs/README.dbfcttc             |   11 -
 drivers/gr-dbfcttc/docs/doxygen/CMakeLists.txt     |   52 -
 drivers/gr-dbfcttc/docs/doxygen/Doxyfile.in        | 1504 ----
 .../gr-dbfcttc/docs/doxygen/Doxyfile.swig_doc.in   | 1514 ----
 .../gr-dbfcttc/docs/doxygen/doxyxml/__init__.py    |   82 -
 drivers/gr-dbfcttc/docs/doxygen/doxyxml/base.py    |  219 -
 .../gr-dbfcttc/docs/doxygen/doxyxml/doxyindex.py   |  237 -
 .../docs/doxygen/doxyxml/generated/__init__.py     |    7 -
 .../docs/doxygen/doxyxml/generated/compound.py     |  503 --
 .../doxygen/doxyxml/generated/compoundsuper.py     | 8342 --------------------
 .../docs/doxygen/doxyxml/generated/index.py        |   77 -
 .../docs/doxygen/doxyxml/generated/indexsuper.py   |  523 --
 drivers/gr-dbfcttc/docs/doxygen/doxyxml/text.py    |   56 -
 .../gr-dbfcttc/docs/doxygen/other/group_defs.dox   |    7 -
 .../gr-dbfcttc/docs/doxygen/other/main_page.dox    |   10 -
 drivers/gr-dbfcttc/docs/doxygen/swig_doc.py        |  255 -
 drivers/gr-dbfcttc/examples/README                 |    4 -
 drivers/gr-dbfcttc/grc/CMakeLists.txt              |   22 -
 drivers/gr-dbfcttc/grc/dbfcttc_raw_array.xml       |   86 -
 drivers/gr-dbfcttc/grc/test_grc2.grc               |  497 --
 drivers/gr-dbfcttc/grc/top_block.py                |   95 -
 drivers/gr-dbfcttc/include/dbfcttc/CMakeLists.txt  |   25 -
 drivers/gr-dbfcttc/include/dbfcttc/api.h           |   43 -
 drivers/gr-dbfcttc/include/dbfcttc/raw_array.h     |   66 -
 drivers/gr-dbfcttc/lib/CMakeLists.txt              |   77 -
 drivers/gr-dbfcttc/lib/qa_dbfcttc.cc               |   43 -
 drivers/gr-dbfcttc/lib/qa_dbfcttc.h                |   42 -
 drivers/gr-dbfcttc/lib/qa_raw_array.cc             |   48 -
 drivers/gr-dbfcttc/lib/qa_raw_array.h              |   57 -
 drivers/gr-dbfcttc/lib/raw_array_impl.cc           |  514 --
 drivers/gr-dbfcttc/lib/raw_array_impl.h            |  116 -
 drivers/gr-dbfcttc/lib/test_dbfcttc.cc             |   55 -
 .../python/.unittests/python/qa_raw_array.xml      |    5 -
 drivers/gr-dbfcttc/python/CMakeLists.txt           |   43 -
 drivers/gr-dbfcttc/python/__init__.py              |   54 -
 drivers/gr-dbfcttc/python/build_utils.py           |  226 -
 drivers/gr-dbfcttc/python/build_utils_codes.py     |   52 -
 drivers/gr-dbfcttc/python/qa_raw_array.py          |   42 -
 drivers/gr-dbfcttc/swig/CMakeLists.txt             |   59 -
 drivers/gr-dbfcttc/swig/dbfcttc_swig.i             |   16 -
 drivers/gr-gn3s/CMakeLists.txt                     |  143 -
 drivers/gr-gn3s/README.md                          |  222 -
 drivers/gr-gn3s/build/.gitignore                   |    4 -
 .../cmake/Modules/CMakeParseArgumentsCopy.cmake    |  138 -
 .../cmake/Modules/FindGnuradioRuntime.cmake        |  130 -
 drivers/gr-gn3s/cmake/Modules/FindUSB.cmake        |   45 -
 drivers/gr-gn3s/cmake/Modules/GrMiscUtils.cmake    |  347 -
 drivers/gr-gn3s/cmake/Modules/GrPlatform.cmake     |   54 -
 drivers/gr-gn3s/cmake/Modules/GrPython.cmake       |  242 -
 drivers/gr-gn3s/cmake/Modules/GrSwig.cmake         |  265 -
 drivers/gr-gn3s/cmake/Modules/GrTest.cmake         |  144 -
 drivers/gr-gn3s/cmake/cmake_uninstall.cmake.in     |   32 -
 drivers/gr-gn3s/docs/CMakeLists.txt                |   35 -
 drivers/gr-gn3s/docs/doxygen/CMakeLists.txt        |   52 -
 drivers/gr-gn3s/docs/doxygen/Doxyfile.in           | 1504 ----
 drivers/gr-gn3s/docs/doxygen/Doxyfile.swig_doc.in  | 1514 ----
 drivers/gr-gn3s/docs/doxygen/doxyxml/__init__.py   |   82 -
 drivers/gr-gn3s/docs/doxygen/doxyxml/base.py       |  219 -
 drivers/gr-gn3s/docs/doxygen/doxyxml/doxyindex.py  |  237 -
 .../gr-gn3s/docs/doxygen/doxyxml/example/Doxyfile  | 1551 ----
 .../docs/doxygen/doxyxml/example/aadvark.cc        |   50 -
 .../gr-gn3s/docs/doxygen/doxyxml/example/aadvark.h |   44 -
 .../doxygen/doxyxml/example/xml/aadvark_8cc.xml    |   88 -
 .../doxygen/doxyxml/example/xml/aadvark_8h.xml     |   72 -
 .../doxygen/doxyxml/example/xml/classAadvark.xml   |   86 -
 .../docs/doxygen/doxyxml/example/xml/combine.xslt  |   15 -
 .../docs/doxygen/doxyxml/example/xml/compound.xsd  |  814 --
 .../docs/doxygen/doxyxml/example/xml/index.xml     |   17 -
 .../docs/doxygen/doxyxml/example/xml/index.xsd     |   66 -
 .../docs/doxygen/doxyxml/generated/__init__.py     |    7 -
 .../docs/doxygen/doxyxml/generated/compound.py     |  503 --
 .../doxygen/doxyxml/generated/compoundsuper.py     | 8342 --------------------
 .../docs/doxygen/doxyxml/generated/index.py        |   77 -
 .../docs/doxygen/doxyxml/generated/indexsuper.py   |  523 --
 drivers/gr-gn3s/docs/doxygen/doxyxml/text.py       |   56 -
 drivers/gr-gn3s/docs/doxygen/other/group_defs.dox  |    7 -
 drivers/gr-gn3s/docs/doxygen/other/main_page.dox   |   10 -
 drivers/gr-gn3s/docs/doxygen/swig_doc.py           |  255 -
 drivers/gr-gn3s/grc/CMakeLists.txt                 |   22 -
 drivers/gr-gn3s/grc/gn3s_source_cc.xml             |   13 -
 drivers/gr-gn3s/include/CMakeLists.txt             |   32 -
 drivers/gr-gn3s/include/fusb.h                     |  138 -
 drivers/gr-gn3s/include/fusb_linux.h               |  116 -
 drivers/gr-gn3s/include/gn3s.h                     |  142 -
 drivers/gr-gn3s/include/gn3s_api.h                 |   42 -
 drivers/gr-gn3s/include/gn3s_defines.h             |   25 -
 drivers/gr-gn3s/include/gn3s_source.h              |   80 -
 drivers/gr-gn3s/include/gn3s_source_cc.h           |   96 -
 drivers/gr-gn3s/include/libusb_types.h             |   38 -
 drivers/gr-gn3s/lib/CMakeLists.txt                 |   49 -
 drivers/gr-gn3s/lib/fusb.cc                        |   59 -
 drivers/gr-gn3s/lib/fusb_linux.cc                  |  696 --
 drivers/gr-gn3s/lib/fusb_sysconfig_linux.cc        |   49 -
 drivers/gr-gn3s/lib/gn3s.cc                        |  549 --
 drivers/gr-gn3s/lib/gn3s_firmware.ihx              |  526 --
 drivers/gr-gn3s/lib/gn3s_source.cc                 |  233 -
 drivers/gr-gn3s/lib/gn3s_source_cc.cc              |  117 -
 drivers/gr-gn3s/lib/qa_gn3s_source_cc.cc           |   36 -
 drivers/gr-gn3s/python/CMakeLists.txt              |   43 -
 drivers/gr-gn3s/python/__init__.py                 |   54 -
 drivers/gr-gn3s/python/qa_gn3s.py                  |   47 -
 drivers/gr-gn3s/swig/CMakeLists.txt                |   60 -
 drivers/gr-gn3s/swig/gn3s_swig.i                   |   17 -
 firmware/GN3S_v2/COPYING_GPL.txt                   |  340 -
 firmware/GN3S_v2/README                            |   20 -
 firmware/GN3S_v2/bin/gn3s_firmware.ihx             |  544 --
 firmware/GN3S_v2/include/delay.h                   |   38 -
 firmware/GN3S_v2/include/eeprom.h                  |   40 -
 firmware/GN3S_v2/include/fx2regs.h                 |  738 --
 firmware/GN3S_v2/include/fx2utils.h                |   31 -
 firmware/GN3S_v2/include/gn3s_main.h               |   97 -
 firmware/GN3S_v2/include/gn3s_regs.h               |   63 -
 firmware/GN3S_v2/include/gn3s_se4110.h             |   53 -
 firmware/GN3S_v2/include/gpif_inline.h             |   27 -
 firmware/GN3S_v2/include/isr.h                     |  172 -
 firmware/GN3S_v2/include/syncdelay.h               |   65 -
 firmware/GN3S_v2/include/timer.h                   |   35 -
 firmware/GN3S_v2/include/usb_common.h              |   38 -
 firmware/GN3S_v2/include/usb_descriptors.h         |   32 -
 firmware/GN3S_v2/include/usb_requests.h            |   88 -
 firmware/GN3S_v2/include/usrp_commands.h           |   97 -
 firmware/GN3S_v2/include/usrp_common.h             |   70 -
 firmware/GN3S_v2/lib/Makefile                      |   12 -
 firmware/GN3S_v2/lib/delay.asm                     |  179 -
 firmware/GN3S_v2/lib/delay.c                       |   76 -
 firmware/GN3S_v2/lib/delay.lst                     |  179 -
 firmware/GN3S_v2/lib/delay.rel                     |   63 -
 firmware/GN3S_v2/lib/delay.sym                     |  380 -
 firmware/GN3S_v2/lib/fx2utils.asm                  |  821 --
 firmware/GN3S_v2/lib/fx2utils.c                    |   53 -
 firmware/GN3S_v2/lib/fx2utils.lst                  |  821 --
 firmware/GN3S_v2/lib/fx2utils.rel                  |  373 -
 firmware/GN3S_v2/lib/fx2utils.sym                  |  702 --
 firmware/GN3S_v2/lib/i2c.c                         |  123 -
 firmware/GN3S_v2/lib/isr.asm                       | 1138 ---
 firmware/GN3S_v2/lib/isr.c                         |  167 -
 firmware/GN3S_v2/lib/isr.lst                       | 1138 ---
 firmware/GN3S_v2/lib/isr.rel                       |  513 --
 firmware/GN3S_v2/lib/isr.sym                       |  711 --
 firmware/GN3S_v2/lib/libfx2.lib                    |    5 -
 firmware/GN3S_v2/lib/timer.asm                     |  770 --
 firmware/GN3S_v2/lib/timer.c                       |   49 -
 firmware/GN3S_v2/lib/timer.lst                     |  770 --
 firmware/GN3S_v2/lib/timer.rel                     |  362 -
 firmware/GN3S_v2/lib/timer.sym                     |  701 --
 firmware/GN3S_v2/lib/usb_common.asm                | 1595 ----
 firmware/GN3S_v2/lib/usb_common.c                  |  405 -
 firmware/GN3S_v2/lib/usb_common.lst                | 1595 ----
 firmware/GN3S_v2/lib/usb_common.rel                |  839 --
 firmware/GN3S_v2/lib/usb_common.sym                |  737 --
 firmware/GN3S_v2/src/Makefile                      |   23 -
 firmware/GN3S_v2/src/_startup.a51                  |   80 -
 firmware/GN3S_v2/src/edit-gpif                     |  114 -
 firmware/GN3S_v2/src/eeprom.c                      |  239 -
 firmware/GN3S_v2/src/gn3s_gpif.c                   |  206 -
 firmware/GN3S_v2/src/gn3s_main.adb                 |    1 -
 firmware/GN3S_v2/src/gn3s_main.c                   |  344 -
 firmware/GN3S_v2/src/gn3s_se4120.c                 |  114 -
 firmware/GN3S_v2/src/gpif.c                        |  292 -
 firmware/GN3S_v2/src/gpif.gpf                      |  Bin 4170 -> 0 bytes
 firmware/GN3S_v2/src/init_gpif.c                   |   60 -
 firmware/GN3S_v2/src/readme.txt                    |    2 -
 firmware/GN3S_v2/src/tags                          | 3004 -------
 firmware/GN3S_v2/src/usb_descriptors.a51           |  422 -
 firmware/GN3S_v2/src/usrp_common.c                 |  132 -
 firmware/GN3S_v2/src/usrp_gpif.c                   |  206 -
 firmware/GN3S_v2/src/vectors.a51                   |  180 -
 .../signal_source/adapters/CMakeLists.txt          |   92 +-
 187 files changed, 99 insertions(+), 61814 deletions(-)

diff --git a/README.md b/README.md
index e132c4e..d7c0c61 100644
--- a/README.md
+++ b/README.md
@@ -207,8 +207,6 @@ Cloning the GNSS-SDR repository as in the line above will create a folder named
  |---conf       <- Configuration files. Each file defines one particular receiver.
  |---data       <- Populate this folder with your captured data.
  |---docs       <- Contains documentation-related files.
- |---drivers    <- Drivers for some RF front-ends.
- |---firmware   <- Firmware for some front-ends.
  |---install    <- Executables will be placed here. 
  |---src        <- Source code folder.
  |-----algorithms  <- Signal processing blocks.
@@ -298,11 +296,11 @@ and then import the created project file into Eclipse:
 
 ###### Build GN3S V2 Custom firmware and driver (OPTIONAL):
 
-Go to GR-GN3S root directory, compile and install the driver (read the drivers/gr-gn3s/README for more information):
+Install the GNU Radio module:
 
 ~~~~~~   
-$ cd gnss-sdr/drivers/gr-gn3s
-$ cd build
+$ git clone http://github.com/gnss-sdr/gr-gn3s
+$ cd gr-gn3s/build
 $ cmake ../
 $ make
 $ sudo make install
@@ -318,11 +316,11 @@ $ sudo make install
 ~~~~~~ 
 
 In order to gain access to USB ports, gnss-sdr should be used as root. In addition, the driver requires access to the GN3S firmware binary file. It should be available in the same path where the application is called.
-GNSS-SDR comes with a pre-compiled custom GN3S firmware available at gnss-sdr/firmware/GN3S_v2/bin/gn3s_firmware.ihx. Please copy this file to the application path. The GNSS-SDR default path is gnss-sdr/install
+GNSS-SDR comes with a pre-compiled custom GN3S firmware available at gr-gn3s/firmware/GN3S_v2/bin/gn3s_firmware.ihx. Please copy this file to the application path. 
 
 (in order to disable the GN3S_Signal_Source compilation, you can pass -DENABLE_GN3S=OFF to cmake and build GNSS-SDR again).
 
-More info at [drivers/gr-gn3s/README.md](./drivers/gr-gn3s/README.md)
+More info at https://github.com/gnss-sdr/gr-gn3s
    
 
 ###### Build OSMOSDR support (OPTIONAL):
diff --git a/cmake/Modules/FindGrDbfcttc.cmake b/cmake/Modules/FindGrDbfcttc.cmake
new file mode 100644
index 0000000..444fb0b
--- /dev/null
+++ b/cmake/Modules/FindGrDbfcttc.cmake
@@ -0,0 +1,33 @@
+########################################################################
+# Find  GR-DBFCTTC Module
+########################################################################
+
+INCLUDE(FindPkgConfig)
+PKG_CHECK_MODULES(PC_GR_DBFCTTC gr-dbfcttc)
+
+FIND_PATH(
+    GR_DBFCTTC_INCLUDE_DIRS
+    NAMES dbfcttc/api.h
+    HINTS $ENV{GR_DBFCTTC_DIR}/include
+          ${PC_GR_DBFCTTC_INCLUDEDIR}
+    PATHS ${CMAKE_INSTALL_PREFIX}/include
+          /usr/include 
+          /usr/local/include
+)
+
+FIND_LIBRARY(
+    GR_DBFCTTC_LIBRARIES
+    NAMES gnuradio-dbfcttc
+    HINTS $ENV{GR_DBFCTTC_DIR}/lib
+          ${PC_GR_DBFCTTC_LIBDIR}
+    PATHS ${CMAKE_INSTALL_PREFIX}/lib
+          ${CMAKE_INSTALL_PREFIX}/lib64
+          /usr/lib
+          /usr/lib64
+          /usr/local/lib
+          /usr/local/lib64
+)
+
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(GR_DBFCTTC DEFAULT_MSG GR_DBFCTTC_LIBRARIES GR_DBFCTTC_INCLUDE_DIRS)
+MARK_AS_ADVANCED(GR_DBFCTTC_LIBRARIES GR_DBFCTTC_INCLUDE_DIRS)
\ No newline at end of file
diff --git a/cmake/Modules/FindGrGN3S.cmake b/cmake/Modules/FindGrGN3S.cmake
new file mode 100644
index 0000000..4721a36
--- /dev/null
+++ b/cmake/Modules/FindGrGN3S.cmake
@@ -0,0 +1,33 @@
+########################################################################
+# Find  GR-GN3S Module
+########################################################################
+
+INCLUDE(FindPkgConfig)
+PKG_CHECK_MODULES(PC_GR_GN3S gr-gn3s)
+
+FIND_PATH(
+    GR_GN3S_INCLUDE_DIRS
+    NAMES gn3s/gn3s_api.h
+    HINTS $ENV{GR_GN3S_DIR}/include
+          ${PC_GR_GN3S_INCLUDEDIR}
+    PATHS ${CMAKE_INSTALL_PREFIX}/include
+          /usr/local/include
+          /usr/include
+)
+
+FIND_LIBRARY(
+    GR_GN3S_LIBRARIES
+    NAMES gr-gn3s
+    HINTS $ENV{GR_GN3S_DIR}/lib
+          ${PC_GR_GN3S_LIBDIR}
+    PATHS ${CMAKE_INSTALL_PREFIX}/lib
+          ${CMAKE_INSTALL_PREFIX}/lib64
+          /usr/local/lib
+          /usr/local/lib64
+          /usr/lib
+          /usr/lib64
+)
+
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(GR_GN3S DEFAULT_MSG GR_GN3S_LIBRARIES GR_GN3S_INCLUDE_DIRS)
+MARK_AS_ADVANCED(GR_GN3S_LIBRARIES GR_GN3S_INCLUDE_DIRS)
\ No newline at end of file
diff --git a/drivers/gr-dbfcttc/CMakeLists.txt b/drivers/gr-dbfcttc/CMakeLists.txt
deleted file mode 100644
index 430ee97..0000000
--- a/drivers/gr-dbfcttc/CMakeLists.txt
+++ /dev/null
@@ -1,188 +0,0 @@
-# Copyright (C) 2012-2015  (see AUTHORS file for a list of contributors)
-#
-# This file is part of GNSS-SDR.
-#
-# GNSS-SDR 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 3 of the License, or
-# (at your option) any later version.
-#
-# GNSS-SDR 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 GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
-#
-
-
-########################################################################
-# Project setup
-########################################################################
-cmake_minimum_required(VERSION 2.6)
-project(gr-dbfcttc CXX C)
-enable_testing()
-
-#select the release build type by default to get optimization flags
-if(NOT CMAKE_BUILD_TYPE)
-   set(CMAKE_BUILD_TYPE "Release")
-   message(STATUS "Build type not specified: defaulting to release.")
-endif(NOT CMAKE_BUILD_TYPE)
-set(CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE} CACHE STRING "")
-
-list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/Modules)
-
-########################################################################
-# Compiler specific setup
-########################################################################
-if(CMAKE_COMPILER_IS_GNUCXX AND NOT WIN32)
-    #http://gcc.gnu.org/wiki/Visibility
-    add_definitions(-fvisibility=hidden)
-endif()
-
-########################################################################
-# Find boost
-########################################################################
-if(UNIX AND EXISTS "/usr/lib64")
-    list(APPEND BOOST_LIBRARYDIR "/usr/lib64") #fedora 64-bit fix
-endif(UNIX AND EXISTS "/usr/lib64")
-set(Boost_ADDITIONAL_VERSIONS
-    "1.35.0" "1.35" "1.36.0" "1.36" "1.37.0" "1.37" "1.38.0" "1.38" "1.39.0" "1.39"
-    "1.40.0" "1.40" "1.41.0" "1.41" "1.42.0" "1.42" "1.43.0" "1.43" "1.44.0" "1.44"
-    "1.45.0" "1.45" "1.46.0" "1.46" "1.47.0" "1.47" "1.48.0" "1.48" "1.49.0" "1.49"
-    "1.50.0" "1.50" "1.51.0" "1.51" "1.52.0" "1.52" "1.53.0" "1.53" "1.54.0" "1.54"
-    "1.55.0" "1.55" "1.56.0" "1.56" "1.57.0" "1.57" "1.58.0" "1.58" "1.59.0" "1.59"
-    "1.60.0" "1.60" "1.61.0" "1.61" "1.62.0" "1.62" "1.63.0" "1.63" "1.64.0" "1.64"
-    "1.65.0" "1.65" "1.66.0" "1.66" "1.67.0" "1.67" "1.68.0" "1.68" "1.69.0" "1.69"
-)
-find_package(Boost "1.35" COMPONENTS filesystem system thread)
-
-if(NOT Boost_FOUND)
-    message(FATAL_ERROR "Boost required to compile dbfcttc")
-endif()
-
-
-# - Try to find libpcap include dirs and libraries
-#
-# Usage of this module as follows:
-#
-#     find_package(PCAP)
-#
-# Variables used by this module, they can change the default behaviour and need
-# to be set before calling find_package:
-#
-#  PCAP_ROOT_DIR             Set this variable to the root installation of
-#                            libpcap if the module has problems finding the
-#                            proper installation path.
-#
-# Variables defined by this module:
-#
-#  PCAP_FOUND                System has libpcap, include and library dirs found
-#  PCAP_INCLUDE_DIR          The libpcap include directories.
-#  PCAP_LIBRARY              The libpcap library (possibly includes a thread
-#                            library e.g. required by pf_ring's libpcap)
-#  HAVE_PF_RING              If a found version of libpcap supports PF_RING
-find_package(PCAP)
-if(NOT PCAP_FOUND)
-    message(FATAL_ERROR "PCAP required to compile dbfcttc")
-endif()
-get_filename_component(PCAP_LIBRARY_DIRS ${PCAP_LIBRARY} DIRECTORY CACHE)
-
-
-########################################################################
-# Install directories
-########################################################################
-include(GrPlatform) #define LIB_SUFFIX
-set(GR_RUNTIME_DIR      bin)
-set(GR_LIBRARY_DIR      lib${LIB_SUFFIX})
-set(GR_INCLUDE_DIR      include/dbfcttc)
-set(GR_DATA_DIR         share)
-set(GR_PKG_DATA_DIR     ${GR_DATA_DIR}/${CMAKE_PROJECT_NAME})
-set(GR_DOC_DIR          ${GR_DATA_DIR}/doc)
-set(GR_PKG_DOC_DIR      ${GR_DOC_DIR}/${CMAKE_PROJECT_NAME})
-set(GR_CONF_DIR         etc)
-set(GR_PKG_CONF_DIR     ${GR_CONF_DIR}/${CMAKE_PROJECT_NAME}/conf.d)
-set(GR_LIBEXEC_DIR      libexec)
-set(GR_PKG_LIBEXEC_DIR  ${GR_LIBEXEC_DIR}/${CMAKE_PROJECT_NAME})
-set(GRC_BLOCKS_DIR      ${GR_PKG_DATA_DIR}/grc/blocks)
-
-########################################################################
-# Find gnuradio build dependencies
-########################################################################
-set(GR_REQUIRED_COMPONENTS RUNTIME PMT)
-find_package(Gnuradio)
-if(NOT GNURADIO_RUNTIME_FOUND)
-    message(FATAL_ERROR "GnuRadio Runtime required to compile dbfcttc")
-endif()
-
-find_package(CppUnit)
-if(NOT CPPUNIT_FOUND)
-    message(FATAL_ERROR "CppUnit required to compile dbfcttc")
-endif()
-
-########################################################################
-# Setup the include and linker paths
-########################################################################
-include_directories(
-    ${CMAKE_SOURCE_DIR}/lib
-    ${CMAKE_SOURCE_DIR}/include
-    ${CMAKE_BINARY_DIR}/lib
-    ${CMAKE_BINARY_DIR}/include
-    ${Boost_INCLUDE_DIRS}
-    ${CPPUNIT_INCLUDE_DIRS}
-    ${GNURADIO_RUNTIME_INCLUDE_DIRS}
-)
-
-link_directories(
-    ${PCAP_LIBRARY_DIRS}
-    ${Boost_LIBRARY_DIRS}
-    ${CPPUNIT_LIBRARY_DIRS}
-    ${GNURADIO_RUNTIME_LIBRARY_DIRS}
-)
-
-# Set component parameters
-set(GR_DBFCTTC_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/include CACHE INTERNAL "" FORCE)
-set(GR_DBFCTTC_SWIG_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/swig CACHE INTERNAL "" FORCE)
-
-########################################################################
-# Create uninstall target
-########################################################################
-configure_file(
-    ${CMAKE_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in
-    ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake
- at ONLY)
-
-add_custom_target(uninstall
-    ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake
-)
-
-########################################################################
-# Add subdirectories
-########################################################################
-
-# Workaround for Mac OS X
-if(APPLE)
-    # Detecting Macports with hardcoded locations...
-    if(EXISTS /opt/local/bin/python)
-        if(EXISTS /opt/local/bin/gnuradio-companion)
-            set(PYTHON_EXECUTABLE "/opt/local/bin/python" )
-            set(CMAKE_LIBRARY_PATH /opt/local/lib ${CMAKE_LIBRARY_PATH})
-        endif(EXISTS /opt/local/bin/gnuradio-companion)   
-    endif(EXISTS /opt/local/bin/python)
-endif(APPLE)
-
-add_subdirectory(include/dbfcttc)
-add_subdirectory(lib)
-add_subdirectory(swig)
-add_subdirectory(python)
-add_subdirectory(grc)
-add_subdirectory(apps)
-add_subdirectory(docs)
-
-########################################################################
-# Install cmake search helper for this library
-########################################################################
-install(FILES cmake/Modules/dbfcttcConfig.cmake        
-    DESTINATION lib/cmake/dbfcttc
-)
diff --git a/drivers/gr-dbfcttc/README b/drivers/gr-dbfcttc/README
deleted file mode 100644
index cd948d0..0000000
--- a/drivers/gr-dbfcttc/README
+++ /dev/null
@@ -1,7 +0,0 @@
-HOW TO BUILD GR-DBFCTTC
-----------------------
-Source maintainer:
-Javier Arribas
-jarribas at cttc.es
-
-TODO
\ No newline at end of file
diff --git a/drivers/gr-dbfcttc/apps/CMakeLists.txt b/drivers/gr-dbfcttc/apps/CMakeLists.txt
deleted file mode 100644
index c837d77..0000000
--- a/drivers/gr-dbfcttc/apps/CMakeLists.txt
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2011 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio 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 3, or (at your option)
-# any later version.
-#
-# GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-
-include(GrPython)
-
-GR_PYTHON_INSTALL(
-    PROGRAMS
-    DESTINATION bin
-)
diff --git a/drivers/gr-dbfcttc/build/.gitignore b/drivers/gr-dbfcttc/build/.gitignore
deleted file mode 100644
index 86d0cb2..0000000
--- a/drivers/gr-dbfcttc/build/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-# Ignore everything in this directory
-*
-# Except this file
-!.gitignore
\ No newline at end of file
diff --git a/drivers/gr-dbfcttc/cmake/Modules/CMakeParseArgumentsCopy.cmake b/drivers/gr-dbfcttc/cmake/Modules/CMakeParseArgumentsCopy.cmake
deleted file mode 100644
index 7ce4c49..0000000
--- a/drivers/gr-dbfcttc/cmake/Modules/CMakeParseArgumentsCopy.cmake
+++ /dev/null
@@ -1,138 +0,0 @@
-# CMAKE_PARSE_ARGUMENTS(<prefix> <options> <one_value_keywords> <multi_value_keywords> args...)
-#
-# CMAKE_PARSE_ARGUMENTS() is intended to be used in macros or functions for
-# parsing the arguments given to that macro or function.
-# It processes the arguments and defines a set of variables which hold the
-# values of the respective options.
-#
-# The <options> argument contains all options for the respective macro,
-# i.e. keywords which can be used when calling the macro without any value
-# following, like e.g. the OPTIONAL keyword of the install() command.
-#
-# The <one_value_keywords> argument contains all keywords for this macro
-# which are followed by one value, like e.g. DESTINATION keyword of the
-# install() command.
-#
-# The <multi_value_keywords> argument contains all keywords for this macro
-# which can be followed by more than one value, like e.g. the TARGETS or
-# FILES keywords of the install() command.
-#
-# When done, CMAKE_PARSE_ARGUMENTS() will have defined for each of the
-# keywords listed in <options>, <one_value_keywords> and
-# <multi_value_keywords> a variable composed of the given <prefix>
-# followed by "_" and the name of the respective keyword.
-# These variables will then hold the respective value from the argument list.
-# For the <options> keywords this will be TRUE or FALSE.
-#
-# All remaining arguments are collected in a variable
-# <prefix>_UNPARSED_ARGUMENTS, this can be checked afterwards to see whether
-# your macro was called with unrecognized parameters.
-#
-# As an example here a my_install() macro, which takes similar arguments as the
-# real install() command:
-#
-#   function(MY_INSTALL)
-#     set(options OPTIONAL FAST)
-#     set(oneValueArgs DESTINATION RENAME)
-#     set(multiValueArgs TARGETS CONFIGURATIONS)
-#     cmake_parse_arguments(MY_INSTALL "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
-#     ...
-#
-# Assume my_install() has been called like this:
-#   my_install(TARGETS foo bar DESTINATION bin OPTIONAL blub)
-#
-# After the cmake_parse_arguments() call the macro will have set the following
-# variables:
-#   MY_INSTALL_OPTIONAL = TRUE
-#   MY_INSTALL_FAST = FALSE (this option was not used when calling my_install()
-#   MY_INSTALL_DESTINATION = "bin"
-#   MY_INSTALL_RENAME = "" (was not used)
-#   MY_INSTALL_TARGETS = "foo;bar"
-#   MY_INSTALL_CONFIGURATIONS = "" (was not used)
-#   MY_INSTALL_UNPARSED_ARGUMENTS = "blub" (no value expected after "OPTIONAL"
-#
-# You can the continue and process these variables.
-#
-# Keywords terminate lists of values, e.g. if directly after a one_value_keyword
-# another recognized keyword follows, this is interpreted as the beginning of
-# the new option.
-# E.g. my_install(TARGETS foo DESTINATION OPTIONAL) would result in
-# MY_INSTALL_DESTINATION set to "OPTIONAL", but MY_INSTALL_DESTINATION would
-# be empty and MY_INSTALL_OPTIONAL would be set to TRUE therefor.
-
-#=============================================================================
-# Copyright 2010 Alexander Neundorf <neundorf at kde.org>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-
-if(__CMAKE_PARSE_ARGUMENTS_INCLUDED)
-  return()
-endif()
-set(__CMAKE_PARSE_ARGUMENTS_INCLUDED TRUE)
-
-
-function(CMAKE_PARSE_ARGUMENTS prefix _optionNames _singleArgNames _multiArgNames)
-  # first set all result variables to empty/FALSE
-  foreach(arg_name ${_singleArgNames} ${_multiArgNames})
-    set(${prefix}_${arg_name})
-  endforeach(arg_name)
-
-  foreach(option ${_optionNames})
-    set(${prefix}_${option} FALSE)
-  endforeach(option)
-
-  set(${prefix}_UNPARSED_ARGUMENTS)
-
-  set(insideValues FALSE)
-  set(currentArgName)
-
-  # now iterate over all arguments and fill the result variables
-  foreach(currentArg ${ARGN})
-    list(FIND _optionNames "${currentArg}" optionIndex)  # ... then this marks the end of the arguments belonging to this keyword
-    list(FIND _singleArgNames "${currentArg}" singleArgIndex)  # ... then this marks the end of the arguments belonging to this keyword
-    list(FIND _multiArgNames "${currentArg}" multiArgIndex)  # ... then this marks the end of the arguments belonging to this keyword
-
-    if(${optionIndex} EQUAL -1  AND  ${singleArgIndex} EQUAL -1  AND  ${multiArgIndex} EQUAL -1)
-      if(insideValues)
-        if("${insideValues}" STREQUAL "SINGLE")
-          set(${prefix}_${currentArgName} ${currentArg})
-          set(insideValues FALSE)
-        elseif("${insideValues}" STREQUAL "MULTI")
-          list(APPEND ${prefix}_${currentArgName} ${currentArg})
-        endif()
-      else(insideValues)
-        list(APPEND ${prefix}_UNPARSED_ARGUMENTS ${currentArg})
-      endif(insideValues)
-    else()
-      if(NOT ${optionIndex} EQUAL -1)
-        set(${prefix}_${currentArg} TRUE)
-        set(insideValues FALSE)
-      elseif(NOT ${singleArgIndex} EQUAL -1)
-        set(currentArgName ${currentArg})
-        set(${prefix}_${currentArgName})
-        set(insideValues "SINGLE")
-      elseif(NOT ${multiArgIndex} EQUAL -1)
-        set(currentArgName ${currentArg})
-        set(${prefix}_${currentArgName})
-        set(insideValues "MULTI")
-      endif()
-    endif()
-
-  endforeach(currentArg)
-
-  # propagate the result variables to the caller:
-  foreach(arg_name ${_singleArgNames} ${_multiArgNames} ${_optionNames})
-    set(${prefix}_${arg_name}  ${${prefix}_${arg_name}} PARENT_SCOPE)
-  endforeach(arg_name)
-  set(${prefix}_UNPARSED_ARGUMENTS ${${prefix}_UNPARSED_ARGUMENTS} PARENT_SCOPE)
-
-endfunction(CMAKE_PARSE_ARGUMENTS _options _singleArgs _multiArgs)
diff --git a/drivers/gr-dbfcttc/cmake/Modules/FindCppUnit.cmake b/drivers/gr-dbfcttc/cmake/Modules/FindCppUnit.cmake
deleted file mode 100644
index 9af308f..0000000
--- a/drivers/gr-dbfcttc/cmake/Modules/FindCppUnit.cmake
+++ /dev/null
@@ -1,36 +0,0 @@
-# http://www.cmake.org/pipermail/cmake/2006-October/011446.html
-# Modified to use pkg config and use standard var names
-
-#
-# Find the CppUnit includes and library
-#
-# This module defines
-# CPPUNIT_INCLUDE_DIR, where to find tiff.h, etc.
-# CPPUNIT_LIBRARIES, the libraries to link against to use CppUnit.
-# CPPUNIT_FOUND, If false, do not try to use CppUnit.
-
-INCLUDE(FindPkgConfig)
-PKG_CHECK_MODULES(PC_CPPUNIT "cppunit")
-
-FIND_PATH(CPPUNIT_INCLUDE_DIRS
-    NAMES cppunit/TestCase.h
-    HINTS ${PC_CPPUNIT_INCLUDE_DIR}
-    PATHS
-    /usr/local/include
-    /usr/include
-)
-
-FIND_LIBRARY(CPPUNIT_LIBRARIES
-    NAMES cppunit
-    HINTS ${PC_CPPUNIT_LIBDIR}
-    PATHS
-    ${CPPUNIT_INCLUDE_DIRS}/../lib
-    /usr/local/lib
-    /usr/lib
-)
-
-LIST(APPEND CPPUNIT_LIBRARIES ${CMAKE_DL_LIBS})
-
-INCLUDE(FindPackageHandleStandardArgs)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(CPPUNIT DEFAULT_MSG CPPUNIT_LIBRARIES CPPUNIT_INCLUDE_DIRS)
-MARK_AS_ADVANCED(CPPUNIT_LIBRARIES CPPUNIT_INCLUDE_DIRS)
diff --git a/drivers/gr-dbfcttc/cmake/Modules/FindGnuradioRuntime.cmake b/drivers/gr-dbfcttc/cmake/Modules/FindGnuradioRuntime.cmake
deleted file mode 100644
index afed684..0000000
--- a/drivers/gr-dbfcttc/cmake/Modules/FindGnuradioRuntime.cmake
+++ /dev/null
@@ -1,36 +0,0 @@
-INCLUDE(FindPkgConfig)
-PKG_CHECK_MODULES(PC_GNURADIO_RUNTIME gnuradio-runtime)
-
-if(PC_GNURADIO_RUNTIME_FOUND)
-  # look for include files
-  FIND_PATH(
-    GNURADIO_RUNTIME_INCLUDE_DIRS
-    NAMES gnuradio/top_block.h
-    HINTS $ENV{GNURADIO_RUNTIME_DIR}/include
-          ${PC_GNURADIO_RUNTIME_INCLUDE_DIRS}
-          ${CMAKE_INSTALL_PREFIX}/include
-    PATHS /usr/local/include
-          /usr/include
-    )
-
-  # look for libs
-  FIND_LIBRARY(
-    GNURADIO_RUNTIME_LIBRARIES
-    NAMES gnuradio-runtime
-    HINTS $ENV{GNURADIO_RUNTIME_DIR}/lib
-          ${PC_GNURADIO_RUNTIME_LIBDIR}
-          ${CMAKE_INSTALL_PREFIX}/lib/
-          ${CMAKE_INSTALL_PREFIX}/lib64/
-    PATHS /usr/local/lib
-          /usr/local/lib64
-          /usr/lib
-          /usr/lib64
-    )
-
-  set(GNURADIO_RUNTIME_FOUND ${PC_GNURADIO_RUNTIME_FOUND})
-endif(PC_GNURADIO_RUNTIME_FOUND)
-
-INCLUDE(FindPackageHandleStandardArgs)
-# do not check GNURADIO_RUNTIME_INCLUDE_DIRS, is not set when default include path us used.
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(GNURADIO_RUNTIME DEFAULT_MSG GNURADIO_RUNTIME_LIBRARIES)
-MARK_AS_ADVANCED(GNURADIO_RUNTIME_LIBRARIES GNURADIO_RUNTIME_INCLUDE_DIRS)
diff --git a/drivers/gr-dbfcttc/cmake/Modules/FindPCAP.cmake b/drivers/gr-dbfcttc/cmake/Modules/FindPCAP.cmake
deleted file mode 100644
index 7e0ea69..0000000
--- a/drivers/gr-dbfcttc/cmake/Modules/FindPCAP.cmake
+++ /dev/null
@@ -1,122 +0,0 @@
-
-###################################################################
-#
-#  Copyright (c) 2006 Frederic Heem, <frederic.heem at telsey.it>
-#  All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# * Redistributions of source code must retain the above copyright
-#   notice, this list of conditions and the following disclaimer.
-#
-# * Redistributions in binary form must reproduce the above copyright
-#   notice, this list of conditions and the following disclaimer in
-#   the documentation and/or other materials provided with the
-#   distribution.
-#
-# * Neither the name of the Telsey nor the names of its
-#   contributors may be used to endorse or promote products derived
-#   from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-###################################################################
-# - Find pcap
-# Find the PCAP includes and library
-# http://www.tcpdump.org/
-#
-# The environment variable PCAPDIR allows to specficy where to find 
-# libpcap in non standard location.
-#  
-#  PCAP_INCLUDE_DIRS - where to find pcap.h, etc.
-#  PCAP_LIBRARIES   - List of libraries when using pcap.
-#  PCAP_FOUND       - True if pcap found.
-
-
-IF(EXISTS $ENV{PCAPDIR})
-  FIND_PATH(PCAP_INCLUDE_DIR 
-    NAMES
-    pcap/pcap.h
-    pcap.h
-    PATHS
-      $ENV{PCAPDIR}
-    NO_DEFAULT_PATH
-  )
-  
-  FIND_LIBRARY(PCAP_LIBRARY
-    NAMES 
-      pcap
-    PATHS
-      $ENV{PCAPDIR}
-    NO_DEFAULT_PATH
-  )
-  
-
-ELSE(EXISTS $ENV{PCAPDIR})
-  FIND_PATH(PCAP_INCLUDE_DIR 
-    NAMES
-    pcap/pcap.h
-    pcap.h
-  )
-  
-  FIND_LIBRARY(PCAP_LIBRARY
-    NAMES 
-      pcap
-  )
-  
-ENDIF(EXISTS $ENV{PCAPDIR})
-
-SET(PCAP_INCLUDE_DIRS ${PCAP_INCLUDE_DIR})
-SET(PCAP_LIBRARIES ${PCAP_LIBRARY})
-
-IF(PCAP_INCLUDE_DIRS)
-  MESSAGE(STATUS "Pcap include dirs set to ${PCAP_INCLUDE_DIRS}")
-ELSE(PCAP_INCLUDE_DIRS)
-  MESSAGE(FATAL " Pcap include dirs cannot be found")
-ENDIF(PCAP_INCLUDE_DIRS)
-
-IF(PCAP_LIBRARIES)
-  MESSAGE(STATUS "Pcap library set to ${PCAP_LIBRARIES}")
-ELSE(PCAP_LIBRARIES)
-  MESSAGE(FATAL "Pcap library cannot be found")
-ENDIF(PCAP_LIBRARIES)
-
-#Functions
-INCLUDE(CheckFunctionExists)
-SET(CMAKE_REQUIRED_INCLUDES ${PCAP_INCLUDE_DIRS})
-SET(CMAKE_REQUIRED_LIBRARIES ${PCAP_LIBRARIES})
-CHECK_FUNCTION_EXISTS("pcap_breakloop" HAVE_PCAP_BREAKLOOP)
-CHECK_FUNCTION_EXISTS("pcap_datalink_name_to_val" HAVE_PCAP_DATALINK_NAME_TO_VAL)
-CHECK_FUNCTION_EXISTS("pcap_datalink_val_to_name" HAVE_PCAP_DATALINK_VAL_TO_NAME)
-CHECK_FUNCTION_EXISTS("pcap_findalldevs" HAVE_PCAP_FINDALLDEVS)
-CHECK_FUNCTION_EXISTS("pcap_freecode" HAVE_PCAP_FREECODE)
-CHECK_FUNCTION_EXISTS("pcap_get_selectable_fd" HAVE_PCAP_GET_SELECTABLE_FD)
-CHECK_FUNCTION_EXISTS("pcap_lib_version" HAVE_PCAP_LIB_VERSION)
-CHECK_FUNCTION_EXISTS("pcap_list_datalinks" HAVE_PCAP_LIST_DATALINKS)
-CHECK_FUNCTION_EXISTS("pcap_open_dead" HAVE_PCAP_OPEN_DEAD)
-CHECK_FUNCTION_EXISTS("pcap_set_datalink" HAVE_PCAP_SET_DATALINK)
-
-
-#Is pcap found ?
-IF(PCAP_INCLUDE_DIRS AND PCAP_LIBRARIES)
-  SET( PCAP_FOUND "YES" )
-ENDIF(PCAP_INCLUDE_DIRS AND PCAP_LIBRARIES)
-
-
-MARK_AS_ADVANCED(
-  PCAP_LIBRARIES
-  PCAP_INCLUDE_DIRS
-)
\ No newline at end of file
diff --git a/drivers/gr-dbfcttc/cmake/Modules/GrMiscUtils.cmake b/drivers/gr-dbfcttc/cmake/Modules/GrMiscUtils.cmake
deleted file mode 100644
index 9331d5d..0000000
--- a/drivers/gr-dbfcttc/cmake/Modules/GrMiscUtils.cmake
+++ /dev/null
@@ -1,210 +0,0 @@
-# Copyright 2010-2011 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio 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 3, or (at your option)
-# any later version.
-#
-# GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-
-if(DEFINED __INCLUDED_GR_MISC_UTILS_CMAKE)
-    return()
-endif()
-set(__INCLUDED_GR_MISC_UTILS_CMAKE TRUE)
-
-########################################################################
-# Set global variable macro.
-# Used for subdirectories to export settings.
-# Example: include and library paths.
-########################################################################
-function(GR_SET_GLOBAL var)
-    set(${var} ${ARGN} CACHE INTERNAL "" FORCE)
-endfunction(GR_SET_GLOBAL)
-
-########################################################################
-# Set the pre-processor definition if the condition is true.
-#  - def the pre-processor definition to set and condition name
-########################################################################
-function(GR_ADD_COND_DEF def)
-    if(${def})
-        add_definitions(-D${def})
-    endif(${def})
-endfunction(GR_ADD_COND_DEF)
-
-########################################################################
-# Check for a header and conditionally set a compile define.
-#  - hdr the relative path to the header file
-#  - def the pre-processor definition to set
-########################################################################
-function(GR_CHECK_HDR_N_DEF hdr def)
-    include(CheckIncludeFileCXX)
-    CHECK_INCLUDE_FILE_CXX(${hdr} ${def})
-    GR_ADD_COND_DEF(${def})
-endfunction(GR_CHECK_HDR_N_DEF)
-
-########################################################################
-# Include subdirectory macro.
-# Sets the CMake directory variables,
-# includes the subdirectory CMakeLists.txt,
-# resets the CMake directory variables.
-#
-# This macro includes subdirectories rather than adding them
-# so that the subdirectory can affect variables in the level above.
-# This provides a work-around for the lack of convenience libraries.
-# This way a subdirectory can append to the list of library sources.
-########################################################################
-macro(GR_INCLUDE_SUBDIRECTORY subdir)
-    #insert the current directories on the front of the list
-    list(INSERT _cmake_source_dirs 0 ${CMAKE_CURRENT_SOURCE_DIR})
-    list(INSERT _cmake_binary_dirs 0 ${CMAKE_CURRENT_BINARY_DIR})
-
-    #set the current directories to the names of the subdirs
-    set(CMAKE_CURRENT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/${subdir})
-    set(CMAKE_CURRENT_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/${subdir})
-
-    #include the subdirectory CMakeLists to run it
-    file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
-    include(${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt)
-
-    #reset the value of the current directories
-    list(GET _cmake_source_dirs 0 CMAKE_CURRENT_SOURCE_DIR)
-    list(GET _cmake_binary_dirs 0 CMAKE_CURRENT_BINARY_DIR)
-
-    #pop the subdir names of the front of the list
-    list(REMOVE_AT _cmake_source_dirs 0)
-    list(REMOVE_AT _cmake_binary_dirs 0)
-endmacro(GR_INCLUDE_SUBDIRECTORY)
-
-########################################################################
-# Check if a compiler flag works and conditionally set a compile define.
-#  - flag the compiler flag to check for
-#  - have the variable to set with result
-########################################################################
-macro(GR_ADD_CXX_COMPILER_FLAG_IF_AVAILABLE flag have)
-    include(CheckCXXCompilerFlag)
-    CHECK_CXX_COMPILER_FLAG(${flag} ${have})
-    if(${have})
-        add_definitions(${flag})
-    endif(${have})
-endmacro(GR_ADD_CXX_COMPILER_FLAG_IF_AVAILABLE)
-
-########################################################################
-# Generates the .la libtool file
-# This appears to generate libtool files that cannot be used by auto*.
-# Usage GR_LIBTOOL(TARGET [target] DESTINATION [dest])
-# Notice: there is not COMPONENT option, these will not get distributed.
-########################################################################
-function(GR_LIBTOOL)
-    if(NOT DEFINED GENERATE_LIBTOOL)
-        set(GENERATE_LIBTOOL OFF) #disabled by default
-    endif()
-
-    if(GENERATE_LIBTOOL)
-        include(CMakeParseArgumentsCopy)
-        CMAKE_PARSE_ARGUMENTS(GR_LIBTOOL "" "TARGET;DESTINATION" "" ${ARGN})
-
-        find_program(LIBTOOL libtool)
-        if(LIBTOOL)
-            include(CMakeMacroLibtoolFile)
-            CREATE_LIBTOOL_FILE(${GR_LIBTOOL_TARGET} /${GR_LIBTOOL_DESTINATION})
-        endif(LIBTOOL)
-    endif(GENERATE_LIBTOOL)
-
-endfunction(GR_LIBTOOL)
-
-########################################################################
-# Do standard things to the library target
-# - set target properties
-# - make install rules
-# Also handle gnuradio custom naming conventions w/ extras mode.
-########################################################################
-function(GR_LIBRARY_FOO target)
-    #parse the arguments for component names
-    include(CMakeParseArgumentsCopy)
-    CMAKE_PARSE_ARGUMENTS(GR_LIBRARY "" "RUNTIME_COMPONENT;DEVEL_COMPONENT" "" ${ARGN})
-
-    #set additional target properties
-    set_target_properties(${target} PROPERTIES SOVERSION ${LIBVER})
-
-    #install the generated files like so...
-    install(TARGETS ${target}
-        LIBRARY DESTINATION ${GR_LIBRARY_DIR} COMPONENT ${GR_LIBRARY_RUNTIME_COMPONENT} # .so/.dylib file
-        ARCHIVE DESTINATION ${GR_LIBRARY_DIR} COMPONENT ${GR_LIBRARY_DEVEL_COMPONENT}   # .lib file
-        RUNTIME DESTINATION ${GR_RUNTIME_DIR} COMPONENT ${GR_LIBRARY_RUNTIME_COMPONENT} # .dll file
-    )
-
-    #extras mode enabled automatically on linux
-    if(NOT DEFINED LIBRARY_EXTRAS)
-        set(LIBRARY_EXTRAS ${LINUX})
-    endif()
-
-    #special extras mode to enable alternative naming conventions
-    if(LIBRARY_EXTRAS)
-
-        #create .la file before changing props
-        GR_LIBTOOL(TARGET ${target} DESTINATION ${GR_LIBRARY_DIR})
-
-        #give the library a special name with ultra-zero soversion
-        set_target_properties(${target} PROPERTIES LIBRARY_OUTPUT_NAME ${target}-${LIBVER} SOVERSION "0.0.0")
-        set(target_name lib${target}-${LIBVER}.so.0.0.0)
-
-        #custom command to generate symlinks
-        add_custom_command(
-            TARGET ${target}
-            POST_BUILD
-            COMMAND ${CMAKE_COMMAND} -E create_symlink ${target_name} ${CMAKE_CURRENT_BINARY_DIR}/lib${target}.so
-            COMMAND ${CMAKE_COMMAND} -E create_symlink ${target_name} ${CMAKE_CURRENT_BINARY_DIR}/lib${target}-${LIBVER}.so.0
-            COMMAND ${CMAKE_COMMAND} -E touch ${target_name} #so the symlinks point to something valid so cmake 2.6 will install
-        )
-
-        #and install the extra symlinks
-        install(
-            FILES
-            ${CMAKE_CURRENT_BINARY_DIR}/lib${target}.so
-            ${CMAKE_CURRENT_BINARY_DIR}/lib${target}-${LIBVER}.so.0
-            DESTINATION ${GR_LIBRARY_DIR} COMPONENT ${GR_LIBRARY_RUNTIME_COMPONENT}
-        )
-
-    endif(LIBRARY_EXTRAS)
-endfunction(GR_LIBRARY_FOO)
-
-########################################################################
-# Create a dummy custom command that depends on other targets.
-# Usage:
-#   GR_GEN_TARGET_DEPS(unique_name target_deps <target1> <target2> ...)
-#   ADD_CUSTOM_COMMAND(<the usual args> ${target_deps})
-#
-# Custom command cant depend on targets, but can depend on executables,
-# and executables can depend on targets. So this is the process:
-########################################################################
-function(GR_GEN_TARGET_DEPS name var)
-    file(
-        WRITE ${CMAKE_CURRENT_BINARY_DIR}/${name}.cpp.in
-        "int main(void){return 0;}\n"
-    )
-    execute_process(
-        COMMAND ${CMAKE_COMMAND} -E copy_if_different
-        ${CMAKE_CURRENT_BINARY_DIR}/${name}.cpp.in
-        ${CMAKE_CURRENT_BINARY_DIR}/${name}.cpp
-    )
-    add_executable(${name} ${CMAKE_CURRENT_BINARY_DIR}/${name}.cpp)
-    if(ARGN)
-        add_dependencies(${name} ${ARGN})
-    endif(ARGN)
-
-    if(CMAKE_CROSSCOMPILING)
-        set(${var} "DEPENDS;${name}" PARENT_SCOPE) #cant call command when cross
-    else()
-        set(${var} "DEPENDS;${name};COMMAND;${name}" PARENT_SCOPE)
-    endif()
-endfunction(GR_GEN_TARGET_DEPS)
diff --git a/drivers/gr-dbfcttc/cmake/Modules/GrPlatform.cmake b/drivers/gr-dbfcttc/cmake/Modules/GrPlatform.cmake
deleted file mode 100644
index 2c3e5ab..0000000
--- a/drivers/gr-dbfcttc/cmake/Modules/GrPlatform.cmake
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 2011 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio 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 3, or (at your option)
-# any later version.
-#
-# GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-
-if(DEFINED __INCLUDED_GR_PLATFORM_CMAKE)
-    return()
-endif()
-set(__INCLUDED_GR_PLATFORM_CMAKE TRUE)
-
-########################################################################
-# Setup additional defines for OS types
-########################################################################
-if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
-    set(LINUX TRUE)
-endif()
-
-if(NOT CMAKE_CROSSCOMPILING AND LINUX AND EXISTS "/etc/debian_version")
-    set(DEBIAN TRUE)
-endif()
-
-if(NOT CMAKE_CROSSCOMPILING AND LINUX AND EXISTS "/etc/redhat-release")
-    set(REDHAT TRUE)
-endif()
-
-if(NOT CMAKE_CROSSCOMPILING AND LINUX AND EXISTS "/etc/slackware-version")
-    set(SLACKWARE TRUE)
-endif()
-
-########################################################################
-# when the library suffix should be 64 (applies to redhat linux family)
-########################################################################
-if(NOT DEFINED LIB_SUFFIX AND REDHAT AND CMAKE_SYSTEM_PROCESSOR MATCHES "64$")
-    set(LIB_SUFFIX 64)
-endif()
-set(LIB_SUFFIX ${LIB_SUFFIX} CACHE STRING "lib directory suffix")
diff --git a/drivers/gr-dbfcttc/cmake/Modules/GrPython.cmake b/drivers/gr-dbfcttc/cmake/Modules/GrPython.cmake
deleted file mode 100644
index 68ca58e..0000000
--- a/drivers/gr-dbfcttc/cmake/Modules/GrPython.cmake
+++ /dev/null
@@ -1,227 +0,0 @@
-# Copyright 2010-2011 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio 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 3, or (at your option)
-# any later version.
-#
-# GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-
-if(DEFINED __INCLUDED_GR_PYTHON_CMAKE)
-    return()
-endif()
-set(__INCLUDED_GR_PYTHON_CMAKE TRUE)
-
-########################################################################
-# Setup the python interpreter:
-# This allows the user to specify a specific interpreter,
-# or finds the interpreter via the built-in cmake module.
-########################################################################
-#this allows the user to override PYTHON_EXECUTABLE
-if(PYTHON_EXECUTABLE)
-
-    set(PYTHONINTERP_FOUND TRUE)
-
-#otherwise if not set, try to automatically find it
-else(PYTHON_EXECUTABLE)
-
-    #use the built-in find script
-    find_package(PythonInterp 2)
-
-    #and if that fails use the find program routine
-    if(NOT PYTHONINTERP_FOUND)
-        find_program(PYTHON_EXECUTABLE NAMES python python2 python2.7 python2.6 python2.5)
-        if(PYTHON_EXECUTABLE)
-            set(PYTHONINTERP_FOUND TRUE)
-        endif(PYTHON_EXECUTABLE)
-    endif(NOT PYTHONINTERP_FOUND)
-
-endif(PYTHON_EXECUTABLE)
-
-#make the path to the executable appear in the cmake gui
-set(PYTHON_EXECUTABLE ${PYTHON_EXECUTABLE} CACHE FILEPATH "python interpreter")
-
-#make sure we can use -B with python (introduced in 2.6)
-if(PYTHON_EXECUTABLE)
-    execute_process(
-        COMMAND ${PYTHON_EXECUTABLE} -B -c ""
-        OUTPUT_QUIET ERROR_QUIET
-        RESULT_VARIABLE PYTHON_HAS_DASH_B_RESULT
-    )
-    if(PYTHON_HAS_DASH_B_RESULT EQUAL 0)
-        set(PYTHON_DASH_B "-B")
-    endif()
-endif(PYTHON_EXECUTABLE)
-
-########################################################################
-# Check for the existence of a python module:
-# - desc a string description of the check
-# - mod the name of the module to import
-# - cmd an additional command to run
-# - have the result variable to set
-########################################################################
-macro(GR_PYTHON_CHECK_MODULE desc mod cmd have)
-    message(STATUS "")
-    message(STATUS "Python checking for ${desc}")
-    execute_process(
-        COMMAND ${PYTHON_EXECUTABLE} -c "
-#########################################
-try: import ${mod}
-except: exit(-1)
-try: assert ${cmd}
-except: exit(-1)
-#########################################"
-        RESULT_VARIABLE ${have}
-    )
-    if(${have} EQUAL 0)
-        message(STATUS "Python checking for ${desc} - found")
-        set(${have} TRUE)
-    else(${have} EQUAL 0)
-        message(STATUS "Python checking for ${desc} - not found")
-        set(${have} FALSE)
-    endif(${have} EQUAL 0)
-endmacro(GR_PYTHON_CHECK_MODULE)
-
-########################################################################
-# Sets the python installation directory GR_PYTHON_DIR
-########################################################################
-execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "
-from distutils import sysconfig
-print sysconfig.get_python_lib(plat_specific=True, prefix='')
-" OUTPUT_VARIABLE GR_PYTHON_DIR OUTPUT_STRIP_TRAILING_WHITESPACE
-)
-file(TO_CMAKE_PATH ${GR_PYTHON_DIR} GR_PYTHON_DIR)
-
-########################################################################
-# Create an always-built target with a unique name
-# Usage: GR_UNIQUE_TARGET(<description> <dependencies list>)
-########################################################################
-function(GR_UNIQUE_TARGET desc)
-    file(RELATIVE_PATH reldir ${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR})
-    execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import re, hashlib
-unique = hashlib.md5('${reldir}${ARGN}').hexdigest()[:5]
-print(re.sub('\\W', '_', '${desc} ${reldir} ' + unique))"
-    OUTPUT_VARIABLE _target OUTPUT_STRIP_TRAILING_WHITESPACE)
-    add_custom_target(${_target} ALL DEPENDS ${ARGN})
-endfunction(GR_UNIQUE_TARGET)
-
-########################################################################
-# Install python sources (also builds and installs byte-compiled python)
-########################################################################
-function(GR_PYTHON_INSTALL)
-    include(CMakeParseArgumentsCopy)
-    CMAKE_PARSE_ARGUMENTS(GR_PYTHON_INSTALL "" "DESTINATION;COMPONENT" "FILES;PROGRAMS" ${ARGN})
-
-    ####################################################################
-    if(GR_PYTHON_INSTALL_FILES)
-    ####################################################################
-        install(${ARGN}) #installs regular python files
-
-        #create a list of all generated files
-        unset(pysrcfiles)
-        unset(pycfiles)
-        unset(pyofiles)
-        foreach(pyfile ${GR_PYTHON_INSTALL_FILES})
-            get_filename_component(pyfile ${pyfile} ABSOLUTE)
-            list(APPEND pysrcfiles ${pyfile})
-
-            #determine if this file is in the source or binary directory
-            file(RELATIVE_PATH source_rel_path ${CMAKE_CURRENT_SOURCE_DIR} ${pyfile})
-            string(LENGTH "${source_rel_path}" source_rel_path_len)
-            file(RELATIVE_PATH binary_rel_path ${CMAKE_CURRENT_BINARY_DIR} ${pyfile})
-            string(LENGTH "${binary_rel_path}" binary_rel_path_len)
-
-            #and set the generated path appropriately
-            if(${source_rel_path_len} GREATER ${binary_rel_path_len})
-                set(pygenfile ${CMAKE_CURRENT_BINARY_DIR}/${binary_rel_path})
-            else()
-                set(pygenfile ${CMAKE_CURRENT_BINARY_DIR}/${source_rel_path})
-            endif()
-            list(APPEND pycfiles ${pygenfile}c)
-            list(APPEND pyofiles ${pygenfile}o)
-
-            #ensure generation path exists
-            get_filename_component(pygen_path ${pygenfile} PATH)
-            file(MAKE_DIRECTORY ${pygen_path})
-
-        endforeach(pyfile)
-
-        #the command to generate the pyc files
-        add_custom_command(
-            DEPENDS ${pysrcfiles} OUTPUT ${pycfiles}
-            COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_BINARY_DIR}/python_compile_helper.py ${pysrcfiles} ${pycfiles}
-        )
-
-        #the command to generate the pyo files
-        add_custom_command(
-            DEPENDS ${pysrcfiles} OUTPUT ${pyofiles}
-            COMMAND ${PYTHON_EXECUTABLE} -O ${CMAKE_BINARY_DIR}/python_compile_helper.py ${pysrcfiles} ${pyofiles}
-        )
-
-        #create install rule and add generated files to target list
-        set(python_install_gen_targets ${pycfiles} ${pyofiles})
-        install(FILES ${python_install_gen_targets}
-            DESTINATION ${GR_PYTHON_INSTALL_DESTINATION}
-            COMPONENT ${GR_PYTHON_INSTALL_COMPONENT}
-        )
-
-
-    ####################################################################
-    elseif(GR_PYTHON_INSTALL_PROGRAMS)
-    ####################################################################
-        file(TO_NATIVE_PATH ${PYTHON_EXECUTABLE} pyexe_native)
-
-        foreach(pyfile ${GR_PYTHON_INSTALL_PROGRAMS})
-            get_filename_component(pyfile_name ${pyfile} NAME)
-            get_filename_component(pyfile ${pyfile} ABSOLUTE)
-            string(REPLACE "${CMAKE_SOURCE_DIR}" "${CMAKE_BINARY_DIR}" pyexefile "${pyfile}.exe")
-            list(APPEND python_install_gen_targets ${pyexefile})
-
-            get_filename_component(pyexefile_path ${pyexefile} PATH)
-            file(MAKE_DIRECTORY ${pyexefile_path})
-
-            add_custom_command(
-                OUTPUT ${pyexefile} DEPENDS ${pyfile}
-                COMMAND ${PYTHON_EXECUTABLE} -c
-                \"open('${pyexefile}', 'w').write('\#!${pyexe_native}\\n'+open('${pyfile}').read())\"
-                COMMENT "Shebangin ${pyfile_name}"
-            )
-
-            #on windows, python files need an extension to execute
-            get_filename_component(pyfile_ext ${pyfile} EXT)
-            if(WIN32 AND NOT pyfile_ext)
-                set(pyfile_name "${pyfile_name}.py")
-            endif()
-
-            install(PROGRAMS ${pyexefile} RENAME ${pyfile_name}
-                DESTINATION ${GR_PYTHON_INSTALL_DESTINATION}
-                COMPONENT ${GR_PYTHON_INSTALL_COMPONENT}
-            )
-        endforeach(pyfile)
-
-    endif()
-
-    GR_UNIQUE_TARGET("pygen" ${python_install_gen_targets})
-
-endfunction(GR_PYTHON_INSTALL)
-
-########################################################################
-# Write the python helper script that generates byte code files
-########################################################################
-file(WRITE ${CMAKE_BINARY_DIR}/python_compile_helper.py "
-import sys, py_compile
-files = sys.argv[1:]
-srcs, gens = files[:len(files)/2], files[len(files)/2:]
-for src, gen in zip(srcs, gens):
-    py_compile.compile(file=src, cfile=gen, doraise=True)
-")
diff --git a/drivers/gr-dbfcttc/cmake/Modules/GrSwig.cmake b/drivers/gr-dbfcttc/cmake/Modules/GrSwig.cmake
deleted file mode 100644
index 569667b..0000000
--- a/drivers/gr-dbfcttc/cmake/Modules/GrSwig.cmake
+++ /dev/null
@@ -1,229 +0,0 @@
-# Copyright 2010-2011 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio 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 3, or (at your option)
-# any later version.
-#
-# GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-
-if(DEFINED __INCLUDED_GR_SWIG_CMAKE)
-    return()
-endif()
-set(__INCLUDED_GR_SWIG_CMAKE TRUE)
-
-include(GrPython)
-
-########################################################################
-# Builds a swig documentation file to be generated into python docstrings
-# Usage: GR_SWIG_MAKE_DOCS(output_file input_path input_path....)
-#
-# Set the following variable to specify extra dependent targets:
-#   - GR_SWIG_DOCS_SOURCE_DEPS
-#   - GR_SWIG_DOCS_TARGET_DEPS
-########################################################################
-function(GR_SWIG_MAKE_DOCS output_file)
-    find_package(Doxygen)
-    if(DOXYGEN_FOUND)
-
-        #setup the input files variable list, quote formated
-        set(input_files)
-        unset(INPUT_PATHS)
-        foreach(input_path ${ARGN})
-            if (IS_DIRECTORY ${input_path}) #when input path is a directory
-                file(GLOB input_path_h_files ${input_path}/*.h)
-            else() #otherwise its just a file, no glob
-                set(input_path_h_files ${input_path})
-            endif()
-            list(APPEND input_files ${input_path_h_files})
-            set(INPUT_PATHS "${INPUT_PATHS} \"${input_path}\"")
-        endforeach(input_path)
-
-        #determine the output directory
-        get_filename_component(name ${output_file} NAME_WE)
-        get_filename_component(OUTPUT_DIRECTORY ${output_file} PATH)
-        set(OUTPUT_DIRECTORY ${OUTPUT_DIRECTORY}/${name}_swig_docs)
-        make_directory(${OUTPUT_DIRECTORY})
-
-        #generate the Doxyfile used by doxygen
-        configure_file(
-            ${CMAKE_SOURCE_DIR}/docs/doxygen/Doxyfile.swig_doc.in
-            ${OUTPUT_DIRECTORY}/Doxyfile
-        @ONLY)
-
-        #Create a dummy custom command that depends on other targets
-        include(GrMiscUtils)
-        GR_GEN_TARGET_DEPS(_${name}_tag tag_deps ${GR_SWIG_DOCS_TARGET_DEPS})
-
-        #call doxygen on the Doxyfile + input headers
-        add_custom_command(
-            OUTPUT ${OUTPUT_DIRECTORY}/xml/index.xml
-            DEPENDS ${input_files} ${GR_SWIG_DOCS_SOURCE_DEPS} ${tag_deps}
-            COMMAND ${DOXYGEN_EXECUTABLE} ${OUTPUT_DIRECTORY}/Doxyfile
-            COMMENT "Generating doxygen xml for ${name} docs"
-        )
-
-        #call the swig_doc script on the xml files
-        add_custom_command(
-            OUTPUT ${output_file}
-            DEPENDS ${input_files} ${OUTPUT_DIRECTORY}/xml/index.xml
-            COMMAND ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B}
-                ${CMAKE_SOURCE_DIR}/docs/doxygen/swig_doc.py
-                ${OUTPUT_DIRECTORY}/xml
-                ${output_file}
-            WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/docs/doxygen
-        )
-
-    else(DOXYGEN_FOUND)
-        file(WRITE ${output_file} "\n") #no doxygen -> empty file
-    endif(DOXYGEN_FOUND)
-endfunction(GR_SWIG_MAKE_DOCS)
-
-########################################################################
-# Build a swig target for the common gnuradio use case. Usage:
-# GR_SWIG_MAKE(target ifile ifile ifile...)
-#
-# Set the following variables before calling:
-#   - GR_SWIG_FLAGS
-#   - GR_SWIG_INCLUDE_DIRS
-#   - GR_SWIG_LIBRARIES
-#   - GR_SWIG_SOURCE_DEPS
-#   - GR_SWIG_TARGET_DEPS
-#   - GR_SWIG_DOC_FILE
-#   - GR_SWIG_DOC_DIRS
-########################################################################
-macro(GR_SWIG_MAKE name)
-    set(ifiles ${ARGN})
-
-    #do swig doc generation if specified
-    if (GR_SWIG_DOC_FILE)
-        set(GR_SWIG_DOCS_SOURCE_DEPS ${GR_SWIG_SOURCE_DEPS})
-        set(GR_SWIG_DOCS_TAREGT_DEPS ${GR_SWIG_TARGET_DEPS})
-        GR_SWIG_MAKE_DOCS(${GR_SWIG_DOC_FILE} ${GR_SWIG_DOC_DIRS})
-        list(APPEND GR_SWIG_SOURCE_DEPS ${GR_SWIG_DOC_FILE})
-    endif()
-
-    #append additional include directories
-    find_package(PythonLibs 2)
-    list(APPEND GR_SWIG_INCLUDE_DIRS ${PYTHON_INCLUDE_PATH}) #deprecated name (now dirs)
-    list(APPEND GR_SWIG_INCLUDE_DIRS ${PYTHON_INCLUDE_DIRS})
-    list(APPEND GR_SWIG_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR})
-    list(APPEND GR_SWIG_INCLUDE_DIRS ${CMAKE_CURRENT_BINARY_DIR})
-
-    #determine include dependencies for swig file
-    execute_process(
-        COMMAND ${PYTHON_EXECUTABLE}
-            ${CMAKE_BINARY_DIR}/get_swig_deps.py
-            "${ifiles}" "${GR_SWIG_INCLUDE_DIRS}"
-        OUTPUT_STRIP_TRAILING_WHITESPACE
-        OUTPUT_VARIABLE SWIG_MODULE_${name}_EXTRA_DEPS
-        WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
-    )
-
-    #Create a dummy custom command that depends on other targets
-    include(GrMiscUtils)
-    GR_GEN_TARGET_DEPS(_${name}_swig_tag tag_deps ${GR_SWIG_TARGET_DEPS})
-    set(tag_file ${CMAKE_CURRENT_BINARY_DIR}/${name}.tag)
-    add_custom_command(
-        OUTPUT ${tag_file}
-        DEPENDS ${GR_SWIG_SOURCE_DEPS} ${tag_deps}
-        COMMAND ${CMAKE_COMMAND} -E touch ${tag_file}
-    )
-
-    #append the specified include directories
-    include_directories(${GR_SWIG_INCLUDE_DIRS})
-    list(APPEND SWIG_MODULE_${name}_EXTRA_DEPS ${tag_file})
-
-    #setup the swig flags with flags and include directories
-    set(CMAKE_SWIG_FLAGS -fvirtual -modern -keyword -w511 -module ${name} ${GR_SWIG_FLAGS})
-    foreach(dir ${GR_SWIG_INCLUDE_DIRS})
-        list(APPEND CMAKE_SWIG_FLAGS "-I${dir}")
-    endforeach(dir)
-
-    #set the C++ property on the swig .i file so it builds
-    set_source_files_properties(${ifiles} PROPERTIES CPLUSPLUS ON)
-
-    #setup the actual swig library target to be built
-    include(UseSWIG)
-    SWIG_ADD_MODULE(${name} python ${ifiles})
-    SWIG_LINK_LIBRARIES(${name} ${PYTHON_LIBRARIES} ${GR_SWIG_LIBRARIES})
-
-endmacro(GR_SWIG_MAKE)
-
-########################################################################
-# Install swig targets generated by GR_SWIG_MAKE. Usage:
-# GR_SWIG_INSTALL(
-#   TARGETS target target target...
-#   [DESTINATION destination]
-#   [COMPONENT component]
-# )
-########################################################################
-macro(GR_SWIG_INSTALL)
-
-    include(CMakeParseArgumentsCopy)
-    CMAKE_PARSE_ARGUMENTS(GR_SWIG_INSTALL "" "DESTINATION;COMPONENT" "TARGETS" ${ARGN})
-
-    foreach(name ${GR_SWIG_INSTALL_TARGETS})
-        install(TARGETS ${SWIG_MODULE_${name}_REAL_NAME}
-            DESTINATION ${GR_SWIG_INSTALL_DESTINATION}
-            COMPONENT ${GR_SWIG_INSTALL_COMPONENT}
-        )
-
-        include(GrPython)
-        GR_PYTHON_INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${name}.py
-            DESTINATION ${GR_SWIG_INSTALL_DESTINATION}
-            COMPONENT ${GR_SWIG_INSTALL_COMPONENT}
-        )
-
-        GR_LIBTOOL(
-            TARGET ${SWIG_MODULE_${name}_REAL_NAME}
-            DESTINATION ${GR_SWIG_INSTALL_DESTINATION}
-        )
-
-    endforeach(name)
-
-endmacro(GR_SWIG_INSTALL)
-
-########################################################################
-# Generate a python file that can determine swig dependencies.
-# Used by the make macro above to determine extra dependencies.
-# When you build C++, CMake figures out the header dependencies.
-# This code essentially performs that logic for swig includes.
-########################################################################
-file(WRITE ${CMAKE_BINARY_DIR}/get_swig_deps.py "
-
-import os, sys, re
-
-include_matcher = re.compile('[#|%]include\\s*[<|\"](.*)[>|\"]')
-include_dirs = sys.argv[2].split(';')
-
-def get_swig_incs(file_path):
-    file_contents = open(file_path, 'r').read()
-    return include_matcher.findall(file_contents, re.MULTILINE)
-
-def get_swig_deps(file_path, level):
-    deps = [file_path]
-    if level == 0: return deps
-    for inc_file in get_swig_incs(file_path):
-        for inc_dir in include_dirs:
-            inc_path = os.path.join(inc_dir, inc_file)
-            if not os.path.exists(inc_path): continue
-            deps.extend(get_swig_deps(inc_path, level-1))
-    return deps
-
-if __name__ == '__main__':
-    ifiles = sys.argv[1].split(';')
-    deps = sum([get_swig_deps(ifile, 3) for ifile in ifiles], [])
-    #sys.stderr.write(';'.join(set(deps)) + '\\n\\n')
-    print(';'.join(set(deps)))
-")
diff --git a/drivers/gr-dbfcttc/cmake/Modules/GrTest.cmake b/drivers/gr-dbfcttc/cmake/Modules/GrTest.cmake
deleted file mode 100644
index 6174c03..0000000
--- a/drivers/gr-dbfcttc/cmake/Modules/GrTest.cmake
+++ /dev/null
@@ -1,133 +0,0 @@
-# Copyright 2010-2011 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio 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 3, or (at your option)
-# any later version.
-#
-# GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-
-if(DEFINED __INCLUDED_GR_TEST_CMAKE)
-    return()
-endif()
-set(__INCLUDED_GR_TEST_CMAKE TRUE)
-
-########################################################################
-# Add a unit test and setup the environment for a unit test.
-# Takes the same arguments as the ADD_TEST function.
-#
-# Before calling set the following variables:
-# GR_TEST_TARGET_DEPS  - built targets for the library path
-# GR_TEST_LIBRARY_DIRS - directories for the library path
-# GR_TEST_PYTHON_DIRS  - directories for the python path
-########################################################################
-function(GR_ADD_TEST test_name)
-
-    if(WIN32)
-        #Ensure that the build exe also appears in the PATH.
-        list(APPEND GR_TEST_TARGET_DEPS ${ARGN})
-
-        #In the land of windows, all libraries must be in the PATH.
-        #Since the dependent libraries are not yet installed,
-        #we must manually set them in the PATH to run tests.
-        #The following appends the path of a target dependency.
-        foreach(target ${GR_TEST_TARGET_DEPS})
-            get_target_property(location ${target} LOCATION)
-            if(location)
-                get_filename_component(path ${location} PATH)
-                string(REGEX REPLACE "\\$\\(.*\\)" ${CMAKE_BUILD_TYPE} path ${path})
-                list(APPEND GR_TEST_LIBRARY_DIRS ${path})
-            endif(location)
-        endforeach(target)
-
-        #SWIG generates the python library files into a subdirectory.
-        #Therefore, we must append this subdirectory into PYTHONPATH.
-        #Only do this for the python directories matching the following:
-        foreach(pydir ${GR_TEST_PYTHON_DIRS})
-            get_filename_component(name ${pydir} NAME)
-            if(name MATCHES "^(swig|lib|src)$")
-                list(APPEND GR_TEST_PYTHON_DIRS ${pydir}/${CMAKE_BUILD_TYPE})
-            endif()
-        endforeach(pydir)
-    endif(WIN32)
-
-    file(TO_NATIVE_PATH ${CMAKE_CURRENT_SOURCE_DIR} srcdir)
-    file(TO_NATIVE_PATH "${GR_TEST_LIBRARY_DIRS}" libpath) #ok to use on dir list?
-    file(TO_NATIVE_PATH "${GR_TEST_PYTHON_DIRS}" pypath) #ok to use on dir list?
-
-    set(environs "GR_DONT_LOAD_PREFS=1" "srcdir=${srcdir}")
-
-    #http://www.cmake.org/pipermail/cmake/2009-May/029464.html
-    #Replaced this add test + set environs code with the shell script generation.
-    #Its nicer to be able to manually run the shell script to diagnose problems.
-    #ADD_TEST(${ARGV})
-    #SET_TESTS_PROPERTIES(${test_name} PROPERTIES ENVIRONMENT "${environs}")
-
-    if(UNIX)
-        set(binpath "${CMAKE_CURRENT_BINARY_DIR}:$PATH")
-        #set both LD and DYLD paths to cover multiple UNIX OS library paths
-        list(APPEND libpath "$LD_LIBRARY_PATH" "$DYLD_LIBRARY_PATH")
-        list(APPEND pypath "$PYTHONPATH")
-
-        #replace list separator with the path separator
-        string(REPLACE ";" ":" libpath "${libpath}")
-        string(REPLACE ";" ":" pypath "${pypath}")
-        list(APPEND environs "PATH=${binpath}" "LD_LIBRARY_PATH=${libpath}" "DYLD_LIBRARY_PATH=${libpath}" "PYTHONPATH=${pypath}")
-
-        #generate a bat file that sets the environment and runs the test
-        find_program(SHELL sh)
-        set(sh_file ${CMAKE_CURRENT_BINARY_DIR}/${test_name}_test.sh)
-        file(WRITE ${sh_file} "#!${SHELL}\n")
-        #each line sets an environment variable
-        foreach(environ ${environs})
-            file(APPEND ${sh_file} "export ${environ}\n")
-        endforeach(environ)
-        #load the command to run with its arguments
-        foreach(arg ${ARGN})
-            file(APPEND ${sh_file} "${arg} ")
-        endforeach(arg)
-        file(APPEND ${sh_file} "\n")
-
-        #make the shell file executable
-        execute_process(COMMAND chmod +x ${sh_file})
-
-        add_test(${test_name} ${SHELL} ${sh_file})
-
-    endif(UNIX)
-
-    if(WIN32)
-        list(APPEND libpath ${DLL_PATHS} "%PATH%")
-        list(APPEND pypath "%PYTHONPATH%")
-
-        #replace list separator with the path separator (escaped)
-        string(REPLACE ";" "\\;" libpath "${libpath}")
-        string(REPLACE ";" "\\;" pypath "${pypath}")
-        list(APPEND environs "PATH=${libpath}" "PYTHONPATH=${pypath}")
-
-        #generate a bat file that sets the environment and runs the test
-        set(bat_file ${CMAKE_CURRENT_BINARY_DIR}/${test_name}_test.bat)
-        file(WRITE ${bat_file} "@echo off\n")
-        #each line sets an environment variable
-        foreach(environ ${environs})
-            file(APPEND ${bat_file} "SET ${environ}\n")
-        endforeach(environ)
-        #load the command to run with its arguments
-        foreach(arg ${ARGN})
-            file(APPEND ${bat_file} "${arg} ")
-        endforeach(arg)
-        file(APPEND ${bat_file} "\n")
-
-        add_test(${test_name} ${bat_file})
-    endif(WIN32)
-
-endfunction(GR_ADD_TEST)
diff --git a/drivers/gr-dbfcttc/cmake/Modules/dbfcttcConfig.cmake b/drivers/gr-dbfcttc/cmake/Modules/dbfcttcConfig.cmake
deleted file mode 100644
index 86e3cff..0000000
--- a/drivers/gr-dbfcttc/cmake/Modules/dbfcttcConfig.cmake
+++ /dev/null
@@ -1,30 +0,0 @@
-INCLUDE(FindPkgConfig)
-PKG_CHECK_MODULES(PC_DBFCTTC dbfcttc)
-
-FIND_PATH(
-    DBFCTTC_INCLUDE_DIRS
-    NAMES dbfcttc/api.h
-    HINTS $ENV{DBFCTTC_DIR}/include
-        ${PC_DBFCTTC_INCLUDEDIR}
-    PATHS ${CMAKE_INSTALL_PREEFIX}/include
-          /usr/local/include
-          /usr/include
-)
-
-FIND_LIBRARY(
-    DBFCTTC_LIBRARIES
-    NAMES gnuradio-dbfcttc
-    HINTS $ENV{DBFCTTC_DIR}/lib
-        ${PC_DBFCTTC_LIBDIR}
-    PATHS ${CMAKE_INSTALL_PREFIX}/lib
-          ${CMAKE_INSTALL_PREFIX}/lib64
-          /usr/local/lib
-          /usr/local/lib64
-          /usr/lib
-          /usr/lib64
-)
-
-INCLUDE(FindPackageHandleStandardArgs)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(DBFCTTC DEFAULT_MSG DBFCTTC_LIBRARIES DBFCTTC_INCLUDE_DIRS)
-MARK_AS_ADVANCED(DBFCTTC_LIBRARIES DBFCTTC_INCLUDE_DIRS)
-
diff --git a/drivers/gr-dbfcttc/cmake/cmake_uninstall.cmake.in b/drivers/gr-dbfcttc/cmake/cmake_uninstall.cmake.in
deleted file mode 100644
index 9ae1ae4..0000000
--- a/drivers/gr-dbfcttc/cmake/cmake_uninstall.cmake.in
+++ /dev/null
@@ -1,32 +0,0 @@
-# http://www.vtk.org/Wiki/CMake_FAQ#Can_I_do_.22make_uninstall.22_with_CMake.3F
-
-IF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
-  MESSAGE(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"")
-ENDIF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
-
-FILE(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files)
-STRING(REGEX REPLACE "\n" ";" files "${files}")
-FOREACH(file ${files})
-  MESSAGE(STATUS "Uninstalling \"$ENV{DESTDIR}${file}\"")
-  IF(EXISTS "$ENV{DESTDIR}${file}")
-    EXEC_PROGRAM(
-      "@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\""
-      OUTPUT_VARIABLE rm_out
-      RETURN_VALUE rm_retval
-      )
-    IF(NOT "${rm_retval}" STREQUAL 0)
-      MESSAGE(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"")
-    ENDIF(NOT "${rm_retval}" STREQUAL 0)
-  ELSEIF(IS_SYMLINK "$ENV{DESTDIR}${file}")
-    EXEC_PROGRAM(
-      "@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\""
-      OUTPUT_VARIABLE rm_out
-      RETURN_VALUE rm_retval
-      )
-    IF(NOT "${rm_retval}" STREQUAL 0)
-      MESSAGE(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"")
-    ENDIF(NOT "${rm_retval}" STREQUAL 0)
-  ELSE(EXISTS "$ENV{DESTDIR}${file}")
-    MESSAGE(STATUS "File \"$ENV{DESTDIR}${file}\" does not exist.")
-  ENDIF(EXISTS "$ENV{DESTDIR}${file}")
-ENDFOREACH(file)
diff --git a/drivers/gr-dbfcttc/docs/CMakeLists.txt b/drivers/gr-dbfcttc/docs/CMakeLists.txt
deleted file mode 100644
index f16fbf6..0000000
--- a/drivers/gr-dbfcttc/docs/CMakeLists.txt
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2011 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio 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 3, or (at your option)
-# any later version.
-#
-# GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-
-########################################################################
-# Setup dependencies
-########################################################################
-find_package(Doxygen)
-
-########################################################################
-# Begin conditional configuration
-########################################################################
-if(ENABLE_DOXYGEN)
-
-########################################################################
-# Add subdirectories
-########################################################################
-add_subdirectory(doxygen)
-
-endif(ENABLE_DOXYGEN)
diff --git a/drivers/gr-dbfcttc/docs/README.dbfcttc b/drivers/gr-dbfcttc/docs/README.dbfcttc
deleted file mode 100644
index 8ac2e8a..0000000
--- a/drivers/gr-dbfcttc/docs/README.dbfcttc
+++ /dev/null
@@ -1,11 +0,0 @@
-This is the dbfcttc-write-a-block package meant as a guide to building
-out-of-tree packages. To use the dbfcttc blocks, the Python namespaces
-is in 'dbfcttc', which is imported as:
-
-    import dbfcttc
-
-See the Doxygen documentation for details about the blocks available
-in this package. A quick listing of the details can be found in Python
-after importing by using: 
-
-    help(dbfcttc)
diff --git a/drivers/gr-dbfcttc/docs/doxygen/CMakeLists.txt b/drivers/gr-dbfcttc/docs/doxygen/CMakeLists.txt
deleted file mode 100644
index 1b44799..0000000
--- a/drivers/gr-dbfcttc/docs/doxygen/CMakeLists.txt
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 2011 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio 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 3, or (at your option)
-# any later version.
-#
-# GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-
-########################################################################
-# Create the doxygen configuration file
-########################################################################
-file(TO_NATIVE_PATH ${CMAKE_SOURCE_DIR} top_srcdir)
-file(TO_NATIVE_PATH ${CMAKE_BINARY_DIR} top_builddir)
-file(TO_NATIVE_PATH ${CMAKE_SOURCE_DIR} abs_top_srcdir)
-file(TO_NATIVE_PATH ${CMAKE_BINARY_DIR} abs_top_builddir)
-
-set(HAVE_DOT ${DOXYGEN_DOT_FOUND})
-set(enable_html_docs YES)
-set(enable_latex_docs NO)
-set(enable_xml_docs YES)
-
-configure_file(
-    ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in
-    ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
- at ONLY)
-
-set(BUILT_DIRS ${CMAKE_CURRENT_BINARY_DIR}/xml ${CMAKE_CURRENT_BINARY_DIR}/html)
-
-########################################################################
-# Make and install doxygen docs
-########################################################################
-add_custom_command(
-    OUTPUT ${BUILT_DIRS}
-    COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
-    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
-    COMMENT "Generating documentation with doxygen"
-)
-
-add_custom_target(doxygen_target ALL DEPENDS ${BUILT_DIRS})
-
-install(DIRECTORY ${BUILT_DIRS} DESTINATION ${GR_PKG_DOC_DIR})
diff --git a/drivers/gr-dbfcttc/docs/doxygen/Doxyfile.in b/drivers/gr-dbfcttc/docs/doxygen/Doxyfile.in
deleted file mode 100644
index 970dbb0..0000000
--- a/drivers/gr-dbfcttc/docs/doxygen/Doxyfile.in
+++ /dev/null
@@ -1,1504 +0,0 @@
-# Doxyfile 1.5.7.1
-
-# This file describes the settings to be used by the documentation system
-# doxygen (www.doxygen.org) for a project
-#
-# All text after a hash (#) is considered a comment and will be ignored
-# The format is:
-#       TAG = value [value, ...]
-# For lists items can also be appended using:
-#       TAG += value [value, ...]
-# Values that contain spaces should be placed between quotes (" ")
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-
-# This tag specifies the encoding used for all characters in the config file
-# that follow. The default is UTF-8 which is also the encoding used for all
-# text before the first occurrence of this tag. Doxygen uses libiconv (or the
-# iconv built into libc) for the transcoding. See
-# http://www.gnu.org/software/libiconv for the list of possible encodings.
-
-DOXYFILE_ENCODING      = UTF-8
-
-# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
-# by quotes) that should identify the project.
-
-PROJECT_NAME           = "GNU Radio's DBFCTTC Package"
-
-# The PROJECT_NUMBER tag can be used to enter a project or revision number.
-# This could be handy for archiving the generated documentation or
-# if some version control system is used.
-
-PROJECT_NUMBER         =
-
-# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
-# base path where the generated documentation will be put.
-# If a relative path is entered, it will be relative to the location
-# where doxygen was started. If left blank the current directory will be used.
-
-OUTPUT_DIRECTORY       =
-
-# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
-# 4096 sub-directories (in 2 levels) under the output directory of each output
-# format and will distribute the generated files over these directories.
-# Enabling this option can be useful when feeding doxygen a huge amount of
-# source files, where putting all generated files in the same directory would
-# otherwise cause performance problems for the file system.
-
-CREATE_SUBDIRS         = NO
-
-# The OUTPUT_LANGUAGE tag is used to specify the language in which all
-# documentation generated by doxygen is written. Doxygen will use this
-# information to generate all constant output in the proper language.
-# The default language is English, other supported languages are:
-# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
-# Croatian, Czech, Danish, Dutch, Farsi, Finnish, French, German, Greek,
-# Hungarian, Italian, Japanese, Japanese-en (Japanese with English messages),
-# Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, Polish,
-# Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, Slovene,
-# Spanish, Swedish, and Ukrainian.
-
-OUTPUT_LANGUAGE        = English
-
-# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
-# include brief member descriptions after the members that are listed in
-# the file and class documentation (similar to JavaDoc).
-# Set to NO to disable this.
-
-BRIEF_MEMBER_DESC      = YES
-
-# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
-# the brief description of a member or function before the detailed description.
-# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
-# brief descriptions will be completely suppressed.
-
-REPEAT_BRIEF           = YES
-
-# This tag implements a quasi-intelligent brief description abbreviator
-# that is used to form the text in various listings. Each string
-# in this list, if found as the leading text of the brief description, will be
-# stripped from the text and the result after processing the whole list, is
-# used as the annotated text. Otherwise, the brief description is used as-is.
-# If left blank, the following values are used ("$name" is automatically
-# replaced with the name of the entity): "The $name class" "The $name widget"
-# "The $name file" "is" "provides" "specifies" "contains"
-# "represents" "a" "an" "the"
-
-ABBREVIATE_BRIEF       =
-
-# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
-# Doxygen will generate a detailed section even if there is only a brief
-# description.
-
-ALWAYS_DETAILED_SEC    = YES
-
-# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
-# inherited members of a class in the documentation of that class as if those
-# members were ordinary class members. Constructors, destructors and assignment
-# operators of the base classes will not be shown.
-
-INLINE_INHERITED_MEMB  = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
-# path before files name in the file list and in the header files. If set
-# to NO the shortest path that makes the file name unique will be used.
-
-FULL_PATH_NAMES        = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
-# can be used to strip a user-defined part of the path. Stripping is
-# only done if one of the specified strings matches the left-hand part of
-# the path. The tag can be used to show relative paths in the file list.
-# If left blank the directory from which doxygen is run is used as the
-# path to strip.
-
-STRIP_FROM_PATH        =
-
-# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
-# the path mentioned in the documentation of a class, which tells
-# the reader which header file to include in order to use a class.
-# If left blank only the name of the header file containing the class
-# definition is used. Otherwise one should specify the include paths that
-# are normally passed to the compiler using the -I flag.
-
-STRIP_FROM_INC_PATH    =
-
-# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
-# (but less readable) file names. This can be useful is your file systems
-# doesn't support long names like on DOS, Mac, or CD-ROM.
-
-SHORT_NAMES            = NO
-
-# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
-# will interpret the first line (until the first dot) of a JavaDoc-style
-# comment as the brief description. If set to NO, the JavaDoc
-# comments will behave just like regular Qt-style comments
-# (thus requiring an explicit @brief command for a brief description.)
-
-JAVADOC_AUTOBRIEF      = NO
-
-# If the QT_AUTOBRIEF tag is set to YES then Doxygen will
-# interpret the first line (until the first dot) of a Qt-style
-# comment as the brief description. If set to NO, the comments
-# will behave just like regular Qt-style comments (thus requiring
-# an explicit \brief command for a brief description.)
-
-QT_AUTOBRIEF           = NO
-
-# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
-# treat a multi-line C++ special comment block (i.e. a block of //! or ///
-# comments) as a brief description. This used to be the default behaviour.
-# The new default is to treat a multi-line C++ comment block as a detailed
-# description. Set this tag to YES if you prefer the old behaviour instead.
-
-MULTILINE_CPP_IS_BRIEF = YES
-
-# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
-# member inherits the documentation from any documented member that it
-# re-implements.
-
-INHERIT_DOCS           = YES
-
-# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
-# a new page for each member. If set to NO, the documentation of a member will
-# be part of the file/class/namespace that contains it.
-
-SEPARATE_MEMBER_PAGES  = NO
-
-# The TAB_SIZE tag can be used to set the number of spaces in a tab.
-# Doxygen uses this value to replace tabs by spaces in code fragments.
-
-TAB_SIZE               = 8
-
-# This tag can be used to specify a number of aliases that acts
-# as commands in the documentation. An alias has the form "name=value".
-# For example adding "sideeffect=\par Side Effects:\n" will allow you to
-# put the command \sideeffect (or @sideeffect) in the documentation, which
-# will result in a user-defined paragraph with heading "Side Effects:".
-# You can put \n's in the value part of an alias to insert newlines.
-
-ALIASES                =
-
-# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
-# sources only. Doxygen will then generate output that is more tailored for C.
-# For instance, some of the names that are used will be different. The list
-# of all members will be omitted, etc.
-
-OPTIMIZE_OUTPUT_FOR_C  = NO
-
-# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
-# sources only. Doxygen will then generate output that is more tailored for
-# Java. For instance, namespaces will be presented as packages, qualified
-# scopes will look different, etc.
-
-OPTIMIZE_OUTPUT_JAVA   = NO
-
-# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
-# sources only. Doxygen will then generate output that is more tailored for
-# Fortran.
-
-OPTIMIZE_FOR_FORTRAN   = NO
-
-# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
-# sources. Doxygen will then generate output that is tailored for
-# VHDL.
-
-OPTIMIZE_OUTPUT_VHDL   = NO
-
-# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
-# to include (a tag file for) the STL sources as input, then you should
-# set this tag to YES in order to let doxygen match functions declarations and
-# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
-# func(std::string) {}). This also make the inheritance and collaboration
-# diagrams that involve STL classes more complete and accurate.
-
-BUILTIN_STL_SUPPORT    = YES
-
-# If you use Microsoft's C++/CLI language, you should set this option to YES to
-# enable parsing support.
-
-CPP_CLI_SUPPORT        = NO
-
-# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only.
-# Doxygen will parse them like normal C++ but will assume all classes use public
-# instead of private inheritance when no explicit protection keyword is present.
-
-SIP_SUPPORT            = NO
-
-# For Microsoft's IDL there are propget and propput attributes to indicate getter
-# and setter methods for a property. Setting this option to YES (the default)
-# will make doxygen to replace the get and set methods by a property in the
-# documentation. This will only work if the methods are indeed getting or
-# setting a simple type. If this is not the case, or you want to show the
-# methods anyway, you should set this option to NO.
-
-IDL_PROPERTY_SUPPORT   = YES
-
-# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
-# tag is set to YES, then doxygen will reuse the documentation of the first
-# member in the group (if any) for the other members of the group. By default
-# all members of a group must be documented explicitly.
-
-DISTRIBUTE_GROUP_DOC   = NO
-
-# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
-# the same type (for instance a group of public functions) to be put as a
-# subgroup of that type (e.g. under the Public Functions section). Set it to
-# NO to prevent subgrouping. Alternatively, this can be done per class using
-# the \nosubgrouping command.
-
-SUBGROUPING            = YES
-
-# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
-# is documented as struct, union, or enum with the name of the typedef. So
-# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
-# with name TypeT. When disabled the typedef will appear as a member of a file,
-# namespace, or class. And the struct will be named TypeS. This can typically
-# be useful for C code in case the coding convention dictates that all compound
-# types are typedef'ed and only the typedef is referenced, never the tag name.
-
-TYPEDEF_HIDES_STRUCT   = NO
-
-# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to
-# determine which symbols to keep in memory and which to flush to disk.
-# When the cache is full, less often used symbols will be written to disk.
-# For small to medium size projects (<1000 input files) the default value is
-# probably good enough. For larger projects a too small cache size can cause
-# doxygen to be busy swapping symbols to and from disk most of the time
-# causing a significant performance penality.
-# If the system has enough physical memory increasing the cache will improve the
-# performance by keeping more symbols in memory. Note that the value works on
-# a logarithmic scale so increasing the size by one will rougly double the
-# memory usage. The cache size is given by this formula:
-# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
-# corresponding to a cache size of 2^16 = 65536 symbols
-
-SYMBOL_CACHE_SIZE      = 4
-
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-
-# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
-# documentation are documented, even if no documentation was available.
-# Private class members and static file members will be hidden unless
-# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
-
-EXTRACT_ALL            = YES
-
-# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
-# will be included in the documentation.
-
-EXTRACT_PRIVATE        = NO
-
-# If the EXTRACT_STATIC tag is set to YES all static members of a file
-# will be included in the documentation.
-
-EXTRACT_STATIC         = YES
-
-# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
-# defined locally in source files will be included in the documentation.
-# If set to NO only classes defined in header files are included.
-
-EXTRACT_LOCAL_CLASSES  = YES
-
-# This flag is only useful for Objective-C code. When set to YES local
-# methods, which are defined in the implementation section but not in
-# the interface are included in the documentation.
-# If set to NO (the default) only methods in the interface are included.
-
-EXTRACT_LOCAL_METHODS  = NO
-
-# If this flag is set to YES, the members of anonymous namespaces will be
-# extracted and appear in the documentation as a namespace called
-# 'anonymous_namespace{file}', where file will be replaced with the base
-# name of the file that contains the anonymous namespace. By default
-# anonymous namespace are hidden.
-
-EXTRACT_ANON_NSPACES   = NO
-
-# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
-# undocumented members of documented classes, files or namespaces.
-# If set to NO (the default) these members will be included in the
-# various overviews, but no documentation section is generated.
-# This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_MEMBERS     = NO
-
-# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
-# undocumented classes that are normally visible in the class hierarchy.
-# If set to NO (the default) these classes will be included in the various
-# overviews. This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_CLASSES     = NO
-
-# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
-# friend (class|struct|union) declarations.
-# If set to NO (the default) these declarations will be included in the
-# documentation.
-
-HIDE_FRIEND_COMPOUNDS  = NO
-
-# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
-# documentation blocks found inside the body of a function.
-# If set to NO (the default) these blocks will be appended to the
-# function's detailed documentation block.
-
-HIDE_IN_BODY_DOCS      = NO
-
-# The INTERNAL_DOCS tag determines if documentation
-# that is typed after a \internal command is included. If the tag is set
-# to NO (the default) then the documentation will be excluded.
-# Set it to YES to include the internal documentation.
-
-INTERNAL_DOCS          = NO
-
-# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
-# file names in lower-case letters. If set to YES upper-case letters are also
-# allowed. This is useful if you have classes or files whose names only differ
-# in case and if your file system supports case sensitive file names. Windows
-# and Mac users are advised to set this option to NO.
-
-CASE_SENSE_NAMES       = YES
-
-# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
-# will show members with their full class and namespace scopes in the
-# documentation. If set to YES the scope will be hidden.
-
-HIDE_SCOPE_NAMES       = NO
-
-# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
-# will put a list of the files that are included by a file in the documentation
-# of that file.
-
-SHOW_INCLUDE_FILES     = YES
-
-# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
-# is inserted in the documentation for inline members.
-
-INLINE_INFO            = YES
-
-# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
-# will sort the (detailed) documentation of file and class members
-# alphabetically by member name. If set to NO the members will appear in
-# declaration order.
-
-SORT_MEMBER_DOCS       = YES
-
-# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
-# brief documentation of file, namespace and class members alphabetically
-# by member name. If set to NO (the default) the members will appear in
-# declaration order.
-
-SORT_BRIEF_DOCS        = NO
-
-# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the
-# hierarchy of group names into alphabetical order. If set to NO (the default)
-# the group names will appear in their defined order.
-
-SORT_GROUP_NAMES       = NO
-
-# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
-# sorted by fully-qualified names, including namespaces. If set to
-# NO (the default), the class list will be sorted only by class name,
-# not including the namespace part.
-# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
-# Note: This option applies only to the class list, not to the
-# alphabetical list.
-
-SORT_BY_SCOPE_NAME     = NO
-
-# The GENERATE_TODOLIST tag can be used to enable (YES) or
-# disable (NO) the todo list. This list is created by putting \todo
-# commands in the documentation.
-
-GENERATE_TODOLIST      = NO
-
-# The GENERATE_TESTLIST tag can be used to enable (YES) or
-# disable (NO) the test list. This list is created by putting \test
-# commands in the documentation.
-
-GENERATE_TESTLIST      = NO
-
-# The GENERATE_BUGLIST tag can be used to enable (YES) or
-# disable (NO) the bug list. This list is created by putting \bug
-# commands in the documentation.
-
-GENERATE_BUGLIST       = NO
-
-# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
-# disable (NO) the deprecated list. This list is created by putting
-# \deprecated commands in the documentation.
-
-GENERATE_DEPRECATEDLIST= NO
-
-# The ENABLED_SECTIONS tag can be used to enable conditional
-# documentation sections, marked by \if sectionname ... \endif.
-
-ENABLED_SECTIONS       =
-
-# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
-# the initial value of a variable or define consists of for it to appear in
-# the documentation. If the initializer consists of more lines than specified
-# here it will be hidden. Use a value of 0 to hide initializers completely.
-# The appearance of the initializer of individual variables and defines in the
-# documentation can be controlled using \showinitializer or \hideinitializer
-# command in the documentation regardless of this setting.
-
-MAX_INITIALIZER_LINES  = 30
-
-# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
-# at the bottom of the documentation of classes and structs. If set to YES the
-# list will mention the files that were used to generate the documentation.
-
-SHOW_USED_FILES        = YES
-
-# If the sources in your project are distributed over multiple directories
-# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
-# in the documentation. The default is NO.
-
-SHOW_DIRECTORIES       = NO
-
-# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
-# This will remove the Files entry from the Quick Index and from the
-# Folder Tree View (if specified). The default is YES.
-
-SHOW_FILES             = YES
-
-# Set the SHOW_NAMESPACES tag to NO to disable the generation of the
-# Namespaces page.  This will remove the Namespaces entry from the Quick Index
-# and from the Folder Tree View (if specified). The default is YES.
-
-SHOW_NAMESPACES        = NO
-
-# The FILE_VERSION_FILTER tag can be used to specify a program or script that
-# doxygen should invoke to get the current version for each file (typically from
-# the version control system). Doxygen will invoke the program by executing (via
-# popen()) the command <command> <input-file>, where <command> is the value of
-# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file
-# provided by doxygen. Whatever the program writes to standard output
-# is used as the file version. See the manual for examples.
-
-FILE_VERSION_FILTER    =
-
-# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by
-# doxygen. The layout file controls the global structure of the generated output files
-# in an output format independent way. The create the layout file that represents
-# doxygen's defaults, run doxygen with the -l option. You can optionally specify a
-# file name after the option, if omitted DoxygenLayout.xml will be used as the name
-# of the layout file.
-
-LAYOUT_FILE            =
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-# The QUIET tag can be used to turn on/off the messages that are generated
-# by doxygen. Possible values are YES and NO. If left blank NO is used.
-
-QUIET                  = YES
-
-# The WARNINGS tag can be used to turn on/off the warning messages that are
-# generated by doxygen. Possible values are YES and NO. If left blank
-# NO is used.
-
-WARNINGS               = YES
-
-# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
-# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
-# automatically be disabled.
-
-WARN_IF_UNDOCUMENTED   = YES
-
-# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
-# potential errors in the documentation, such as not documenting some
-# parameters in a documented function, or documenting parameters that
-# don't exist or using markup commands wrongly.
-
-WARN_IF_DOC_ERROR      = YES
-
-# This WARN_NO_PARAMDOC option can be abled to get warnings for
-# functions that are documented, but have no documentation for their parameters
-# or return value. If set to NO (the default) doxygen will only warn about
-# wrong or incomplete parameter documentation, but not about the absence of
-# documentation.
-
-WARN_NO_PARAMDOC       = NO
-
-# The WARN_FORMAT tag determines the format of the warning messages that
-# doxygen can produce. The string should contain the $file, $line, and $text
-# tags, which will be replaced by the file and line number from which the
-# warning originated and the warning text. Optionally the format may contain
-# $version, which will be replaced by the version of the file (if it could
-# be obtained via FILE_VERSION_FILTER)
-
-WARN_FORMAT            = "$file:$line: $text  "
-
-# The WARN_LOGFILE tag can be used to specify a file to which warning
-# and error messages should be written. If left blank the output is written
-# to stderr.
-
-WARN_LOGFILE           =
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-# The INPUT tag can be used to specify the files and/or directories that contain
-# documented source files. You may enter file names like "myfile.cpp" or
-# directories like "/usr/src/myproject". Separate the files or directories
-# with spaces.
-
-INPUT                  = @top_srcdir@ @top_builddir@
-
-# This tag can be used to specify the character encoding of the source files
-# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
-# also the default input encoding. Doxygen uses libiconv (or the iconv built
-# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for
-# the list of possible encodings.
-
-INPUT_ENCODING         = UTF-8
-
-# If the value of the INPUT tag contains directories, you can use the
-# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank the following patterns are tested:
-# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx
-# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90
-
-FILE_PATTERNS          = *.h \
-                         *.dox
-
-# The RECURSIVE tag can be used to turn specify whether or not subdirectories
-# should be searched for input files as well. Possible values are YES and NO.
-# If left blank NO is used.
-
-RECURSIVE              = YES
-
-# The EXCLUDE tag can be used to specify files and/or directories that should
-# excluded from the INPUT source files. This way you can easily exclude a
-# subdirectory from a directory tree whose root is specified with the INPUT tag.
-
-EXCLUDE                = @abs_top_builddir@/docs/doxygen/html \
-		         @abs_top_builddir@/docs/doxygen/xml \
-                         @abs_top_builddir@/docs/doxygen/other/doxypy.py \
-			 @abs_top_builddir@/_CPack_Packages \
-                         @abs_top_srcdir@/cmake
-
-# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
-# directories that are symbolic links (a Unix filesystem feature) are excluded
-# from the input.
-
-EXCLUDE_SYMLINKS       = NO
-
-# If the value of the INPUT tag contains directories, you can use the
-# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
-# certain files from those directories. Note that the wildcards are matched
-# against the file with absolute path, so to exclude all test directories
-# for example use the pattern */test/*
-
-EXCLUDE_PATTERNS       = */.deps/* \
-                         */.libs/* \
-                         */.svn/* \
-                         */CVS/* \
-                         */__init__.py \
-                         */qa_*.cc \
-                         */qa_*.h \
-                         */qa_*.py
-
-# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
-# (namespaces, classes, functions, etc.) that should be excluded from the
-# output. The symbol name can be a fully qualified name, a word, or if the
-# wildcard * is used, a substring. Examples: ANamespace, AClass,
-# AClass::ANamespace, ANamespace::*Test
-
-EXCLUDE_SYMBOLS        = ad9862 \
-                         numpy \
-                         *swig* \
-                         *Swig* \
-                         *my_top_block* \
-                         *my_graph* \
-                         *app_top_block* \
-                         *am_rx_graph* \
-                         *_queue_watcher_thread* \
-                         *parse* \
-                         *MyFrame* \
-                         *MyApp* \
-                         *PyObject* \
-                         *wfm_rx_block* \
-                         *_sptr* \
-                         *debug* \
-                         *wfm_rx_sca_block* \
-                         *tv_rx_block* \
-                         *wxapt_rx_block* \
-                         *example_signal*
-
-# The EXAMPLE_PATH tag can be used to specify one or more files or
-# directories that contain example code fragments that are included (see
-# the \include command).
-
-EXAMPLE_PATH           =
-
-# If the value of the EXAMPLE_PATH tag contains directories, you can use the
-# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank all files are included.
-
-EXAMPLE_PATTERNS       =
-
-# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
-# searched for input files to be used with the \include or \dontinclude
-# commands irrespective of the value of the RECURSIVE tag.
-# Possible values are YES and NO. If left blank NO is used.
-
-EXAMPLE_RECURSIVE      = NO
-
-# The IMAGE_PATH tag can be used to specify one or more files or
-# directories that contain image that are included in the documentation (see
-# the \image command).
-
-IMAGE_PATH             =
-
-# The INPUT_FILTER tag can be used to specify a program that doxygen should
-# invoke to filter for each input file. Doxygen will invoke the filter program
-# by executing (via popen()) the command <filter> <input-file>, where <filter>
-# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
-# input file. Doxygen will then use the output that the filter program writes
-# to standard output.  If FILTER_PATTERNS is specified, this tag will be
-# ignored.
-
-INPUT_FILTER           =
-
-# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
-# basis.  Doxygen will compare the file name with each pattern and apply the
-# filter if there is a match.  The filters are a list of the form:
-# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
-# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER
-# is applied to all files.
-
-FILTER_PATTERNS        = *.py=@top_srcdir@/doc/doxygen/other/doxypy.py
-
-# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
-# INPUT_FILTER) will be used to filter the input files when producing source
-# files to browse (i.e. when SOURCE_BROWSER is set to YES).
-
-FILTER_SOURCE_FILES    = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-
-# If the SOURCE_BROWSER tag is set to YES then a list of source files will
-# be generated. Documented entities will be cross-referenced with these sources.
-# Note: To get rid of all source code in the generated output, make sure also
-# VERBATIM_HEADERS is set to NO.
-
-SOURCE_BROWSER         = NO
-
-# Setting the INLINE_SOURCES tag to YES will include the body
-# of functions and classes directly in the documentation.
-
-INLINE_SOURCES         = NO
-
-# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
-# doxygen to hide any special comment blocks from generated source code
-# fragments. Normal C and C++ comments will always remain visible.
-
-STRIP_CODE_COMMENTS    = NO
-
-# If the REFERENCED_BY_RELATION tag is set to YES
-# then for each documented function all documented
-# functions referencing it will be listed.
-
-REFERENCED_BY_RELATION = YES
-
-# If the REFERENCES_RELATION tag is set to YES
-# then for each documented function all documented entities
-# called/used by that function will be listed.
-
-REFERENCES_RELATION    = YES
-
-# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
-# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
-# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
-# link to the source code.  Otherwise they will link to the documentstion.
-
-REFERENCES_LINK_SOURCE = YES
-
-# If the USE_HTAGS tag is set to YES then the references to source code
-# will point to the HTML generated by the htags(1) tool instead of doxygen
-# built-in source browser. The htags tool is part of GNU's global source
-# tagging system (see http://www.gnu.org/software/global/global.html). You
-# will need version 4.8.6 or higher.
-
-USE_HTAGS              = NO
-
-# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
-# will generate a verbatim copy of the header file for each class for
-# which an include is specified. Set to NO to disable this.
-
-VERBATIM_HEADERS       = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
-# of all compounds will be generated. Enable this if the project
-# contains a lot of classes, structs, unions or interfaces.
-
-ALPHABETICAL_INDEX     = YES
-
-# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
-# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
-# in which this list will be split (can be a number in the range [1..20])
-
-COLS_IN_ALPHA_INDEX    = 5
-
-# In case all classes in a project start with a common prefix, all
-# classes will be put under the same header in the alphabetical index.
-# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
-# should be ignored while generating the index headers.
-
-IGNORE_PREFIX          =
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
-# generate HTML output.
-
-GENERATE_HTML          = @enable_html_docs@
-
-# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `html' will be used as the default path.
-
-HTML_OUTPUT            = html
-
-# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
-# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
-# doxygen will generate files with .html extension.
-
-HTML_FILE_EXTENSION    = .html
-
-# The HTML_HEADER tag can be used to specify a personal HTML header for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard header.
-
-HTML_HEADER            =
-
-# The HTML_FOOTER tag can be used to specify a personal HTML footer for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard footer.
-
-HTML_FOOTER            =
-
-# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
-# style sheet that is used by each HTML page. It can be used to
-# fine-tune the look of the HTML output. If the tag is left blank doxygen
-# will generate a default style sheet. Note that doxygen will try to copy
-# the style sheet file to the HTML output directory, so don't put your own
-# stylesheet in the HTML output directory as well, or it will be erased!
-
-HTML_STYLESHEET        =
-
-# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
-# files or namespaces will be aligned in HTML using tables. If set to
-# NO a bullet list will be used.
-
-HTML_ALIGN_MEMBERS     = YES
-
-# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
-# documentation will contain sections that can be hidden and shown after the
-# page has loaded. For this to work a browser that supports
-# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
-# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
-
-HTML_DYNAMIC_SECTIONS  = NO
-
-# If the GENERATE_DOCSET tag is set to YES, additional index files
-# will be generated that can be used as input for Apple's Xcode 3
-# integrated development environment, introduced with OSX 10.5 (Leopard).
-# To create a documentation set, doxygen will generate a Makefile in the
-# HTML output directory. Running make will produce the docset in that
-# directory and running "make install" will install the docset in
-# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find
-# it at startup.
-# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information.
-
-GENERATE_DOCSET        = NO
-
-# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the
-# feed. A documentation feed provides an umbrella under which multiple
-# documentation sets from a single provider (such as a company or product suite)
-# can be grouped.
-
-DOCSET_FEEDNAME        = "Doxygen generated docs"
-
-# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that
-# should uniquely identify the documentation set bundle. This should be a
-# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen
-# will append .docset to the name.
-
-DOCSET_BUNDLE_ID       = org.doxygen.Project
-
-# If the GENERATE_HTMLHELP tag is set to YES, additional index files
-# will be generated that can be used as input for tools like the
-# Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
-# of the generated HTML documentation.
-
-GENERATE_HTMLHELP      = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
-# be used to specify the file name of the resulting .chm file. You
-# can add a path in front of the file if the result should not be
-# written to the html output directory.
-
-CHM_FILE               =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
-# be used to specify the location (absolute path including file name) of
-# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
-# the HTML help compiler on the generated index.hhp.
-
-HHC_LOCATION           =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
-# controls if a separate .chi index file is generated (YES) or that
-# it should be included in the master .chm file (NO).
-
-GENERATE_CHI           = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING
-# is used to encode HtmlHelp index (hhk), content (hhc) and project file
-# content.
-
-CHM_INDEX_ENCODING     =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
-# controls whether a binary table of contents is generated (YES) or a
-# normal table of contents (NO) in the .chm file.
-
-BINARY_TOC             = NO
-
-# The TOC_EXPAND flag can be set to YES to add extra items for group members
-# to the contents of the HTML help documentation and to the tree view.
-
-TOC_EXPAND             = YES
-
-# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER
-# are set, an additional index file will be generated that can be used as input for
-# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated
-# HTML documentation.
-
-GENERATE_QHP           = NO
-
-# If the QHG_LOCATION tag is specified, the QCH_FILE tag can
-# be used to specify the file name of the resulting .qch file.
-# The path specified is relative to the HTML output folder.
-
-QCH_FILE               =
-
-# The QHP_NAMESPACE tag specifies the namespace to use when generating
-# Qt Help Project output. For more information please see
-# <a href="http://doc.trolltech.com/qthelpproject.html#namespace">Qt Help Project / Namespace</a>.
-
-QHP_NAMESPACE          = org.doxygen.Project
-
-# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating
-# Qt Help Project output. For more information please see
-# <a href="http://doc.trolltech.com/qthelpproject.html#virtual-folders">Qt Help Project / Virtual Folders</a>.
-
-QHP_VIRTUAL_FOLDER     = doc
-
-# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can
-# be used to specify the location of Qt's qhelpgenerator.
-# If non-empty doxygen will try to run qhelpgenerator on the generated
-# .qhp file .
-
-QHG_LOCATION           =
-
-# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
-# top of each HTML page. The value NO (the default) enables the index and
-# the value YES disables it.
-
-DISABLE_INDEX          = YES
-
-# This tag can be used to set the number of enum values (range [1..20])
-# that doxygen will group on one line in the generated HTML documentation.
-
-ENUM_VALUES_PER_LINE   = 4
-
-# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
-# structure should be generated to display hierarchical information.
-# If the tag value is set to FRAME, a side panel will be generated
-# containing a tree-like index structure (just like the one that
-# is generated for HTML Help). For this to work a browser that supports
-# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+,
-# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are
-# probably better off using the HTML help feature. Other possible values
-# for this tag are: HIERARCHIES, which will generate the Groups, Directories,
-# and Class Hierarchy pages using a tree view instead of an ordered list;
-# ALL, which combines the behavior of FRAME and HIERARCHIES; and NONE, which
-# disables this behavior completely. For backwards compatibility with previous
-# releases of Doxygen, the values YES and NO are equivalent to FRAME and NONE
-# respectively.
-
-GENERATE_TREEVIEW      = YES
-
-# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
-# used to set the initial width (in pixels) of the frame in which the tree
-# is shown.
-
-TREEVIEW_WIDTH         = 180
-
-# Use this tag to change the font size of Latex formulas included
-# as images in the HTML documentation. The default is 10. Note that
-# when you change the font size after a successful doxygen run you need
-# to manually remove any form_*.png images from the HTML output directory
-# to force them to be regenerated.
-
-FORMULA_FONTSIZE       = 10
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
-# generate Latex output.
-
-GENERATE_LATEX         = @enable_latex_docs@
-
-# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `latex' will be used as the default path.
-
-LATEX_OUTPUT           = latex
-
-# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
-# invoked. If left blank `latex' will be used as the default command name.
-
-LATEX_CMD_NAME         = latex
-
-# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
-# generate index for LaTeX. If left blank `makeindex' will be used as the
-# default command name.
-
-MAKEINDEX_CMD_NAME     = makeindex
-
-# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
-# LaTeX documents. This may be useful for small projects and may help to
-# save some trees in general.
-
-COMPACT_LATEX          = NO
-
-# The PAPER_TYPE tag can be used to set the paper type that is used
-# by the printer. Possible values are: a4, a4wide, letter, legal and
-# executive. If left blank a4wide will be used.
-
-PAPER_TYPE             = letter
-
-# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
-# packages that should be included in the LaTeX output.
-
-EXTRA_PACKAGES         =
-
-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
-# the generated latex document. The header should contain everything until
-# the first chapter. If it is left blank doxygen will generate a
-# standard header. Notice: only use this tag if you know what you are doing!
-
-LATEX_HEADER           =
-
-# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
-# is prepared for conversion to pdf (using ps2pdf). The pdf file will
-# contain links (just like the HTML output) instead of page references
-# This makes the output suitable for online browsing using a pdf viewer.
-
-PDF_HYPERLINKS         = YES
-
-# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
-# plain latex in the generated Makefile. Set this option to YES to get a
-# higher quality PDF documentation.
-
-USE_PDFLATEX           = NO
-
-# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
-# command to the generated LaTeX files. This will instruct LaTeX to keep
-# running if errors occur, instead of asking the user for help.
-# This option is also used when generating formulas in HTML.
-
-LATEX_BATCHMODE        = NO
-
-# If LATEX_HIDE_INDICES is set to YES then doxygen will not
-# include the index chapters (such as File Index, Compound Index, etc.)
-# in the output.
-
-LATEX_HIDE_INDICES     = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
-# The RTF output is optimized for Word 97 and may not look very pretty with
-# other RTF readers or editors.
-
-GENERATE_RTF           = NO
-
-# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `rtf' will be used as the default path.
-
-RTF_OUTPUT             = rtf
-
-# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
-# RTF documents. This may be useful for small projects and may help to
-# save some trees in general.
-
-COMPACT_RTF            = NO
-
-# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
-# will contain hyperlink fields. The RTF file will
-# contain links (just like the HTML output) instead of page references.
-# This makes the output suitable for online browsing using WORD or other
-# programs which support those fields.
-# Note: wordpad (write) and others do not support links.
-
-RTF_HYPERLINKS         = NO
-
-# Load stylesheet definitions from file. Syntax is similar to doxygen's
-# config file, i.e. a series of assignments. You only have to provide
-# replacements, missing definitions are set to their default value.
-
-RTF_STYLESHEET_FILE    =
-
-# Set optional variables used in the generation of an rtf document.
-# Syntax is similar to doxygen's config file.
-
-RTF_EXTENSIONS_FILE    =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
-# generate man pages
-
-GENERATE_MAN           = NO
-
-# The MAN_OUTPUT tag is used to specify where the man pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `man' will be used as the default path.
-
-MAN_OUTPUT             = man
-
-# The MAN_EXTENSION tag determines the extension that is added to
-# the generated man pages (default is the subroutine's section .3)
-
-MAN_EXTENSION          = .3
-
-# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
-# then it will generate one additional man file for each entity
-# documented in the real man page(s). These additional files
-# only source the real man page, but without them the man command
-# would be unable to find the correct page. The default is NO.
-
-MAN_LINKS              = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_XML tag is set to YES Doxygen will
-# generate an XML file that captures the structure of
-# the code including all documentation.
-
-GENERATE_XML           = @enable_xml_docs@
-
-# The XML_OUTPUT tag is used to specify where the XML pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `xml' will be used as the default path.
-
-XML_OUTPUT             = xml
-
-# The XML_SCHEMA tag can be used to specify an XML schema,
-# which can be used by a validating XML parser to check the
-# syntax of the XML files.
-
-XML_SCHEMA             =
-
-# The XML_DTD tag can be used to specify an XML DTD,
-# which can be used by a validating XML parser to check the
-# syntax of the XML files.
-
-XML_DTD                =
-
-# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
-# dump the program listings (including syntax highlighting
-# and cross-referencing information) to the XML output. Note that
-# enabling this will significantly increase the size of the XML output.
-
-XML_PROGRAMLISTING     = NO
-
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
-# generate an AutoGen Definitions (see autogen.sf.net) file
-# that captures the structure of the code including all
-# documentation. Note that this feature is still experimental
-# and incomplete at the moment.
-
-GENERATE_AUTOGEN_DEF   = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_PERLMOD tag is set to YES Doxygen will
-# generate a Perl module file that captures the structure of
-# the code including all documentation. Note that this
-# feature is still experimental and incomplete at the
-# moment.
-
-GENERATE_PERLMOD       = NO
-
-# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
-# the necessary Makefile rules, Perl scripts and LaTeX code to be able
-# to generate PDF and DVI output from the Perl module output.
-
-PERLMOD_LATEX          = NO
-
-# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
-# nicely formatted so it can be parsed by a human reader.  This is useful
-# if you want to understand what is going on.  On the other hand, if this
-# tag is set to NO the size of the Perl module output will be much smaller
-# and Perl will parse it just the same.
-
-PERLMOD_PRETTY         = YES
-
-# The names of the make variables in the generated doxyrules.make file
-# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
-# This is useful so different doxyrules.make files included by the same
-# Makefile don't overwrite each other's variables.
-
-PERLMOD_MAKEVAR_PREFIX =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
-# evaluate all C-preprocessor directives found in the sources and include
-# files.
-
-ENABLE_PREPROCESSING   = YES
-
-# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
-# names in the source code. If set to NO (the default) only conditional
-# compilation will be performed. Macro expansion can be done in a controlled
-# way by setting EXPAND_ONLY_PREDEF to YES.
-
-MACRO_EXPANSION        = NO
-
-# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
-# then the macro expansion is limited to the macros specified with the
-# PREDEFINED and EXPAND_AS_DEFINED tags.
-
-EXPAND_ONLY_PREDEF     = NO
-
-# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
-# in the INCLUDE_PATH (see below) will be search if a #include is found.
-
-SEARCH_INCLUDES        = YES
-
-# The INCLUDE_PATH tag can be used to specify one or more directories that
-# contain include files that are not input files but should be processed by
-# the preprocessor.
-
-INCLUDE_PATH           =
-
-# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
-# patterns (like *.h and *.hpp) to filter out the header-files in the
-# directories. If left blank, the patterns specified with FILE_PATTERNS will
-# be used.
-
-INCLUDE_FILE_PATTERNS  =
-
-# The PREDEFINED tag can be used to specify one or more macro names that
-# are defined before the preprocessor is started (similar to the -D option of
-# gcc). The argument of the tag is a list of macros of the form: name
-# or name=definition (no spaces). If the definition and the = are
-# omitted =1 is assumed. To prevent a macro definition from being
-# undefined via #undef or recursively expanded use the := operator
-# instead of the = operator.
-
-PREDEFINED             =
-
-# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
-# this tag can be used to specify a list of macro names that should be expanded.
-# The macro definition that is found in the sources will be used.
-# Use the PREDEFINED tag if you want to use a different macro definition.
-
-EXPAND_AS_DEFINED      =
-
-# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
-# doxygen's preprocessor will remove all function-like macros that are alone
-# on a line, have an all uppercase name, and do not end with a semicolon. Such
-# function macros are typically used for boiler-plate code, and will confuse
-# the parser if not removed.
-
-SKIP_FUNCTION_MACROS   = YES
-
-#---------------------------------------------------------------------------
-# Configuration::additions related to external references
-#---------------------------------------------------------------------------
-
-# The TAGFILES option can be used to specify one or more tagfiles.
-# Optionally an initial location of the external documentation
-# can be added for each tagfile. The format of a tag file without
-# this location is as follows:
-#   TAGFILES = file1 file2 ...
-# Adding location for the tag files is done as follows:
-#   TAGFILES = file1=loc1 "file2 = loc2" ...
-# where "loc1" and "loc2" can be relative or absolute paths or
-# URLs. If a location is present for each tag, the installdox tool
-# does not have to be run to correct the links.
-# Note that each tag file must have a unique name
-# (where the name does NOT include the path)
-# If a tag file is not located in the directory in which doxygen
-# is run, you must also specify the path to the tagfile here.
-
-TAGFILES               =
-
-# When a file name is specified after GENERATE_TAGFILE, doxygen will create
-# a tag file that is based on the input files it reads.
-
-GENERATE_TAGFILE       =
-
-# If the ALLEXTERNALS tag is set to YES all external classes will be listed
-# in the class index. If set to NO only the inherited external classes
-# will be listed.
-
-ALLEXTERNALS           = NO
-
-# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
-# in the modules index. If set to NO, only the current project's groups will
-# be listed.
-
-EXTERNAL_GROUPS        = YES
-
-# The PERL_PATH should be the absolute path and name of the perl script
-# interpreter (i.e. the result of `which perl').
-
-PERL_PATH              = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
-# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base
-# or super classes. Setting the tag to NO turns the diagrams off. Note that
-# this option is superseded by the HAVE_DOT option below. This is only a
-# fallback. It is recommended to install and use dot, since it yields more
-# powerful graphs.
-
-CLASS_DIAGRAMS         = YES
-
-# You can define message sequence charts within doxygen comments using the \msc
-# command. Doxygen will then run the mscgen tool (see
-# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the
-# documentation. The MSCGEN_PATH tag allows you to specify the directory where
-# the mscgen tool resides. If left empty the tool is assumed to be found in the
-# default search path.
-
-MSCGEN_PATH            =
-
-# If set to YES, the inheritance and collaboration graphs will hide
-# inheritance and usage relations if the target is undocumented
-# or is not a class.
-
-HIDE_UNDOC_RELATIONS   = YES
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz, a graph visualization
-# toolkit from AT&T and Lucent Bell Labs. The other options in this section
-# have no effect if this option is set to NO (the default)
-
-HAVE_DOT               = @HAVE_DOT@
-
-# By default doxygen will write a font called FreeSans.ttf to the output
-# directory and reference it in all dot files that doxygen generates. This
-# font does not include all possible unicode characters however, so when you need
-# these (or just want a differently looking font) you can specify the font name
-# using DOT_FONTNAME. You need need to make sure dot is able to find the font,
-# which can be done by putting it in a standard location or by setting the
-# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory
-# containing the font.
-
-DOT_FONTNAME           = FreeSans
-
-# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs.
-# The default size is 10pt.
-
-DOT_FONTSIZE           = 10
-
-# By default doxygen will tell dot to use the output directory to look for the
-# FreeSans.ttf font (which doxygen will put there itself). If you specify a
-# different font using DOT_FONTNAME you can set the path where dot
-# can find it using this tag.
-
-DOT_FONTPATH           =
-
-# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect inheritance relations. Setting this tag to YES will force the
-# the CLASS_DIAGRAMS tag to NO.
-
-CLASS_GRAPH            = YES
-
-# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect implementation dependencies (inheritance, containment, and
-# class references variables) of the class with other documented classes.
-
-COLLABORATION_GRAPH    = NO
-
-# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for groups, showing the direct groups dependencies
-
-GROUP_GRAPHS           = YES
-
-# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
-# collaboration diagrams in a style similar to the OMG's Unified Modeling
-# Language.
-
-UML_LOOK               = NO
-
-# If set to YES, the inheritance and collaboration graphs will show the
-# relations between templates and their instances.
-
-TEMPLATE_RELATIONS     = NO
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
-# tags are set to YES then doxygen will generate a graph for each documented
-# file showing the direct and indirect include dependencies of the file with
-# other documented files.
-
-INCLUDE_GRAPH          = YES
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
-# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
-# documented header file showing the documented files that directly or
-# indirectly include this file.
-
-INCLUDED_BY_GRAPH      = YES
-
-# If the CALL_GRAPH and HAVE_DOT options are set to YES then
-# doxygen will generate a call dependency graph for every global function
-# or class method. Note that enabling this option will significantly increase
-# the time of a run. So in most cases it will be better to enable call graphs
-# for selected functions only using the \callgraph command.
-
-CALL_GRAPH             = NO
-
-# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then
-# doxygen will generate a caller dependency graph for every global function
-# or class method. Note that enabling this option will significantly increase
-# the time of a run. So in most cases it will be better to enable caller
-# graphs for selected functions only using the \callergraph command.
-
-CALLER_GRAPH           = NO
-
-# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
-# will graphical hierarchy of all classes instead of a textual one.
-
-GRAPHICAL_HIERARCHY    = YES
-
-# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES
-# then doxygen will show the dependencies a directory has on other directories
-# in a graphical way. The dependency relations are determined by the #include
-# relations between the files in the directories.
-
-DIRECTORY_GRAPH        = YES
-
-# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
-# generated by dot. Possible values are png, jpg, or gif
-# If left blank png will be used.
-
-DOT_IMAGE_FORMAT       = png
-
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found in the path.
-
-DOT_PATH               =
-
-# The DOTFILE_DIRS tag can be used to specify one or more directories that
-# contain dot files that are included in the documentation (see the
-# \dotfile command).
-
-DOTFILE_DIRS           =
-
-# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
-# nodes that will be shown in the graph. If the number of nodes in a graph
-# becomes larger than this value, doxygen will truncate the graph, which is
-# visualized by representing a node as a red box. Note that doxygen if the
-# number of direct children of the root node in a graph is already larger than
-# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note
-# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
-
-DOT_GRAPH_MAX_NODES    = 50
-
-# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
-# graphs generated by dot. A depth value of 3 means that only nodes reachable
-# from the root by following a path via at most 3 edges will be shown. Nodes
-# that lay further from the root node will be omitted. Note that setting this
-# option to 1 or 2 may greatly reduce the computation time needed for large
-# code bases. Also note that the size of a graph can be further restricted by
-# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
-
-MAX_DOT_GRAPH_DEPTH    = 0
-
-# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
-# background. This is disabled by default, because dot on Windows does not
-# seem to support this out of the box. Warning: Depending on the platform used,
-# enabling this option may lead to badly anti-aliased labels on the edges of
-# a graph (i.e. they become hard to read).
-
-DOT_TRANSPARENT        = NO
-
-# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
-# files in one run (i.e. multiple -o and -T options on the command line). This
-# makes dot run faster, but since only newer versions of dot (>1.8.10)
-# support this, this feature is disabled by default.
-
-DOT_MULTI_TARGETS      = YES
-
-# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
-# generate a legend page explaining the meaning of the various boxes and
-# arrows in the dot generated graphs.
-
-GENERATE_LEGEND        = YES
-
-# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
-# remove the intermediate dot files that are used to generate
-# the various graphs.
-
-DOT_CLEANUP            = YES
-
-#---------------------------------------------------------------------------
-# Configuration::additions related to the search engine
-#---------------------------------------------------------------------------
-
-# The SEARCHENGINE tag specifies whether or not a search engine should be
-# used. If set to NO the values of all tags below this one will be ignored.
-
-SEARCHENGINE           = NO
diff --git a/drivers/gr-dbfcttc/docs/doxygen/Doxyfile.swig_doc.in b/drivers/gr-dbfcttc/docs/doxygen/Doxyfile.swig_doc.in
deleted file mode 100644
index 50b8aa8..0000000
--- a/drivers/gr-dbfcttc/docs/doxygen/Doxyfile.swig_doc.in
+++ /dev/null
@@ -1,1514 +0,0 @@
-# Doxyfile 1.6.1
-
-# This file describes the settings to be used by the documentation system
-# doxygen (www.doxygen.org) for a project
-#
-# All text after a hash (#) is considered a comment and will be ignored
-# The format is:
-#       TAG = value [value, ...]
-# For lists items can also be appended using:
-#       TAG += value [value, ...]
-# Values that contain spaces should be placed between quotes (" ")
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-
-# This tag specifies the encoding used for all characters in the config file
-# that follow. The default is UTF-8 which is also the encoding used for all
-# text before the first occurrence of this tag. Doxygen uses libiconv (or the
-# iconv built into libc) for the transcoding. See
-# http://www.gnu.org/software/libiconv for the list of possible encodings.
-
-DOXYFILE_ENCODING      = UTF-8
-
-# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
-# by quotes) that should identify the project.
-
-PROJECT_NAME           = @CPACK_PACKAGE_NAME@
-
-# The PROJECT_NUMBER tag can be used to enter a project or revision number.
-# This could be handy for archiving the generated documentation or
-# if some version control system is used.
-
-PROJECT_NUMBER         = @CPACK_PACKAGE_VERSION@
-
-# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
-# base path where the generated documentation will be put.
-# If a relative path is entered, it will be relative to the location
-# where doxygen was started. If left blank the current directory will be used.
-
-OUTPUT_DIRECTORY       = @OUTPUT_DIRECTORY@
-
-# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
-# 4096 sub-directories (in 2 levels) under the output directory of each output
-# format and will distribute the generated files over these directories.
-# Enabling this option can be useful when feeding doxygen a huge amount of
-# source files, where putting all generated files in the same directory would
-# otherwise cause performance problems for the file system.
-
-CREATE_SUBDIRS         = NO
-
-# The OUTPUT_LANGUAGE tag is used to specify the language in which all
-# documentation generated by doxygen is written. Doxygen will use this
-# information to generate all constant output in the proper language.
-# The default language is English, other supported languages are:
-# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
-# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German,
-# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English
-# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian,
-# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak,
-# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.
-
-OUTPUT_LANGUAGE        = English
-
-# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
-# include brief member descriptions after the members that are listed in
-# the file and class documentation (similar to JavaDoc).
-# Set to NO to disable this.
-
-BRIEF_MEMBER_DESC      = YES
-
-# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
-# the brief description of a member or function before the detailed description.
-# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
-# brief descriptions will be completely suppressed.
-
-REPEAT_BRIEF           = YES
-
-# This tag implements a quasi-intelligent brief description abbreviator
-# that is used to form the text in various listings. Each string
-# in this list, if found as the leading text of the brief description, will be
-# stripped from the text and the result after processing the whole list, is
-# used as the annotated text. Otherwise, the brief description is used as-is.
-# If left blank, the following values are used ("$name" is automatically
-# replaced with the name of the entity): "The $name class" "The $name widget"
-# "The $name file" "is" "provides" "specifies" "contains"
-# "represents" "a" "an" "the"
-
-ABBREVIATE_BRIEF       =
-
-# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
-# Doxygen will generate a detailed section even if there is only a brief
-# description.
-
-ALWAYS_DETAILED_SEC    = NO
-
-# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
-# inherited members of a class in the documentation of that class as if those
-# members were ordinary class members. Constructors, destructors and assignment
-# operators of the base classes will not be shown.
-
-INLINE_INHERITED_MEMB  = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
-# path before files name in the file list and in the header files. If set
-# to NO the shortest path that makes the file name unique will be used.
-
-FULL_PATH_NAMES        = YES
-
-# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
-# can be used to strip a user-defined part of the path. Stripping is
-# only done if one of the specified strings matches the left-hand part of
-# the path. The tag can be used to show relative paths in the file list.
-# If left blank the directory from which doxygen is run is used as the
-# path to strip.
-
-STRIP_FROM_PATH        =
-
-# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
-# the path mentioned in the documentation of a class, which tells
-# the reader which header file to include in order to use a class.
-# If left blank only the name of the header file containing the class
-# definition is used. Otherwise one should specify the include paths that
-# are normally passed to the compiler using the -I flag.
-
-STRIP_FROM_INC_PATH    =
-
-# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
-# (but less readable) file names. This can be useful is your file systems
-# doesn't support long names like on DOS, Mac, or CD-ROM.
-
-SHORT_NAMES            = NO
-
-# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
-# will interpret the first line (until the first dot) of a JavaDoc-style
-# comment as the brief description. If set to NO, the JavaDoc
-# comments will behave just like regular Qt-style comments
-# (thus requiring an explicit @brief command for a brief description.)
-
-JAVADOC_AUTOBRIEF      = NO
-
-# If the QT_AUTOBRIEF tag is set to YES then Doxygen will
-# interpret the first line (until the first dot) of a Qt-style
-# comment as the brief description. If set to NO, the comments
-# will behave just like regular Qt-style comments (thus requiring
-# an explicit \brief command for a brief description.)
-
-QT_AUTOBRIEF           = NO
-
-# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
-# treat a multi-line C++ special comment block (i.e. a block of //! or ///
-# comments) as a brief description. This used to be the default behaviour.
-# The new default is to treat a multi-line C++ comment block as a detailed
-# description. Set this tag to YES if you prefer the old behaviour instead.
-
-MULTILINE_CPP_IS_BRIEF = NO
-
-# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
-# member inherits the documentation from any documented member that it
-# re-implements.
-
-INHERIT_DOCS           = YES
-
-# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
-# a new page for each member. If set to NO, the documentation of a member will
-# be part of the file/class/namespace that contains it.
-
-SEPARATE_MEMBER_PAGES  = NO
-
-# The TAB_SIZE tag can be used to set the number of spaces in a tab.
-# Doxygen uses this value to replace tabs by spaces in code fragments.
-
-TAB_SIZE               = 8
-
-# This tag can be used to specify a number of aliases that acts
-# as commands in the documentation. An alias has the form "name=value".
-# For example adding "sideeffect=\par Side Effects:\n" will allow you to
-# put the command \sideeffect (or @sideeffect) in the documentation, which
-# will result in a user-defined paragraph with heading "Side Effects:".
-# You can put \n's in the value part of an alias to insert newlines.
-
-ALIASES                =
-
-# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
-# sources only. Doxygen will then generate output that is more tailored for C.
-# For instance, some of the names that are used will be different. The list
-# of all members will be omitted, etc.
-
-OPTIMIZE_OUTPUT_FOR_C  = NO
-
-# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
-# sources only. Doxygen will then generate output that is more tailored for
-# Java. For instance, namespaces will be presented as packages, qualified
-# scopes will look different, etc.
-
-OPTIMIZE_OUTPUT_JAVA   = NO
-
-# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
-# sources only. Doxygen will then generate output that is more tailored for
-# Fortran.
-
-OPTIMIZE_FOR_FORTRAN   = NO
-
-# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
-# sources. Doxygen will then generate output that is tailored for
-# VHDL.
-
-OPTIMIZE_OUTPUT_VHDL   = NO
-
-# Doxygen selects the parser to use depending on the extension of the files it parses.
-# With this tag you can assign which parser to use for a given extension.
-# Doxygen has a built-in mapping, but you can override or extend it using this tag.
-# The format is ext=language, where ext is a file extension, and language is one of
-# the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP,
-# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat
-# .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran),
-# use: inc=Fortran f=C. Note that for custom extensions you also need to set FILE_PATTERNS otherwise the files are not read by doxygen.
-
-EXTENSION_MAPPING      =
-
-# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
-# to include (a tag file for) the STL sources as input, then you should
-# set this tag to YES in order to let doxygen match functions declarations and
-# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
-# func(std::string) {}). This also make the inheritance and collaboration
-# diagrams that involve STL classes more complete and accurate.
-
-BUILTIN_STL_SUPPORT    = YES
-
-# If you use Microsoft's C++/CLI language, you should set this option to YES to
-# enable parsing support.
-
-CPP_CLI_SUPPORT        = NO
-
-# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only.
-# Doxygen will parse them like normal C++ but will assume all classes use public
-# instead of private inheritance when no explicit protection keyword is present.
-
-SIP_SUPPORT            = NO
-
-# For Microsoft's IDL there are propget and propput attributes to indicate getter
-# and setter methods for a property. Setting this option to YES (the default)
-# will make doxygen to replace the get and set methods by a property in the
-# documentation. This will only work if the methods are indeed getting or
-# setting a simple type. If this is not the case, or you want to show the
-# methods anyway, you should set this option to NO.
-
-IDL_PROPERTY_SUPPORT   = YES
-
-# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
-# tag is set to YES, then doxygen will reuse the documentation of the first
-# member in the group (if any) for the other members of the group. By default
-# all members of a group must be documented explicitly.
-
-DISTRIBUTE_GROUP_DOC   = NO
-
-# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
-# the same type (for instance a group of public functions) to be put as a
-# subgroup of that type (e.g. under the Public Functions section). Set it to
-# NO to prevent subgrouping. Alternatively, this can be done per class using
-# the \nosubgrouping command.
-
-SUBGROUPING            = YES
-
-# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
-# is documented as struct, union, or enum with the name of the typedef. So
-# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
-# with name TypeT. When disabled the typedef will appear as a member of a file,
-# namespace, or class. And the struct will be named TypeS. This can typically
-# be useful for C code in case the coding convention dictates that all compound
-# types are typedef'ed and only the typedef is referenced, never the tag name.
-
-TYPEDEF_HIDES_STRUCT   = NO
-
-# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to
-# determine which symbols to keep in memory and which to flush to disk.
-# When the cache is full, less often used symbols will be written to disk.
-# For small to medium size projects (<1000 input files) the default value is
-# probably good enough. For larger projects a too small cache size can cause
-# doxygen to be busy swapping symbols to and from disk most of the time
-# causing a significant performance penality.
-# If the system has enough physical memory increasing the cache will improve the
-# performance by keeping more symbols in memory. Note that the value works on
-# a logarithmic scale so increasing the size by one will rougly double the
-# memory usage. The cache size is given by this formula:
-# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
-# corresponding to a cache size of 2^16 = 65536 symbols
-
-SYMBOL_CACHE_SIZE      = 0
-
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-
-# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
-# documentation are documented, even if no documentation was available.
-# Private class members and static file members will be hidden unless
-# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
-
-EXTRACT_ALL            = YES
-
-# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
-# will be included in the documentation.
-
-EXTRACT_PRIVATE        = NO
-
-# If the EXTRACT_STATIC tag is set to YES all static members of a file
-# will be included in the documentation.
-
-EXTRACT_STATIC         = NO
-
-# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
-# defined locally in source files will be included in the documentation.
-# If set to NO only classes defined in header files are included.
-
-EXTRACT_LOCAL_CLASSES  = YES
-
-# This flag is only useful for Objective-C code. When set to YES local
-# methods, which are defined in the implementation section but not in
-# the interface are included in the documentation.
-# If set to NO (the default) only methods in the interface are included.
-
-EXTRACT_LOCAL_METHODS  = NO
-
-# If this flag is set to YES, the members of anonymous namespaces will be
-# extracted and appear in the documentation as a namespace called
-# 'anonymous_namespace{file}', where file will be replaced with the base
-# name of the file that contains the anonymous namespace. By default
-# anonymous namespace are hidden.
-
-EXTRACT_ANON_NSPACES   = NO
-
-# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
-# undocumented members of documented classes, files or namespaces.
-# If set to NO (the default) these members will be included in the
-# various overviews, but no documentation section is generated.
-# This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_MEMBERS     = NO
-
-# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
-# undocumented classes that are normally visible in the class hierarchy.
-# If set to NO (the default) these classes will be included in the various
-# overviews. This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_CLASSES     = NO
-
-# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
-# friend (class|struct|union) declarations.
-# If set to NO (the default) these declarations will be included in the
-# documentation.
-
-HIDE_FRIEND_COMPOUNDS  = NO
-
-# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
-# documentation blocks found inside the body of a function.
-# If set to NO (the default) these blocks will be appended to the
-# function's detailed documentation block.
-
-HIDE_IN_BODY_DOCS      = NO
-
-# The INTERNAL_DOCS tag determines if documentation
-# that is typed after a \internal command is included. If the tag is set
-# to NO (the default) then the documentation will be excluded.
-# Set it to YES to include the internal documentation.
-
-INTERNAL_DOCS          = NO
-
-# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
-# file names in lower-case letters. If set to YES upper-case letters are also
-# allowed. This is useful if you have classes or files whose names only differ
-# in case and if your file system supports case sensitive file names. Windows
-# and Mac users are advised to set this option to NO.
-
-CASE_SENSE_NAMES       = YES
-
-# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
-# will show members with their full class and namespace scopes in the
-# documentation. If set to YES the scope will be hidden.
-
-HIDE_SCOPE_NAMES       = NO
-
-# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
-# will put a list of the files that are included by a file in the documentation
-# of that file.
-
-SHOW_INCLUDE_FILES     = YES
-
-# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
-# is inserted in the documentation for inline members.
-
-INLINE_INFO            = YES
-
-# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
-# will sort the (detailed) documentation of file and class members
-# alphabetically by member name. If set to NO the members will appear in
-# declaration order.
-
-SORT_MEMBER_DOCS       = YES
-
-# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
-# brief documentation of file, namespace and class members alphabetically
-# by member name. If set to NO (the default) the members will appear in
-# declaration order.
-
-SORT_BRIEF_DOCS        = NO
-
-# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the (brief and detailed) documentation of class members so that constructors and destructors are listed first. If set to NO (the default) the constructors will appear in the respective orders defined by SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO.
-
-SORT_MEMBERS_CTORS_1ST = NO
-
-# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the
-# hierarchy of group names into alphabetical order. If set to NO (the default)
-# the group names will appear in their defined order.
-
-SORT_GROUP_NAMES       = NO
-
-# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
-# sorted by fully-qualified names, including namespaces. If set to
-# NO (the default), the class list will be sorted only by class name,
-# not including the namespace part.
-# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
-# Note: This option applies only to the class list, not to the
-# alphabetical list.
-
-SORT_BY_SCOPE_NAME     = NO
-
-# The GENERATE_TODOLIST tag can be used to enable (YES) or
-# disable (NO) the todo list. This list is created by putting \todo
-# commands in the documentation.
-
-GENERATE_TODOLIST      = YES
-
-# The GENERATE_TESTLIST tag can be used to enable (YES) or
-# disable (NO) the test list. This list is created by putting \test
-# commands in the documentation.
-
-GENERATE_TESTLIST      = YES
-
-# The GENERATE_BUGLIST tag can be used to enable (YES) or
-# disable (NO) the bug list. This list is created by putting \bug
-# commands in the documentation.
-
-GENERATE_BUGLIST       = YES
-
-# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
-# disable (NO) the deprecated list. This list is created by putting
-# \deprecated commands in the documentation.
-
-GENERATE_DEPRECATEDLIST= YES
-
-# The ENABLED_SECTIONS tag can be used to enable conditional
-# documentation sections, marked by \if sectionname ... \endif.
-
-ENABLED_SECTIONS       =
-
-# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
-# the initial value of a variable or define consists of for it to appear in
-# the documentation. If the initializer consists of more lines than specified
-# here it will be hidden. Use a value of 0 to hide initializers completely.
-# The appearance of the initializer of individual variables and defines in the
-# documentation can be controlled using \showinitializer or \hideinitializer
-# command in the documentation regardless of this setting.
-
-MAX_INITIALIZER_LINES  = 30
-
-# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
-# at the bottom of the documentation of classes and structs. If set to YES the
-# list will mention the files that were used to generate the documentation.
-
-SHOW_USED_FILES        = YES
-
-# If the sources in your project are distributed over multiple directories
-# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
-# in the documentation. The default is NO.
-
-SHOW_DIRECTORIES       = NO
-
-# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
-# This will remove the Files entry from the Quick Index and from the
-# Folder Tree View (if specified). The default is YES.
-
-SHOW_FILES             = YES
-
-# Set the SHOW_NAMESPACES tag to NO to disable the generation of the
-# Namespaces page.
-# This will remove the Namespaces entry from the Quick Index
-# and from the Folder Tree View (if specified). The default is YES.
-
-SHOW_NAMESPACES        = YES
-
-# The FILE_VERSION_FILTER tag can be used to specify a program or script that
-# doxygen should invoke to get the current version for each file (typically from
-# the version control system). Doxygen will invoke the program by executing (via
-# popen()) the command <command> <input-file>, where <command> is the value of
-# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file
-# provided by doxygen. Whatever the program writes to standard output
-# is used as the file version. See the manual for examples.
-
-FILE_VERSION_FILTER    =
-
-# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by
-# doxygen. The layout file controls the global structure of the generated output files
-# in an output format independent way. The create the layout file that represents
-# doxygen's defaults, run doxygen with the -l option. You can optionally specify a
-# file name after the option, if omitted DoxygenLayout.xml will be used as the name
-# of the layout file.
-
-LAYOUT_FILE            =
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-# The QUIET tag can be used to turn on/off the messages that are generated
-# by doxygen. Possible values are YES and NO. If left blank NO is used.
-
-QUIET                  = YES
-
-# The WARNINGS tag can be used to turn on/off the warning messages that are
-# generated by doxygen. Possible values are YES and NO. If left blank
-# NO is used.
-
-WARNINGS               = YES
-
-# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
-# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
-# automatically be disabled.
-
-WARN_IF_UNDOCUMENTED   = YES
-
-# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
-# potential errors in the documentation, such as not documenting some
-# parameters in a documented function, or documenting parameters that
-# don't exist or using markup commands wrongly.
-
-WARN_IF_DOC_ERROR      = YES
-
-# This WARN_NO_PARAMDOC option can be abled to get warnings for
-# functions that are documented, but have no documentation for their parameters
-# or return value. If set to NO (the default) doxygen will only warn about
-# wrong or incomplete parameter documentation, but not about the absence of
-# documentation.
-
-WARN_NO_PARAMDOC       = NO
-
-# The WARN_FORMAT tag determines the format of the warning messages that
-# doxygen can produce. The string should contain the $file, $line, and $text
-# tags, which will be replaced by the file and line number from which the
-# warning originated and the warning text. Optionally the format may contain
-# $version, which will be replaced by the version of the file (if it could
-# be obtained via FILE_VERSION_FILTER)
-
-WARN_FORMAT            = "$file:$line: $text"
-
-# The WARN_LOGFILE tag can be used to specify a file to which warning
-# and error messages should be written. If left blank the output is written
-# to stderr.
-
-WARN_LOGFILE           =
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-# The INPUT tag can be used to specify the files and/or directories that contain
-# documented source files. You may enter file names like "myfile.cpp" or
-# directories like "/usr/src/myproject". Separate the files or directories
-# with spaces.
-
-INPUT                  = @INPUT_PATHS@
-
-# This tag can be used to specify the character encoding of the source files
-# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
-# also the default input encoding. Doxygen uses libiconv (or the iconv built
-# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for
-# the list of possible encodings.
-
-INPUT_ENCODING         = UTF-8
-
-# If the value of the INPUT tag contains directories, you can use the
-# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank the following patterns are tested:
-# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx
-# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90
-
-FILE_PATTERNS          = *.h
-
-# The RECURSIVE tag can be used to turn specify whether or not subdirectories
-# should be searched for input files as well. Possible values are YES and NO.
-# If left blank NO is used.
-
-RECURSIVE              = YES
-
-# The EXCLUDE tag can be used to specify files and/or directories that should
-# excluded from the INPUT source files. This way you can easily exclude a
-# subdirectory from a directory tree whose root is specified with the INPUT tag.
-
-EXCLUDE                =
-
-# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
-# directories that are symbolic links (a Unix filesystem feature) are excluded
-# from the input.
-
-EXCLUDE_SYMLINKS       = NO
-
-# If the value of the INPUT tag contains directories, you can use the
-# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
-# certain files from those directories. Note that the wildcards are matched
-# against the file with absolute path, so to exclude all test directories
-# for example use the pattern */test/*
-
-EXCLUDE_PATTERNS       =
-
-# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
-# (namespaces, classes, functions, etc.) that should be excluded from the
-# output. The symbol name can be a fully qualified name, a word, or if the
-# wildcard * is used, a substring. Examples: ANamespace, AClass,
-# AClass::ANamespace, ANamespace::*Test
-
-EXCLUDE_SYMBOLS        =
-
-# The EXAMPLE_PATH tag can be used to specify one or more files or
-# directories that contain example code fragments that are included (see
-# the \include command).
-
-EXAMPLE_PATH           =
-
-# If the value of the EXAMPLE_PATH tag contains directories, you can use the
-# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank all files are included.
-
-EXAMPLE_PATTERNS       =
-
-# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
-# searched for input files to be used with the \include or \dontinclude
-# commands irrespective of the value of the RECURSIVE tag.
-# Possible values are YES and NO. If left blank NO is used.
-
-EXAMPLE_RECURSIVE      = NO
-
-# The IMAGE_PATH tag can be used to specify one or more files or
-# directories that contain image that are included in the documentation (see
-# the \image command).
-
-IMAGE_PATH             =
-
-# The INPUT_FILTER tag can be used to specify a program that doxygen should
-# invoke to filter for each input file. Doxygen will invoke the filter program
-# by executing (via popen()) the command <filter> <input-file>, where <filter>
-# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
-# input file. Doxygen will then use the output that the filter program writes
-# to standard output.
-# If FILTER_PATTERNS is specified, this tag will be
-# ignored.
-
-INPUT_FILTER           =
-
-# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
-# basis.
-# Doxygen will compare the file name with each pattern and apply the
-# filter if there is a match.
-# The filters are a list of the form:
-# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
-# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER
-# is applied to all files.
-
-FILTER_PATTERNS        =
-
-# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
-# INPUT_FILTER) will be used to filter the input files when producing source
-# files to browse (i.e. when SOURCE_BROWSER is set to YES).
-
-FILTER_SOURCE_FILES    = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-
-# If the SOURCE_BROWSER tag is set to YES then a list of source files will
-# be generated. Documented entities will be cross-referenced with these sources.
-# Note: To get rid of all source code in the generated output, make sure also
-# VERBATIM_HEADERS is set to NO.
-
-SOURCE_BROWSER         = NO
-
-# Setting the INLINE_SOURCES tag to YES will include the body
-# of functions and classes directly in the documentation.
-
-INLINE_SOURCES         = NO
-
-# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
-# doxygen to hide any special comment blocks from generated source code
-# fragments. Normal C and C++ comments will always remain visible.
-
-STRIP_CODE_COMMENTS    = YES
-
-# If the REFERENCED_BY_RELATION tag is set to YES
-# then for each documented function all documented
-# functions referencing it will be listed.
-
-REFERENCED_BY_RELATION = NO
-
-# If the REFERENCES_RELATION tag is set to YES
-# then for each documented function all documented entities
-# called/used by that function will be listed.
-
-REFERENCES_RELATION    = NO
-
-# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
-# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
-# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
-# link to the source code.
-# Otherwise they will link to the documentation.
-
-REFERENCES_LINK_SOURCE = YES
-
-# If the USE_HTAGS tag is set to YES then the references to source code
-# will point to the HTML generated by the htags(1) tool instead of doxygen
-# built-in source browser. The htags tool is part of GNU's global source
-# tagging system (see http://www.gnu.org/software/global/global.html). You
-# will need version 4.8.6 or higher.
-
-USE_HTAGS              = NO
-
-# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
-# will generate a verbatim copy of the header file for each class for
-# which an include is specified. Set to NO to disable this.
-
-VERBATIM_HEADERS       = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
-# of all compounds will be generated. Enable this if the project
-# contains a lot of classes, structs, unions or interfaces.
-
-ALPHABETICAL_INDEX     = NO
-
-# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
-# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
-# in which this list will be split (can be a number in the range [1..20])
-
-COLS_IN_ALPHA_INDEX    = 5
-
-# In case all classes in a project start with a common prefix, all
-# classes will be put under the same header in the alphabetical index.
-# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
-# should be ignored while generating the index headers.
-
-IGNORE_PREFIX          =
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
-# generate HTML output.
-
-GENERATE_HTML          = NO
-
-# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `html' will be used as the default path.
-
-HTML_OUTPUT            = html
-
-# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
-# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
-# doxygen will generate files with .html extension.
-
-HTML_FILE_EXTENSION    = .html
-
-# The HTML_HEADER tag can be used to specify a personal HTML header for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard header.
-
-HTML_HEADER            =
-
-# The HTML_FOOTER tag can be used to specify a personal HTML footer for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard footer.
-
-HTML_FOOTER            =
-
-# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
-# style sheet that is used by each HTML page. It can be used to
-# fine-tune the look of the HTML output. If the tag is left blank doxygen
-# will generate a default style sheet. Note that doxygen will try to copy
-# the style sheet file to the HTML output directory, so don't put your own
-# stylesheet in the HTML output directory as well, or it will be erased!
-
-HTML_STYLESHEET        =
-
-# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
-# files or namespaces will be aligned in HTML using tables. If set to
-# NO a bullet list will be used.
-
-HTML_ALIGN_MEMBERS     = YES
-
-# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
-# documentation will contain sections that can be hidden and shown after the
-# page has loaded. For this to work a browser that supports
-# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
-# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
-
-HTML_DYNAMIC_SECTIONS  = NO
-
-# If the GENERATE_DOCSET tag is set to YES, additional index files
-# will be generated that can be used as input for Apple's Xcode 3
-# integrated development environment, introduced with OSX 10.5 (Leopard).
-# To create a documentation set, doxygen will generate a Makefile in the
-# HTML output directory. Running make will produce the docset in that
-# directory and running "make install" will install the docset in
-# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find
-# it at startup.
-# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information.
-
-GENERATE_DOCSET        = NO
-
-# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the
-# feed. A documentation feed provides an umbrella under which multiple
-# documentation sets from a single provider (such as a company or product suite)
-# can be grouped.
-
-DOCSET_FEEDNAME        = "Doxygen generated docs"
-
-# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that
-# should uniquely identify the documentation set bundle. This should be a
-# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen
-# will append .docset to the name.
-
-DOCSET_BUNDLE_ID       = org.doxygen.Project
-
-# If the GENERATE_HTMLHELP tag is set to YES, additional index files
-# will be generated that can be used as input for tools like the
-# Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
-# of the generated HTML documentation.
-
-GENERATE_HTMLHELP      = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
-# be used to specify the file name of the resulting .chm file. You
-# can add a path in front of the file if the result should not be
-# written to the html output directory.
-
-CHM_FILE               =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
-# be used to specify the location (absolute path including file name) of
-# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
-# the HTML help compiler on the generated index.hhp.
-
-HHC_LOCATION           =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
-# controls if a separate .chi index file is generated (YES) or that
-# it should be included in the master .chm file (NO).
-
-GENERATE_CHI           = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING
-# is used to encode HtmlHelp index (hhk), content (hhc) and project file
-# content.
-
-CHM_INDEX_ENCODING     =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
-# controls whether a binary table of contents is generated (YES) or a
-# normal table of contents (NO) in the .chm file.
-
-BINARY_TOC             = NO
-
-# The TOC_EXPAND flag can be set to YES to add extra items for group members
-# to the contents of the HTML help documentation and to the tree view.
-
-TOC_EXPAND             = NO
-
-# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER
-# are set, an additional index file will be generated that can be used as input for
-# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated
-# HTML documentation.
-
-GENERATE_QHP           = NO
-
-# If the QHG_LOCATION tag is specified, the QCH_FILE tag can
-# be used to specify the file name of the resulting .qch file.
-# The path specified is relative to the HTML output folder.
-
-QCH_FILE               =
-
-# The QHP_NAMESPACE tag specifies the namespace to use when generating
-# Qt Help Project output. For more information please see
-# http://doc.trolltech.com/qthelpproject.html#namespace
-
-QHP_NAMESPACE          =
-
-# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating
-# Qt Help Project output. For more information please see
-# http://doc.trolltech.com/qthelpproject.html#virtual-folders
-
-QHP_VIRTUAL_FOLDER     = doc
-
-# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add.
-# For more information please see
-# http://doc.trolltech.com/qthelpproject.html#custom-filters
-
-QHP_CUST_FILTER_NAME   =
-
-# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see
-# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">Qt Help Project / Custom Filters</a>.
-
-QHP_CUST_FILTER_ATTRS  =
-
-# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's
-# filter section matches.
-# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">Qt Help Project / Filter Attributes</a>.
-
-QHP_SECT_FILTER_ATTRS  =
-
-# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can
-# be used to specify the location of Qt's qhelpgenerator.
-# If non-empty doxygen will try to run qhelpgenerator on the generated
-# .qhp file.
-
-QHG_LOCATION           =
-
-# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
-# top of each HTML page. The value NO (the default) enables the index and
-# the value YES disables it.
-
-DISABLE_INDEX          = NO
-
-# This tag can be used to set the number of enum values (range [1..20])
-# that doxygen will group on one line in the generated HTML documentation.
-
-ENUM_VALUES_PER_LINE   = 4
-
-# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
-# structure should be generated to display hierarchical information.
-# If the tag value is set to YES, a side panel will be generated
-# containing a tree-like index structure (just like the one that
-# is generated for HTML Help). For this to work a browser that supports
-# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).
-# Windows users are probably better off using the HTML help feature.
-
-GENERATE_TREEVIEW      = NO
-
-# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories,
-# and Class Hierarchy pages using a tree view instead of an ordered list.
-
-USE_INLINE_TREES       = NO
-
-# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
-# used to set the initial width (in pixels) of the frame in which the tree
-# is shown.
-
-TREEVIEW_WIDTH         = 250
-
-# Use this tag to change the font size of Latex formulas included
-# as images in the HTML documentation. The default is 10. Note that
-# when you change the font size after a successful doxygen run you need
-# to manually remove any form_*.png images from the HTML output directory
-# to force them to be regenerated.
-
-FORMULA_FONTSIZE       = 10
-
-# When the SEARCHENGINE tag is enable doxygen will generate a search box for the HTML output. The underlying search engine uses javascript
-# and DHTML and should work on any modern browser. Note that when using HTML help (GENERATE_HTMLHELP) or Qt help (GENERATE_QHP)
-# there is already a search function so this one should typically
-# be disabled.
-
-SEARCHENGINE           = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
-# generate Latex output.
-
-GENERATE_LATEX         = NO
-
-# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `latex' will be used as the default path.
-
-LATEX_OUTPUT           = latex
-
-# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
-# invoked. If left blank `latex' will be used as the default command name.
-
-LATEX_CMD_NAME         = latex
-
-# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
-# generate index for LaTeX. If left blank `makeindex' will be used as the
-# default command name.
-
-MAKEINDEX_CMD_NAME     = makeindex
-
-# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
-# LaTeX documents. This may be useful for small projects and may help to
-# save some trees in general.
-
-COMPACT_LATEX          = NO
-
-# The PAPER_TYPE tag can be used to set the paper type that is used
-# by the printer. Possible values are: a4, a4wide, letter, legal and
-# executive. If left blank a4wide will be used.
-
-PAPER_TYPE             = a4wide
-
-# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
-# packages that should be included in the LaTeX output.
-
-EXTRA_PACKAGES         =
-
-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
-# the generated latex document. The header should contain everything until
-# the first chapter. If it is left blank doxygen will generate a
-# standard header. Notice: only use this tag if you know what you are doing!
-
-LATEX_HEADER           =
-
-# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
-# is prepared for conversion to pdf (using ps2pdf). The pdf file will
-# contain links (just like the HTML output) instead of page references
-# This makes the output suitable for online browsing using a pdf viewer.
-
-PDF_HYPERLINKS         = YES
-
-# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
-# plain latex in the generated Makefile. Set this option to YES to get a
-# higher quality PDF documentation.
-
-USE_PDFLATEX           = YES
-
-# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
-# command to the generated LaTeX files. This will instruct LaTeX to keep
-# running if errors occur, instead of asking the user for help.
-# This option is also used when generating formulas in HTML.
-
-LATEX_BATCHMODE        = NO
-
-# If LATEX_HIDE_INDICES is set to YES then doxygen will not
-# include the index chapters (such as File Index, Compound Index, etc.)
-# in the output.
-
-LATEX_HIDE_INDICES     = NO
-
-# If LATEX_SOURCE_CODE is set to YES then doxygen will include source code with syntax highlighting in the LaTeX output. Note that which sources are shown also depends on other settings such as SOURCE_BROWSER.
-
-LATEX_SOURCE_CODE      = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
-# The RTF output is optimized for Word 97 and may not look very pretty with
-# other RTF readers or editors.
-
-GENERATE_RTF           = NO
-
-# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `rtf' will be used as the default path.
-
-RTF_OUTPUT             = rtf
-
-# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
-# RTF documents. This may be useful for small projects and may help to
-# save some trees in general.
-
-COMPACT_RTF            = NO
-
-# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
-# will contain hyperlink fields. The RTF file will
-# contain links (just like the HTML output) instead of page references.
-# This makes the output suitable for online browsing using WORD or other
-# programs which support those fields.
-# Note: wordpad (write) and others do not support links.
-
-RTF_HYPERLINKS         = NO
-
-# Load stylesheet definitions from file. Syntax is similar to doxygen's
-# config file, i.e. a series of assignments. You only have to provide
-# replacements, missing definitions are set to their default value.
-
-RTF_STYLESHEET_FILE    =
-
-# Set optional variables used in the generation of an rtf document.
-# Syntax is similar to doxygen's config file.
-
-RTF_EXTENSIONS_FILE    =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
-# generate man pages
-
-GENERATE_MAN           = NO
-
-# The MAN_OUTPUT tag is used to specify where the man pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `man' will be used as the default path.
-
-MAN_OUTPUT             = man
-
-# The MAN_EXTENSION tag determines the extension that is added to
-# the generated man pages (default is the subroutine's section .3)
-
-MAN_EXTENSION          = .3
-
-# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
-# then it will generate one additional man file for each entity
-# documented in the real man page(s). These additional files
-# only source the real man page, but without them the man command
-# would be unable to find the correct page. The default is NO.
-
-MAN_LINKS              = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_XML tag is set to YES Doxygen will
-# generate an XML file that captures the structure of
-# the code including all documentation.
-
-GENERATE_XML           = YES
-
-# The XML_OUTPUT tag is used to specify where the XML pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `xml' will be used as the default path.
-
-XML_OUTPUT             = xml
-
-# The XML_SCHEMA tag can be used to specify an XML schema,
-# which can be used by a validating XML parser to check the
-# syntax of the XML files.
-
-XML_SCHEMA             =
-
-# The XML_DTD tag can be used to specify an XML DTD,
-# which can be used by a validating XML parser to check the
-# syntax of the XML files.
-
-XML_DTD                =
-
-# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
-# dump the program listings (including syntax highlighting
-# and cross-referencing information) to the XML output. Note that
-# enabling this will significantly increase the size of the XML output.
-
-XML_PROGRAMLISTING     = YES
-
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
-# generate an AutoGen Definitions (see autogen.sf.net) file
-# that captures the structure of the code including all
-# documentation. Note that this feature is still experimental
-# and incomplete at the moment.
-
-GENERATE_AUTOGEN_DEF   = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_PERLMOD tag is set to YES Doxygen will
-# generate a Perl module file that captures the structure of
-# the code including all documentation. Note that this
-# feature is still experimental and incomplete at the
-# moment.
-
-GENERATE_PERLMOD       = NO
-
-# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
-# the necessary Makefile rules, Perl scripts and LaTeX code to be able
-# to generate PDF and DVI output from the Perl module output.
-
-PERLMOD_LATEX          = NO
-
-# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
-# nicely formatted so it can be parsed by a human reader.
-# This is useful
-# if you want to understand what is going on.
-# On the other hand, if this
-# tag is set to NO the size of the Perl module output will be much smaller
-# and Perl will parse it just the same.
-
-PERLMOD_PRETTY         = YES
-
-# The names of the make variables in the generated doxyrules.make file
-# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
-# This is useful so different doxyrules.make files included by the same
-# Makefile don't overwrite each other's variables.
-
-PERLMOD_MAKEVAR_PREFIX =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
-# evaluate all C-preprocessor directives found in the sources and include
-# files.
-
-ENABLE_PREPROCESSING   = YES
-
-# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
-# names in the source code. If set to NO (the default) only conditional
-# compilation will be performed. Macro expansion can be done in a controlled
-# way by setting EXPAND_ONLY_PREDEF to YES.
-
-MACRO_EXPANSION        = YES
-
-# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
-# then the macro expansion is limited to the macros specified with the
-# PREDEFINED and EXPAND_AS_DEFINED tags.
-
-EXPAND_ONLY_PREDEF     = NO
-
-# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
-# in the INCLUDE_PATH (see below) will be search if a #include is found.
-
-SEARCH_INCLUDES        = YES
-
-# The INCLUDE_PATH tag can be used to specify one or more directories that
-# contain include files that are not input files but should be processed by
-# the preprocessor.
-
-INCLUDE_PATH           =
-
-# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
-# patterns (like *.h and *.hpp) to filter out the header-files in the
-# directories. If left blank, the patterns specified with FILE_PATTERNS will
-# be used.
-
-INCLUDE_FILE_PATTERNS  =
-
-# The PREDEFINED tag can be used to specify one or more macro names that
-# are defined before the preprocessor is started (similar to the -D option of
-# gcc). The argument of the tag is a list of macros of the form: name
-# or name=definition (no spaces). If the definition and the = are
-# omitted =1 is assumed. To prevent a macro definition from being
-# undefined via #undef or recursively expanded use the := operator
-# instead of the = operator.
-
-PREDEFINED             =
-
-# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
-# this tag can be used to specify a list of macro names that should be expanded.
-# The macro definition that is found in the sources will be used.
-# Use the PREDEFINED tag if you want to use a different macro definition.
-
-EXPAND_AS_DEFINED      =
-
-# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
-# doxygen's preprocessor will remove all function-like macros that are alone
-# on a line, have an all uppercase name, and do not end with a semicolon. Such
-# function macros are typically used for boiler-plate code, and will confuse
-# the parser if not removed.
-
-SKIP_FUNCTION_MACROS   = YES
-
-#---------------------------------------------------------------------------
-# Configuration::additions related to external references
-#---------------------------------------------------------------------------
-
-# The TAGFILES option can be used to specify one or more tagfiles.
-# Optionally an initial location of the external documentation
-# can be added for each tagfile. The format of a tag file without
-# this location is as follows:
-#
-# TAGFILES = file1 file2 ...
-# Adding location for the tag files is done as follows:
-#
-# TAGFILES = file1=loc1 "file2 = loc2" ...
-# where "loc1" and "loc2" can be relative or absolute paths or
-# URLs. If a location is present for each tag, the installdox tool
-# does not have to be run to correct the links.
-# Note that each tag file must have a unique name
-# (where the name does NOT include the path)
-# If a tag file is not located in the directory in which doxygen
-# is run, you must also specify the path to the tagfile here.
-
-TAGFILES               =
-
-# When a file name is specified after GENERATE_TAGFILE, doxygen will create
-# a tag file that is based on the input files it reads.
-
-GENERATE_TAGFILE       =
-
-# If the ALLEXTERNALS tag is set to YES all external classes will be listed
-# in the class index. If set to NO only the inherited external classes
-# will be listed.
-
-ALLEXTERNALS           = NO
-
-# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
-# in the modules index. If set to NO, only the current project's groups will
-# be listed.
-
-EXTERNAL_GROUPS        = YES
-
-# The PERL_PATH should be the absolute path and name of the perl script
-# interpreter (i.e. the result of `which perl').
-
-PERL_PATH              = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
-# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base
-# or super classes. Setting the tag to NO turns the diagrams off. Note that
-# this option is superseded by the HAVE_DOT option below. This is only a
-# fallback. It is recommended to install and use dot, since it yields more
-# powerful graphs.
-
-CLASS_DIAGRAMS         = YES
-
-# You can define message sequence charts within doxygen comments using the \msc
-# command. Doxygen will then run the mscgen tool (see
-# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the
-# documentation. The MSCGEN_PATH tag allows you to specify the directory where
-# the mscgen tool resides. If left empty the tool is assumed to be found in the
-# default search path.
-
-MSCGEN_PATH            =
-
-# If set to YES, the inheritance and collaboration graphs will hide
-# inheritance and usage relations if the target is undocumented
-# or is not a class.
-
-HIDE_UNDOC_RELATIONS   = YES
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz, a graph visualization
-# toolkit from AT&T and Lucent Bell Labs. The other options in this section
-# have no effect if this option is set to NO (the default)
-
-HAVE_DOT               = NO
-
-# By default doxygen will write a font called FreeSans.ttf to the output
-# directory and reference it in all dot files that doxygen generates. This
-# font does not include all possible unicode characters however, so when you need
-# these (or just want a differently looking font) you can specify the font name
-# using DOT_FONTNAME. You need need to make sure dot is able to find the font,
-# which can be done by putting it in a standard location or by setting the
-# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory
-# containing the font.
-
-DOT_FONTNAME           = FreeSans
-
-# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs.
-# The default size is 10pt.
-
-DOT_FONTSIZE           = 10
-
-# By default doxygen will tell dot to use the output directory to look for the
-# FreeSans.ttf font (which doxygen will put there itself). If you specify a
-# different font using DOT_FONTNAME you can set the path where dot
-# can find it using this tag.
-
-DOT_FONTPATH           =
-
-# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect inheritance relations. Setting this tag to YES will force the
-# the CLASS_DIAGRAMS tag to NO.
-
-CLASS_GRAPH            = YES
-
-# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect implementation dependencies (inheritance, containment, and
-# class references variables) of the class with other documented classes.
-
-COLLABORATION_GRAPH    = YES
-
-# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for groups, showing the direct groups dependencies
-
-GROUP_GRAPHS           = YES
-
-# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
-# collaboration diagrams in a style similar to the OMG's Unified Modeling
-# Language.
-
-UML_LOOK               = NO
-
-# If set to YES, the inheritance and collaboration graphs will show the
-# relations between templates and their instances.
-
-TEMPLATE_RELATIONS     = NO
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
-# tags are set to YES then doxygen will generate a graph for each documented
-# file showing the direct and indirect include dependencies of the file with
-# other documented files.
-
-INCLUDE_GRAPH          = YES
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
-# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
-# documented header file showing the documented files that directly or
-# indirectly include this file.
-
-INCLUDED_BY_GRAPH      = YES
-
-# If the CALL_GRAPH and HAVE_DOT options are set to YES then
-# doxygen will generate a call dependency graph for every global function
-# or class method. Note that enabling this option will significantly increase
-# the time of a run. So in most cases it will be better to enable call graphs
-# for selected functions only using the \callgraph command.
-
-CALL_GRAPH             = NO
-
-# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then
-# doxygen will generate a caller dependency graph for every global function
-# or class method. Note that enabling this option will significantly increase
-# the time of a run. So in most cases it will be better to enable caller
-# graphs for selected functions only using the \callergraph command.
-
-CALLER_GRAPH           = NO
-
-# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
-# will graphical hierarchy of all classes instead of a textual one.
-
-GRAPHICAL_HIERARCHY    = YES
-
-# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES
-# then doxygen will show the dependencies a directory has on other directories
-# in a graphical way. The dependency relations are determined by the #include
-# relations between the files in the directories.
-
-DIRECTORY_GRAPH        = YES
-
-# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
-# generated by dot. Possible values are png, jpg, or gif
-# If left blank png will be used.
-
-DOT_IMAGE_FORMAT       = png
-
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found in the path.
-
-DOT_PATH               =
-
-# The DOTFILE_DIRS tag can be used to specify one or more directories that
-# contain dot files that are included in the documentation (see the
-# \dotfile command).
-
-DOTFILE_DIRS           =
-
-# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
-# nodes that will be shown in the graph. If the number of nodes in a graph
-# becomes larger than this value, doxygen will truncate the graph, which is
-# visualized by representing a node as a red box. Note that doxygen if the
-# number of direct children of the root node in a graph is already larger than
-# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note
-# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
-
-DOT_GRAPH_MAX_NODES    = 50
-
-# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
-# graphs generated by dot. A depth value of 3 means that only nodes reachable
-# from the root by following a path via at most 3 edges will be shown. Nodes
-# that lay further from the root node will be omitted. Note that setting this
-# option to 1 or 2 may greatly reduce the computation time needed for large
-# code bases. Also note that the size of a graph can be further restricted by
-# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
-
-MAX_DOT_GRAPH_DEPTH    = 0
-
-# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
-# background. This is disabled by default, because dot on Windows does not
-# seem to support this out of the box. Warning: Depending on the platform used,
-# enabling this option may lead to badly anti-aliased labels on the edges of
-# a graph (i.e. they become hard to read).
-
-DOT_TRANSPARENT        = NO
-
-# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
-# files in one run (i.e. multiple -o and -T options on the command line). This
-# makes dot run faster, but since only newer versions of dot (>1.8.10)
-# support this, this feature is disabled by default.
-
-DOT_MULTI_TARGETS      = YES
-
-# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
-# generate a legend page explaining the meaning of the various boxes and
-# arrows in the dot generated graphs.
-
-GENERATE_LEGEND        = YES
-
-# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
-# remove the intermediate dot files that are used to generate
-# the various graphs.
-
-DOT_CLEANUP            = YES
diff --git a/drivers/gr-dbfcttc/docs/doxygen/doxyxml/__init__.py b/drivers/gr-dbfcttc/docs/doxygen/doxyxml/__init__.py
deleted file mode 100644
index 5cd0b3c..0000000
--- a/drivers/gr-dbfcttc/docs/doxygen/doxyxml/__init__.py
+++ /dev/null
@@ -1,82 +0,0 @@
-#
-# Copyright 2010 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio 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 3, or (at your option)
-# any later version.
-#
-# GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-#
-"""
-Python interface to contents of doxygen xml documentation.
-
-Example use:
-See the contents of the example folder for the C++ and
-doxygen-generated xml used in this example.
-
->>> # Parse the doxygen docs.
->>> import os
->>> this_dir = os.path.dirname(globals()['__file__'])
->>> xml_path = this_dir + "/example/xml/"
->>> di = DoxyIndex(xml_path)
-
-Get a list of all top-level objects.
-
->>> print([mem.name() for mem in di.members()])
-[u'Aadvark', u'aadvarky_enough', u'main']
-
-Get all functions.
-
->>> print([mem.name() for mem in di.in_category(DoxyFunction)])
-[u'aadvarky_enough', u'main']
-
-Check if an object is present.
-
->>> di.has_member(u'Aadvark')
-True
->>> di.has_member(u'Fish')
-False
-
-Get an item by name and check its properties.
-
->>> aad = di.get_member(u'Aadvark')
->>> print(aad.brief_description)
-Models the mammal Aadvark.
->>> print(aad.detailed_description)
-Sadly the model is incomplete and cannot capture all aspects of an aadvark yet.
-<BLANKLINE>
-This line is uninformative and is only to test line breaks in the comments.
->>> [mem.name() for mem in aad.members()]
-[u'aadvarkness', u'print', u'Aadvark', u'get_aadvarkness']
->>> aad.get_member(u'print').brief_description
-u'Outputs the vital aadvark statistics.'
-
-"""
-
-from doxyindex import DoxyIndex, DoxyFunction, DoxyParam, DoxyClass, DoxyFile, DoxyNamespace, DoxyGroup, DoxyFriend, DoxyOther
-
-def _test():
-    import os
-    this_dir = os.path.dirname(globals()['__file__'])
-    xml_path = this_dir + "/example/xml/"
-    di = DoxyIndex(xml_path)
-    # Get the Aadvark class
-    aad = di.get_member('Aadvark')
-    aad.brief_description
-    import doctest
-    return doctest.testmod()
-
-if __name__ == "__main__":
-    _test()
-
diff --git a/drivers/gr-dbfcttc/docs/doxygen/doxyxml/base.py b/drivers/gr-dbfcttc/docs/doxygen/doxyxml/base.py
deleted file mode 100644
index e8f026a..0000000
--- a/drivers/gr-dbfcttc/docs/doxygen/doxyxml/base.py
+++ /dev/null
@@ -1,219 +0,0 @@
-#
-# Copyright 2010 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio 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 3, or (at your option)
-# any later version.
-#
-# GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-#
-"""
-A base class is created.
-
-Classes based upon this are used to make more user-friendly interfaces
-to the doxygen xml docs than the generated classes provide.
-"""
-
-import os
-import pdb
-
-from xml.parsers.expat import ExpatError
-
-from generated import compound
-
-
-class Base(object):
-
-    class Duplicate(StandardError):
-        pass
-
-    class NoSuchMember(StandardError):
-        pass
-
-    class ParsingError(StandardError):
-        pass
-
-    def __init__(self, parse_data, top=None):
-        self._parsed = False
-        self._error = False
-        self._parse_data = parse_data
-        self._members = []
-        self._dict_members = {}
-        self._in_category = {}
-        self._data = {}
-        if top is not None:
-            self._xml_path = top._xml_path
-            # Set up holder of references
-        else:
-            top = self
-            self._refs = {}
-            self._xml_path = parse_data
-        self.top = top
-
-    @classmethod
-    def from_refid(cls, refid, top=None):
-        """ Instantiate class from a refid rather than parsing object. """
-        # First check to see if its already been instantiated.
-        if top is not None and refid in top._refs:
-            return top._refs[refid]
-        # Otherwise create a new instance and set refid.
-        inst = cls(None, top=top)
-        inst.refid = refid
-        inst.add_ref(inst)
-        return inst
-
-    @classmethod
-    def from_parse_data(cls, parse_data, top=None):
-        refid = getattr(parse_data, 'refid', None)
-        if refid is not None and top is not None and refid in top._refs:
-            return top._refs[refid]
-        inst = cls(parse_data, top=top)
-        if refid is not None:
-            inst.refid = refid
-            inst.add_ref(inst)
-        return inst
-
-    def add_ref(self, obj):
-        if hasattr(obj, 'refid'):
-            self.top._refs[obj.refid] = obj
-
-    mem_classes = []
-
-    def get_cls(self, mem):
-        for cls in self.mem_classes:
-            if cls.can_parse(mem):
-                return cls
-        raise StandardError(("Did not find a class for object '%s'." \
-                                 % (mem.get_name())))
-
-    def convert_mem(self, mem):
-        try:
-            cls = self.get_cls(mem)
-            converted = cls.from_parse_data(mem, self.top)
-            if converted is None:
-                raise StandardError('No class matched this object.')
-            self.add_ref(converted)
-            return converted
-        except StandardError, e:
-            print e
-
-    @classmethod
-    def includes(cls, inst):
-        return isinstance(inst, cls)
-
-    @classmethod
-    def can_parse(cls, obj):
-        return False
-
-    def _parse(self):
-        self._parsed = True
-
-    def _get_dict_members(self, cat=None):
-        """
-        For given category a dictionary is returned mapping member names to
-        members of that category.  For names that are duplicated the name is
-        mapped to None.
-        """
-        self.confirm_no_error()
-        if cat not in self._dict_members:
-            new_dict = {}
-            for mem in self.in_category(cat):
-                if mem.name() not in new_dict:
-                    new_dict[mem.name()] = mem
-                else:
-                    new_dict[mem.name()] = self.Duplicate
-            self._dict_members[cat] = new_dict
-        return self._dict_members[cat]
-
-    def in_category(self, cat):
-        self.confirm_no_error()
-        if cat is None:
-            return self._members
-        if cat not in self._in_category:
-            self._in_category[cat] = [mem for mem in self._members
-                                      if cat.includes(mem)]
-        return self._in_category[cat]
-
-    def get_member(self, name, cat=None):
-        self.confirm_no_error()
-        # Check if it's in a namespace or class.
-        bits = name.split('::')
-        first = bits[0]
-        rest = '::'.join(bits[1:])
-        member = self._get_dict_members(cat).get(first, self.NoSuchMember)
-        # Raise any errors that are returned.
-        if member in set([self.NoSuchMember, self.Duplicate]):
-            raise member()
-        if rest:
-            return member.get_member(rest, cat=cat)
-        return member
-
-    def has_member(self, name, cat=None):
-        try:
-            mem = self.get_member(name, cat=cat)
-            return True
-        except self.NoSuchMember:
-            return False
-
-    def data(self):
-        self.confirm_no_error()
-        return self._data
-
-    def members(self):
-        self.confirm_no_error()
-        return self._members
-
-    def process_memberdefs(self):
-        mdtss = []
-        for sec in self._retrieved_data.compounddef.sectiondef:
-            mdtss += sec.memberdef
-        # At the moment we lose all information associated with sections.
-        # Sometimes a memberdef is in several sectiondef.
-        # We make sure we don't get duplicates here.
-        uniques = set([])
-        for mem in mdtss:
-            converted = self.convert_mem(mem)
-            pair = (mem.name, mem.__class__)
-            if pair not in uniques:
-                uniques.add(pair)
-                self._members.append(converted)
-
-    def retrieve_data(self):
-        filename = os.path.join(self._xml_path, self.refid + '.xml')
-        try:
-            self._retrieved_data = compound.parse(filename)
-        except ExpatError:
-            print('Error in xml in file %s' % filename)
-            self._error = True
-            self._retrieved_data = None
-
-    def check_parsed(self):
-        if not self._parsed:
-            self._parse()
-
-    def confirm_no_error(self):
-        self.check_parsed()
-        if self._error:
-            raise self.ParsingError()
-
-    def error(self):
-        self.check_parsed()
-        return self._error
-
-    def name(self):
-        # first see if we can do it without processing.
-        if self._parse_data is not None:
-            return self._parse_data.name
-        self.check_parsed()
-        return self._retrieved_data.compounddef.name
diff --git a/drivers/gr-dbfcttc/docs/doxygen/doxyxml/doxyindex.py b/drivers/gr-dbfcttc/docs/doxygen/doxyxml/doxyindex.py
deleted file mode 100644
index 0132ab8..0000000
--- a/drivers/gr-dbfcttc/docs/doxygen/doxyxml/doxyindex.py
+++ /dev/null
@@ -1,237 +0,0 @@
-#
-# Copyright 2010 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio 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 3, or (at your option)
-# any later version.
-#
-# GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-#
-"""
-Classes providing more user-friendly interfaces to the doxygen xml
-docs than the generated classes provide.
-"""
-
-import os
-
-from generated import index
-from base import Base
-from text import description
-
-class DoxyIndex(Base):
-    """
-    Parses a doxygen xml directory.
-    """
-
-    __module__ = "gnuradio.utils.doxyxml"
-
-    def _parse(self):
-        if self._parsed:
-            return
-        super(DoxyIndex, self)._parse()
-        self._root = index.parse(os.path.join(self._xml_path, 'index.xml'))
-        for mem in self._root.compound:
-            converted = self.convert_mem(mem)
-            # For files we want the contents to be accessible directly
-            # from the parent rather than having to go through the file
-            # object.
-            if self.get_cls(mem) == DoxyFile:
-                if mem.name.endswith('.h'):
-                    self._members += converted.members()
-                    self._members.append(converted)
-            else:
-                self._members.append(converted)
-
-
-def generate_swig_doc_i(self):
-    """
-    %feature("docstring") gr_make_align_on_samplenumbers_ss::align_state "
-    Wraps the C++: gr_align_on_samplenumbers_ss::align_state";
-    """
-    pass
-
-
-class DoxyCompMem(Base):
-
-
-    kind = None
-
-    def __init__(self, *args, **kwargs):
-        super(DoxyCompMem, self).__init__(*args, **kwargs)
-
-    @classmethod
-    def can_parse(cls, obj):
-        return obj.kind == cls.kind
-
-    def set_descriptions(self, parse_data):
-        bd = description(getattr(parse_data, 'briefdescription', None))
-        dd = description(getattr(parse_data, 'detaileddescription', None))
-        self._data['brief_description'] = bd
-        self._data['detailed_description'] = dd
-
-class DoxyCompound(DoxyCompMem):
-    pass
-
-class DoxyMember(DoxyCompMem):
-    pass
-
-
-class DoxyFunction(DoxyMember):
-
-    __module__ = "gnuradio.utils.doxyxml"
-
-    kind = 'function'
-
-    def _parse(self):
-        if self._parsed:
-            return
-        super(DoxyFunction, self)._parse()
-        self.set_descriptions(self._parse_data)
-        self._data['params'] = []
-        prms = self._parse_data.param
-        for prm in prms:
-            self._data['params'].append(DoxyParam(prm))
-
-    brief_description = property(lambda self: self.data()['brief_description'])
-    detailed_description = property(lambda self: self.data()['detailed_description'])
-    params = property(lambda self: self.data()['params'])
-
-Base.mem_classes.append(DoxyFunction)
-
-
-class DoxyParam(DoxyMember):
-
-    __module__ = "gnuradio.utils.doxyxml"
-
-    def _parse(self):
-        if self._parsed:
-            return
-        super(DoxyParam, self)._parse()
-        self.set_descriptions(self._parse_data)
-        self._data['declname'] = self._parse_data.declname
-
-    brief_description = property(lambda self: self.data()['brief_description'])
-    detailed_description = property(lambda self: self.data()['detailed_description'])
-    declname = property(lambda self: self.data()['declname'])
-
-class DoxyClass(DoxyCompound):
-
-    __module__ = "gnuradio.utils.doxyxml"
-
-    kind = 'class'
-
-    def _parse(self):
-        if self._parsed:
-            return
-        super(DoxyClass, self)._parse()
-        self.retrieve_data()
-        if self._error:
-            return
-        self.set_descriptions(self._retrieved_data.compounddef)
-        # Sectiondef.kind tells about whether private or public.
-        # We just ignore this for now.
-        self.process_memberdefs()
-
-    brief_description = property(lambda self: self.data()['brief_description'])
-    detailed_description = property(lambda self: self.data()['detailed_description'])
-
-Base.mem_classes.append(DoxyClass)
-
-
-class DoxyFile(DoxyCompound):
-
-    __module__ = "gnuradio.utils.doxyxml"
-
-    kind = 'file'
-
-    def _parse(self):
-        if self._parsed:
-            return
-        super(DoxyFile, self)._parse()
-        self.retrieve_data()
-        self.set_descriptions(self._retrieved_data.compounddef)
-        if self._error:
-            return
-        self.process_memberdefs()
-
-    brief_description = property(lambda self: self.data()['brief_description'])
-    detailed_description = property(lambda self: self.data()['detailed_description'])
-
-Base.mem_classes.append(DoxyFile)
-
-
-class DoxyNamespace(DoxyCompound):
-
-    __module__ = "gnuradio.utils.doxyxml"
-
-    kind = 'namespace'
-
-Base.mem_classes.append(DoxyNamespace)
-
-
-class DoxyGroup(DoxyCompound):
-
-    __module__ = "gnuradio.utils.doxyxml"
-
-    kind = 'group'
-
-    def _parse(self):
-        if self._parsed:
-            return
-        super(DoxyGroup, self)._parse()
-        self.retrieve_data()
-        if self._error:
-            return
-        cdef = self._retrieved_data.compounddef
-        self._data['title'] = description(cdef.title)
-        # Process inner groups
-        grps = cdef.innergroup
-        for grp in grps:
-            converted = DoxyGroup.from_refid(grp.refid, top=self.top)
-            self._members.append(converted)
-        # Process inner classes
-        klasses = cdef.innerclass
-        for kls in klasses:
-            converted = DoxyClass.from_refid(kls.refid, top=self.top)
-            self._members.append(converted)
-        # Process normal members
-        self.process_memberdefs()
-
-    title = property(lambda self: self.data()['title'])
-
-
-Base.mem_classes.append(DoxyGroup)
-
-
-class DoxyFriend(DoxyMember):
-
-    __module__ = "gnuradio.utils.doxyxml"
-
-    kind = 'friend'
-
-Base.mem_classes.append(DoxyFriend)
-
-
-class DoxyOther(Base):
-
-    __module__ = "gnuradio.utils.doxyxml"
-
-    kinds = set(['variable', 'struct', 'union', 'define', 'typedef', 'enum', 'dir', 'page'])
-
-    @classmethod
-    def can_parse(cls, obj):
-        return obj.kind in cls.kinds
-
-Base.mem_classes.append(DoxyOther)
-
diff --git a/drivers/gr-dbfcttc/docs/doxygen/doxyxml/generated/__init__.py b/drivers/gr-dbfcttc/docs/doxygen/doxyxml/generated/__init__.py
deleted file mode 100644
index 3982397..0000000
--- a/drivers/gr-dbfcttc/docs/doxygen/doxyxml/generated/__init__.py
+++ /dev/null
@@ -1,7 +0,0 @@
-"""
-Contains generated files produced by generateDS.py.
-
-These do the real work of parsing the doxygen xml files but the
-resultant classes are not very friendly to navigate so the rest of the
-doxyxml module processes them further.
-"""
diff --git a/drivers/gr-dbfcttc/docs/doxygen/doxyxml/generated/compound.py b/drivers/gr-dbfcttc/docs/doxygen/doxyxml/generated/compound.py
deleted file mode 100644
index 1522ac2..0000000
--- a/drivers/gr-dbfcttc/docs/doxygen/doxyxml/generated/compound.py
+++ /dev/null
@@ -1,503 +0,0 @@
-#!/usr/bin/env python
-
-"""
-Generated Mon Feb  9 19:08:05 2009 by generateDS.py.
-"""
-
-from string import lower as str_lower
-from xml.dom import minidom
-from xml.dom import Node
-
-import sys
-
-import compoundsuper as supermod
-from compoundsuper import MixedContainer
-
-
-class DoxygenTypeSub(supermod.DoxygenType):
-    def __init__(self, version=None, compounddef=None):
-        supermod.DoxygenType.__init__(self, version, compounddef)
-
-    def find(self, details):
-
-        return self.compounddef.find(details)
-
-supermod.DoxygenType.subclass = DoxygenTypeSub
-# end class DoxygenTypeSub
-
-
-class compounddefTypeSub(supermod.compounddefType):
-    def __init__(self, kind=None, prot=None, id=None, compoundname='', title='', basecompoundref=None, derivedcompoundref=None, includes=None, includedby=None, incdepgraph=None, invincdepgraph=None, innerdir=None, innerfile=None, innerclass=None, innernamespace=None, innerpage=None, innergroup=None, templateparamlist=None, sectiondef=None, briefdescription=None, detaileddescription=None, inheritancegraph=None, collaborationgraph=None, programlisting=None, location=None, listofallmembers=None):
-        supermod.compounddefType.__init__(self, kind, prot, id, compoundname, title, basecompoundref, derivedcompoundref, includes, includedby, incdepgraph, invincdepgraph, innerdir, innerfile, innerclass, innernamespace, innerpage, innergroup, templateparamlist, sectiondef, briefdescription, detaileddescription, inheritancegraph, collaborationgraph, programlisting, location, listofallmembers)
-
-    def find(self, details):
-
-        if self.id == details.refid:
-            return self
-
-        for sectiondef in self.sectiondef:
-            result = sectiondef.find(details)
-            if result:
-                return result
-
-
-supermod.compounddefType.subclass = compounddefTypeSub
-# end class compounddefTypeSub
-
-
-class listofallmembersTypeSub(supermod.listofallmembersType):
-    def __init__(self, member=None):
-        supermod.listofallmembersType.__init__(self, member)
-supermod.listofallmembersType.subclass = listofallmembersTypeSub
-# end class listofallmembersTypeSub
-
-
-class memberRefTypeSub(supermod.memberRefType):
-    def __init__(self, virt=None, prot=None, refid=None, ambiguityscope=None, scope='', name=''):
-        supermod.memberRefType.__init__(self, virt, prot, refid, ambiguityscope, scope, name)
-supermod.memberRefType.subclass = memberRefTypeSub
-# end class memberRefTypeSub
-
-
-class compoundRefTypeSub(supermod.compoundRefType):
-    def __init__(self, virt=None, prot=None, refid=None, valueOf_='', mixedclass_=None, content_=None):
-        supermod.compoundRefType.__init__(self, mixedclass_, content_)
-supermod.compoundRefType.subclass = compoundRefTypeSub
-# end class compoundRefTypeSub
-
-
-class reimplementTypeSub(supermod.reimplementType):
-    def __init__(self, refid=None, valueOf_='', mixedclass_=None, content_=None):
-        supermod.reimplementType.__init__(self, mixedclass_, content_)
-supermod.reimplementType.subclass = reimplementTypeSub
-# end class reimplementTypeSub
-
-
-class incTypeSub(supermod.incType):
-    def __init__(self, local=None, refid=None, valueOf_='', mixedclass_=None, content_=None):
-        supermod.incType.__init__(self, mixedclass_, content_)
-supermod.incType.subclass = incTypeSub
-# end class incTypeSub
-
-
-class refTypeSub(supermod.refType):
-    def __init__(self, prot=None, refid=None, valueOf_='', mixedclass_=None, content_=None):
-        supermod.refType.__init__(self, mixedclass_, content_)
-supermod.refType.subclass = refTypeSub
-# end class refTypeSub
-
-
-
-class refTextTypeSub(supermod.refTextType):
-    def __init__(self, refid=None, kindref=None, external=None, valueOf_='', mixedclass_=None, content_=None):
-        supermod.refTextType.__init__(self, mixedclass_, content_)
-
-supermod.refTextType.subclass = refTextTypeSub
-# end class refTextTypeSub
-
-class sectiondefTypeSub(supermod.sectiondefType):
-
-
-    def __init__(self, kind=None, header='', description=None, memberdef=None):
-        supermod.sectiondefType.__init__(self, kind, header, description, memberdef)
-
-    def find(self, details):
-
-        for memberdef in self.memberdef:
-            if memberdef.id == details.refid:
-                return memberdef
-
-        return None
-
-
-supermod.sectiondefType.subclass = sectiondefTypeSub
-# end class sectiondefTypeSub
-
-
-class memberdefTypeSub(supermod.memberdefType):
-    def __init__(self, initonly=None, kind=None, volatile=None, const=None, raise_=None, virt=None, readable=None, prot=None, explicit=None, new=None, final=None, writable=None, add=None, static=None, remove=None, sealed=None, mutable=None, gettable=None, inline=None, settable=None, id=None, templateparamlist=None, type_=None, definition='', argsstring='', name='', read='', write='', bitfield='', reimplements=None, reimplementedby=None, param=None, enumvalue=None, initializer=None, excep [...]
-        supermod.memberdefType.__init__(self, initonly, kind, volatile, const, raise_, virt, readable, prot, explicit, new, final, writable, add, static, remove, sealed, mutable, gettable, inline, settable, id, templateparamlist, type_, definition, argsstring, name, read, write, bitfield, reimplements, reimplementedby, param, enumvalue, initializer, exceptions, briefdescription, detaileddescription, inbodydescription, location, references, referencedby)
-supermod.memberdefType.subclass = memberdefTypeSub
-# end class memberdefTypeSub
-
-
-class descriptionTypeSub(supermod.descriptionType):
-    def __init__(self, title='', para=None, sect1=None, internal=None, mixedclass_=None, content_=None):
-        supermod.descriptionType.__init__(self, mixedclass_, content_)
-supermod.descriptionType.subclass = descriptionTypeSub
-# end class descriptionTypeSub
-
-
-class enumvalueTypeSub(supermod.enumvalueType):
-    def __init__(self, prot=None, id=None, name='', initializer=None, briefdescription=None, detaileddescription=None, mixedclass_=None, content_=None):
-        supermod.enumvalueType.__init__(self, mixedclass_, content_)
-supermod.enumvalueType.subclass = enumvalueTypeSub
-# end class enumvalueTypeSub
-
-
-class templateparamlistTypeSub(supermod.templateparamlistType):
-    def __init__(self, param=None):
-        supermod.templateparamlistType.__init__(self, param)
-supermod.templateparamlistType.subclass = templateparamlistTypeSub
-# end class templateparamlistTypeSub
-
-
-class paramTypeSub(supermod.paramType):
-    def __init__(self, type_=None, declname='', defname='', array='', defval=None, briefdescription=None):
-        supermod.paramType.__init__(self, type_, declname, defname, array, defval, briefdescription)
-supermod.paramType.subclass = paramTypeSub
-# end class paramTypeSub
-
-
-class linkedTextTypeSub(supermod.linkedTextType):
-    def __init__(self, ref=None, mixedclass_=None, content_=None):
-        supermod.linkedTextType.__init__(self, mixedclass_, content_)
-supermod.linkedTextType.subclass = linkedTextTypeSub
-# end class linkedTextTypeSub
-
-
-class graphTypeSub(supermod.graphType):
-    def __init__(self, node=None):
-        supermod.graphType.__init__(self, node)
-supermod.graphType.subclass = graphTypeSub
-# end class graphTypeSub
-
-
-class nodeTypeSub(supermod.nodeType):
-    def __init__(self, id=None, label='', link=None, childnode=None):
-        supermod.nodeType.__init__(self, id, label, link, childnode)
-supermod.nodeType.subclass = nodeTypeSub
-# end class nodeTypeSub
-
-
-class childnodeTypeSub(supermod.childnodeType):
-    def __init__(self, relation=None, refid=None, edgelabel=None):
-        supermod.childnodeType.__init__(self, relation, refid, edgelabel)
-supermod.childnodeType.subclass = childnodeTypeSub
-# end class childnodeTypeSub
-
-
-class linkTypeSub(supermod.linkType):
-    def __init__(self, refid=None, external=None, valueOf_=''):
-        supermod.linkType.__init__(self, refid, external)
-supermod.linkType.subclass = linkTypeSub
-# end class linkTypeSub
-
-
-class listingTypeSub(supermod.listingType):
-    def __init__(self, codeline=None):
-        supermod.listingType.__init__(self, codeline)
-supermod.listingType.subclass = listingTypeSub
-# end class listingTypeSub
-
-
-class codelineTypeSub(supermod.codelineType):
-    def __init__(self, external=None, lineno=None, refkind=None, refid=None, highlight=None):
-        supermod.codelineType.__init__(self, external, lineno, refkind, refid, highlight)
-supermod.codelineType.subclass = codelineTypeSub
-# end class codelineTypeSub
-
-
-class highlightTypeSub(supermod.highlightType):
-    def __init__(self, class_=None, sp=None, ref=None, mixedclass_=None, content_=None):
-        supermod.highlightType.__init__(self, mixedclass_, content_)
-supermod.highlightType.subclass = highlightTypeSub
-# end class highlightTypeSub
-
-
-class referenceTypeSub(supermod.referenceType):
-    def __init__(self, endline=None, startline=None, refid=None, compoundref=None, valueOf_='', mixedclass_=None, content_=None):
-        supermod.referenceType.__init__(self, mixedclass_, content_)
-supermod.referenceType.subclass = referenceTypeSub
-# end class referenceTypeSub
-
-
-class locationTypeSub(supermod.locationType):
-    def __init__(self, bodystart=None, line=None, bodyend=None, bodyfile=None, file=None, valueOf_=''):
-        supermod.locationType.__init__(self, bodystart, line, bodyend, bodyfile, file)
-supermod.locationType.subclass = locationTypeSub
-# end class locationTypeSub
-
-
-class docSect1TypeSub(supermod.docSect1Type):
-    def __init__(self, id=None, title='', para=None, sect2=None, internal=None, mixedclass_=None, content_=None):
-        supermod.docSect1Type.__init__(self, mixedclass_, content_)
-supermod.docSect1Type.subclass = docSect1TypeSub
-# end class docSect1TypeSub
-
-
-class docSect2TypeSub(supermod.docSect2Type):
-    def __init__(self, id=None, title='', para=None, sect3=None, internal=None, mixedclass_=None, content_=None):
-        supermod.docSect2Type.__init__(self, mixedclass_, content_)
-supermod.docSect2Type.subclass = docSect2TypeSub
-# end class docSect2TypeSub
-
-
-class docSect3TypeSub(supermod.docSect3Type):
-    def __init__(self, id=None, title='', para=None, sect4=None, internal=None, mixedclass_=None, content_=None):
-        supermod.docSect3Type.__init__(self, mixedclass_, content_)
-supermod.docSect3Type.subclass = docSect3TypeSub
-# end class docSect3TypeSub
-
-
-class docSect4TypeSub(supermod.docSect4Type):
-    def __init__(self, id=None, title='', para=None, internal=None, mixedclass_=None, content_=None):
-        supermod.docSect4Type.__init__(self, mixedclass_, content_)
-supermod.docSect4Type.subclass = docSect4TypeSub
-# end class docSect4TypeSub
-
-
-class docInternalTypeSub(supermod.docInternalType):
-    def __init__(self, para=None, sect1=None, mixedclass_=None, content_=None):
-        supermod.docInternalType.__init__(self, mixedclass_, content_)
-supermod.docInternalType.subclass = docInternalTypeSub
-# end class docInternalTypeSub
-
-
-class docInternalS1TypeSub(supermod.docInternalS1Type):
-    def __init__(self, para=None, sect2=None, mixedclass_=None, content_=None):
-        supermod.docInternalS1Type.__init__(self, mixedclass_, content_)
-supermod.docInternalS1Type.subclass = docInternalS1TypeSub
-# end class docInternalS1TypeSub
-
-
-class docInternalS2TypeSub(supermod.docInternalS2Type):
-    def __init__(self, para=None, sect3=None, mixedclass_=None, content_=None):
-        supermod.docInternalS2Type.__init__(self, mixedclass_, content_)
-supermod.docInternalS2Type.subclass = docInternalS2TypeSub
-# end class docInternalS2TypeSub
-
-
-class docInternalS3TypeSub(supermod.docInternalS3Type):
-    def __init__(self, para=None, sect3=None, mixedclass_=None, content_=None):
-        supermod.docInternalS3Type.__init__(self, mixedclass_, content_)
-supermod.docInternalS3Type.subclass = docInternalS3TypeSub
-# end class docInternalS3TypeSub
-
-
-class docInternalS4TypeSub(supermod.docInternalS4Type):
-    def __init__(self, para=None, mixedclass_=None, content_=None):
-        supermod.docInternalS4Type.__init__(self, mixedclass_, content_)
-supermod.docInternalS4Type.subclass = docInternalS4TypeSub
-# end class docInternalS4TypeSub
-
-
-class docURLLinkSub(supermod.docURLLink):
-    def __init__(self, url=None, valueOf_='', mixedclass_=None, content_=None):
-        supermod.docURLLink.__init__(self, mixedclass_, content_)
-supermod.docURLLink.subclass = docURLLinkSub
-# end class docURLLinkSub
-
-
-class docAnchorTypeSub(supermod.docAnchorType):
-    def __init__(self, id=None, valueOf_='', mixedclass_=None, content_=None):
-        supermod.docAnchorType.__init__(self, mixedclass_, content_)
-supermod.docAnchorType.subclass = docAnchorTypeSub
-# end class docAnchorTypeSub
-
-
-class docFormulaTypeSub(supermod.docFormulaType):
-    def __init__(self, id=None, valueOf_='', mixedclass_=None, content_=None):
-        supermod.docFormulaType.__init__(self, mixedclass_, content_)
-supermod.docFormulaType.subclass = docFormulaTypeSub
-# end class docFormulaTypeSub
-
-
-class docIndexEntryTypeSub(supermod.docIndexEntryType):
-    def __init__(self, primaryie='', secondaryie=''):
-        supermod.docIndexEntryType.__init__(self, primaryie, secondaryie)
-supermod.docIndexEntryType.subclass = docIndexEntryTypeSub
-# end class docIndexEntryTypeSub
-
-
-class docListTypeSub(supermod.docListType):
-    def __init__(self, listitem=None):
-        supermod.docListType.__init__(self, listitem)
-supermod.docListType.subclass = docListTypeSub
-# end class docListTypeSub
-
-
-class docListItemTypeSub(supermod.docListItemType):
-    def __init__(self, para=None):
-        supermod.docListItemType.__init__(self, para)
-supermod.docListItemType.subclass = docListItemTypeSub
-# end class docListItemTypeSub
-
-
-class docSimpleSectTypeSub(supermod.docSimpleSectType):
-    def __init__(self, kind=None, title=None, para=None):
-        supermod.docSimpleSectType.__init__(self, kind, title, para)
-supermod.docSimpleSectType.subclass = docSimpleSectTypeSub
-# end class docSimpleSectTypeSub
-
-
-class docVarListEntryTypeSub(supermod.docVarListEntryType):
-    def __init__(self, term=None):
-        supermod.docVarListEntryType.__init__(self, term)
-supermod.docVarListEntryType.subclass = docVarListEntryTypeSub
-# end class docVarListEntryTypeSub
-
-
-class docRefTextTypeSub(supermod.docRefTextType):
-    def __init__(self, refid=None, kindref=None, external=None, valueOf_='', mixedclass_=None, content_=None):
-        supermod.docRefTextType.__init__(self, mixedclass_, content_)
-supermod.docRefTextType.subclass = docRefTextTypeSub
-# end class docRefTextTypeSub
-
-
-class docTableTypeSub(supermod.docTableType):
-    def __init__(self, rows=None, cols=None, row=None, caption=None):
-        supermod.docTableType.__init__(self, rows, cols, row, caption)
-supermod.docTableType.subclass = docTableTypeSub
-# end class docTableTypeSub
-
-
-class docRowTypeSub(supermod.docRowType):
-    def __init__(self, entry=None):
-        supermod.docRowType.__init__(self, entry)
-supermod.docRowType.subclass = docRowTypeSub
-# end class docRowTypeSub
-
-
-class docEntryTypeSub(supermod.docEntryType):
-    def __init__(self, thead=None, para=None):
-        supermod.docEntryType.__init__(self, thead, para)
-supermod.docEntryType.subclass = docEntryTypeSub
-# end class docEntryTypeSub
-
-
-class docHeadingTypeSub(supermod.docHeadingType):
-    def __init__(self, level=None, valueOf_='', mixedclass_=None, content_=None):
-        supermod.docHeadingType.__init__(self, mixedclass_, content_)
-supermod.docHeadingType.subclass = docHeadingTypeSub
-# end class docHeadingTypeSub
-
-
-class docImageTypeSub(supermod.docImageType):
-    def __init__(self, width=None, type_=None, name=None, height=None, valueOf_='', mixedclass_=None, content_=None):
-        supermod.docImageType.__init__(self, mixedclass_, content_)
-supermod.docImageType.subclass = docImageTypeSub
-# end class docImageTypeSub
-
-
-class docDotFileTypeSub(supermod.docDotFileType):
-    def __init__(self, name=None, valueOf_='', mixedclass_=None, content_=None):
-        supermod.docDotFileType.__init__(self, mixedclass_, content_)
-supermod.docDotFileType.subclass = docDotFileTypeSub
-# end class docDotFileTypeSub
-
-
-class docTocItemTypeSub(supermod.docTocItemType):
-    def __init__(self, id=None, valueOf_='', mixedclass_=None, content_=None):
-        supermod.docTocItemType.__init__(self, mixedclass_, content_)
-supermod.docTocItemType.subclass = docTocItemTypeSub
-# end class docTocItemTypeSub
-
-
-class docTocListTypeSub(supermod.docTocListType):
-    def __init__(self, tocitem=None):
-        supermod.docTocListType.__init__(self, tocitem)
-supermod.docTocListType.subclass = docTocListTypeSub
-# end class docTocListTypeSub
-
-
-class docLanguageTypeSub(supermod.docLanguageType):
-    def __init__(self, langid=None, para=None):
-        supermod.docLanguageType.__init__(self, langid, para)
-supermod.docLanguageType.subclass = docLanguageTypeSub
-# end class docLanguageTypeSub
-
-
-class docParamListTypeSub(supermod.docParamListType):
-    def __init__(self, kind=None, parameteritem=None):
-        supermod.docParamListType.__init__(self, kind, parameteritem)
-supermod.docParamListType.subclass = docParamListTypeSub
-# end class docParamListTypeSub
-
-
-class docParamListItemSub(supermod.docParamListItem):
-    def __init__(self, parameternamelist=None, parameterdescription=None):
-        supermod.docParamListItem.__init__(self, parameternamelist, parameterdescription)
-supermod.docParamListItem.subclass = docParamListItemSub
-# end class docParamListItemSub
-
-
-class docParamNameListSub(supermod.docParamNameList):
-    def __init__(self, parametername=None):
-        supermod.docParamNameList.__init__(self, parametername)
-supermod.docParamNameList.subclass = docParamNameListSub
-# end class docParamNameListSub
-
-
-class docParamNameSub(supermod.docParamName):
-    def __init__(self, direction=None, ref=None, mixedclass_=None, content_=None):
-        supermod.docParamName.__init__(self, mixedclass_, content_)
-supermod.docParamName.subclass = docParamNameSub
-# end class docParamNameSub
-
-
-class docXRefSectTypeSub(supermod.docXRefSectType):
-    def __init__(self, id=None, xreftitle=None, xrefdescription=None):
-        supermod.docXRefSectType.__init__(self, id, xreftitle, xrefdescription)
-supermod.docXRefSectType.subclass = docXRefSectTypeSub
-# end class docXRefSectTypeSub
-
-
-class docCopyTypeSub(supermod.docCopyType):
-    def __init__(self, link=None, para=None, sect1=None, internal=None):
-        supermod.docCopyType.__init__(self, link, para, sect1, internal)
-supermod.docCopyType.subclass = docCopyTypeSub
-# end class docCopyTypeSub
-
-
-class docCharTypeSub(supermod.docCharType):
-    def __init__(self, char=None, valueOf_=''):
-        supermod.docCharType.__init__(self, char)
-supermod.docCharType.subclass = docCharTypeSub
-# end class docCharTypeSub
-
-class docParaTypeSub(supermod.docParaType):
-    def __init__(self, char=None, valueOf_=''):
-        supermod.docParaType.__init__(self, char)
-
-        self.parameterlist = []
-        self.simplesects = []
-        self.content = []
-
-    def buildChildren(self, child_, nodeName_):
-        supermod.docParaType.buildChildren(self, child_, nodeName_)
-
-        if child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-                nodeName_ == "ref":
-            obj_ = supermod.docRefTextType.factory()
-            obj_.build(child_)
-            self.content.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-                nodeName_ == 'parameterlist':
-            obj_ = supermod.docParamListType.factory()
-            obj_.build(child_)
-            self.parameterlist.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-                nodeName_ == 'simplesect':
-            obj_ = supermod.docSimpleSectType.factory()
-            obj_.build(child_)
-            self.simplesects.append(obj_)
-
-
-supermod.docParaType.subclass = docParaTypeSub
-# end class docParaTypeSub
-
-
-
-def parse(inFilename):
-    doc = minidom.parse(inFilename)
-    rootNode = doc.documentElement
-    rootObj = supermod.DoxygenType.factory()
-    rootObj.build(rootNode)
-    return rootObj
-
-
diff --git a/drivers/gr-dbfcttc/docs/doxygen/doxyxml/generated/compoundsuper.py b/drivers/gr-dbfcttc/docs/doxygen/doxyxml/generated/compoundsuper.py
deleted file mode 100644
index 6255dda..0000000
--- a/drivers/gr-dbfcttc/docs/doxygen/doxyxml/generated/compoundsuper.py
+++ /dev/null
@@ -1,8342 +0,0 @@
-#!/usr/bin/env python
-
-#
-# Generated Thu Jun 11 18:44:25 2009 by generateDS.py.
-#
-
-import sys
-import getopt
-from string import lower as str_lower
-from xml.dom import minidom
-from xml.dom import Node
-
-#
-# User methods
-#
-# Calls to the methods in these classes are generated by generateDS.py.
-# You can replace these methods by re-implementing the following class
-#   in a module named generatedssuper.py.
-
-try:
-    from generatedssuper import GeneratedsSuper
-except ImportError, exp:
-
-    class GeneratedsSuper:
-        def format_string(self, input_data, input_name=''):
-            return input_data
-        def format_integer(self, input_data, input_name=''):
-            return '%d' % input_data
-        def format_float(self, input_data, input_name=''):
-            return '%f' % input_data
-        def format_double(self, input_data, input_name=''):
-            return '%e' % input_data
-        def format_boolean(self, input_data, input_name=''):
-            return '%s' % input_data
-
-
-#
-# If you have installed IPython you can uncomment and use the following.
-# IPython is available from http://ipython.scipy.org/.
-#
-
-## from IPython.Shell import IPShellEmbed
-## args = ''
-## ipshell = IPShellEmbed(args,
-##     banner = 'Dropping into IPython',
-##     exit_msg = 'Leaving Interpreter, back to program.')
-
-# Then use the following line where and when you want to drop into the
-# IPython shell:
-#    ipshell('<some message> -- Entering ipshell.\nHit Ctrl-D to exit')
-
-#
-# Globals
-#
-
-ExternalEncoding = 'ascii'
-
-#
-# Support/utility functions.
-#
-
-def showIndent(outfile, level):
-    for idx in range(level):
-        outfile.write('    ')
-
-def quote_xml(inStr):
-    s1 = (isinstance(inStr, basestring) and inStr or
-          '%s' % inStr)
-    s1 = s1.replace('&', '&')
-    s1 = s1.replace('<', '<')
-    s1 = s1.replace('>', '>')
-    return s1
-
-def quote_attrib(inStr):
-    s1 = (isinstance(inStr, basestring) and inStr or
-          '%s' % inStr)
-    s1 = s1.replace('&', '&')
-    s1 = s1.replace('<', '<')
-    s1 = s1.replace('>', '>')
-    if '"' in s1:
-        if "'" in s1:
-            s1 = '"%s"' % s1.replace('"', """)
-        else:
-            s1 = "'%s'" % s1
-    else:
-        s1 = '"%s"' % s1
-    return s1
-
-def quote_python(inStr):
-    s1 = inStr
-    if s1.find("'") == -1:
-        if s1.find('\n') == -1:
-            return "'%s'" % s1
-        else:
-            return "'''%s'''" % s1
-    else:
-        if s1.find('"') != -1:
-            s1 = s1.replace('"', '\\"')
-        if s1.find('\n') == -1:
-            return '"%s"' % s1
-        else:
-            return '"""%s"""' % s1
-
-
-class MixedContainer:
-    # Constants for category:
-    CategoryNone = 0
-    CategoryText = 1
-    CategorySimple = 2
-    CategoryComplex = 3
-    # Constants for content_type:
-    TypeNone = 0
-    TypeText = 1
-    TypeString = 2
-    TypeInteger = 3
-    TypeFloat = 4
-    TypeDecimal = 5
-    TypeDouble = 6
-    TypeBoolean = 7
-    def __init__(self, category, content_type, name, value):
-        self.category = category
-        self.content_type = content_type
-        self.name = name
-        self.value = value
-    def getCategory(self):
-        return self.category
-    def getContenttype(self, content_type):
-        return self.content_type
-    def getValue(self):
-        return self.value
-    def getName(self):
-        return self.name
-    def export(self, outfile, level, name, namespace):
-        if self.category == MixedContainer.CategoryText:
-            outfile.write(self.value)
-        elif self.category == MixedContainer.CategorySimple:
-            self.exportSimple(outfile, level, name)
-        else:    # category == MixedContainer.CategoryComplex
-            self.value.export(outfile, level, namespace,name)
-    def exportSimple(self, outfile, level, name):
-        if self.content_type == MixedContainer.TypeString:
-            outfile.write('<%s>%s</%s>' % (self.name, self.value, self.name))
-        elif self.content_type == MixedContainer.TypeInteger or \
-                self.content_type == MixedContainer.TypeBoolean:
-            outfile.write('<%s>%d</%s>' % (self.name, self.value, self.name))
-        elif self.content_type == MixedContainer.TypeFloat or \
-                self.content_type == MixedContainer.TypeDecimal:
-            outfile.write('<%s>%f</%s>' % (self.name, self.value, self.name))
-        elif self.content_type == MixedContainer.TypeDouble:
-            outfile.write('<%s>%g</%s>' % (self.name, self.value, self.name))
-    def exportLiteral(self, outfile, level, name):
-        if self.category == MixedContainer.CategoryText:
-            showIndent(outfile, level)
-            outfile.write('MixedContainer(%d, %d, "%s", "%s"),\n' % \
-                (self.category, self.content_type, self.name, self.value))
-        elif self.category == MixedContainer.CategorySimple:
-            showIndent(outfile, level)
-            outfile.write('MixedContainer(%d, %d, "%s", "%s"),\n' % \
-                (self.category, self.content_type, self.name, self.value))
-        else:    # category == MixedContainer.CategoryComplex
-            showIndent(outfile, level)
-            outfile.write('MixedContainer(%d, %d, "%s",\n' % \
-                (self.category, self.content_type, self.name,))
-            self.value.exportLiteral(outfile, level + 1)
-            showIndent(outfile, level)
-            outfile.write(')\n')
-
-
-class _MemberSpec(object):
-    def __init__(self, name='', data_type='', container=0):
-        self.name = name
-        self.data_type = data_type
-        self.container = container
-    def set_name(self, name): self.name = name
-    def get_name(self): return self.name
-    def set_data_type(self, data_type): self.data_type = data_type
-    def get_data_type(self): return self.data_type
-    def set_container(self, container): self.container = container
-    def get_container(self): return self.container
-
-
-#
-# Data representation classes.
-#
-
-class DoxygenType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, version=None, compounddef=None):
-        self.version = version
-        self.compounddef = compounddef
-    def factory(*args_, **kwargs_):
-        if DoxygenType.subclass:
-            return DoxygenType.subclass(*args_, **kwargs_)
-        else:
-            return DoxygenType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_compounddef(self): return self.compounddef
-    def set_compounddef(self, compounddef): self.compounddef = compounddef
-    def get_version(self): return self.version
-    def set_version(self, version): self.version = version
-    def export(self, outfile, level, namespace_='', name_='DoxygenType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='DoxygenType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='DoxygenType'):
-        outfile.write(' version=%s' % (quote_attrib(self.version), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='DoxygenType'):
-        if self.compounddef:
-            self.compounddef.export(outfile, level, namespace_, name_='compounddef')
-    def hasContent_(self):
-        if (
-            self.compounddef is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='DoxygenType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.version is not None:
-            showIndent(outfile, level)
-            outfile.write('version = "%s",\n' % (self.version,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        if self.compounddef:
-            showIndent(outfile, level)
-            outfile.write('compounddef=model_.compounddefType(\n')
-            self.compounddef.exportLiteral(outfile, level, name_='compounddef')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('version'):
-            self.version = attrs.get('version').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'compounddef':
-            obj_ = compounddefType.factory()
-            obj_.build(child_)
-            self.set_compounddef(obj_)
-# end class DoxygenType
-
-
-class compounddefType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, kind=None, prot=None, id=None, compoundname=None, title=None, basecompoundref=None, derivedcompoundref=None, includes=None, includedby=None, incdepgraph=None, invincdepgraph=None, innerdir=None, innerfile=None, innerclass=None, innernamespace=None, innerpage=None, innergroup=None, templateparamlist=None, sectiondef=None, briefdescription=None, detaileddescription=None, inheritancegraph=None, collaborationgraph=None, programlisting=None, location=None, listofallmemb [...]
-        self.kind = kind
-        self.prot = prot
-        self.id = id
-        self.compoundname = compoundname
-        self.title = title
-        if basecompoundref is None:
-            self.basecompoundref = []
-        else:
-            self.basecompoundref = basecompoundref
-        if derivedcompoundref is None:
-            self.derivedcompoundref = []
-        else:
-            self.derivedcompoundref = derivedcompoundref
-        if includes is None:
-            self.includes = []
-        else:
-            self.includes = includes
-        if includedby is None:
-            self.includedby = []
-        else:
-            self.includedby = includedby
-        self.incdepgraph = incdepgraph
-        self.invincdepgraph = invincdepgraph
-        if innerdir is None:
-            self.innerdir = []
-        else:
-            self.innerdir = innerdir
-        if innerfile is None:
-            self.innerfile = []
-        else:
-            self.innerfile = innerfile
-        if innerclass is None:
-            self.innerclass = []
-        else:
-            self.innerclass = innerclass
-        if innernamespace is None:
-            self.innernamespace = []
-        else:
-            self.innernamespace = innernamespace
-        if innerpage is None:
-            self.innerpage = []
-        else:
-            self.innerpage = innerpage
-        if innergroup is None:
-            self.innergroup = []
-        else:
-            self.innergroup = innergroup
-        self.templateparamlist = templateparamlist
-        if sectiondef is None:
-            self.sectiondef = []
-        else:
-            self.sectiondef = sectiondef
-        self.briefdescription = briefdescription
-        self.detaileddescription = detaileddescription
-        self.inheritancegraph = inheritancegraph
-        self.collaborationgraph = collaborationgraph
-        self.programlisting = programlisting
-        self.location = location
-        self.listofallmembers = listofallmembers
-    def factory(*args_, **kwargs_):
-        if compounddefType.subclass:
-            return compounddefType.subclass(*args_, **kwargs_)
-        else:
-            return compounddefType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_compoundname(self): return self.compoundname
-    def set_compoundname(self, compoundname): self.compoundname = compoundname
-    def get_title(self): return self.title
-    def set_title(self, title): self.title = title
-    def get_basecompoundref(self): return self.basecompoundref
-    def set_basecompoundref(self, basecompoundref): self.basecompoundref = basecompoundref
-    def add_basecompoundref(self, value): self.basecompoundref.append(value)
-    def insert_basecompoundref(self, index, value): self.basecompoundref[index] = value
-    def get_derivedcompoundref(self): return self.derivedcompoundref
-    def set_derivedcompoundref(self, derivedcompoundref): self.derivedcompoundref = derivedcompoundref
-    def add_derivedcompoundref(self, value): self.derivedcompoundref.append(value)
-    def insert_derivedcompoundref(self, index, value): self.derivedcompoundref[index] = value
-    def get_includes(self): return self.includes
-    def set_includes(self, includes): self.includes = includes
-    def add_includes(self, value): self.includes.append(value)
-    def insert_includes(self, index, value): self.includes[index] = value
-    def get_includedby(self): return self.includedby
-    def set_includedby(self, includedby): self.includedby = includedby
-    def add_includedby(self, value): self.includedby.append(value)
-    def insert_includedby(self, index, value): self.includedby[index] = value
-    def get_incdepgraph(self): return self.incdepgraph
-    def set_incdepgraph(self, incdepgraph): self.incdepgraph = incdepgraph
-    def get_invincdepgraph(self): return self.invincdepgraph
-    def set_invincdepgraph(self, invincdepgraph): self.invincdepgraph = invincdepgraph
-    def get_innerdir(self): return self.innerdir
-    def set_innerdir(self, innerdir): self.innerdir = innerdir
-    def add_innerdir(self, value): self.innerdir.append(value)
-    def insert_innerdir(self, index, value): self.innerdir[index] = value
-    def get_innerfile(self): return self.innerfile
-    def set_innerfile(self, innerfile): self.innerfile = innerfile
-    def add_innerfile(self, value): self.innerfile.append(value)
-    def insert_innerfile(self, index, value): self.innerfile[index] = value
-    def get_innerclass(self): return self.innerclass
-    def set_innerclass(self, innerclass): self.innerclass = innerclass
-    def add_innerclass(self, value): self.innerclass.append(value)
-    def insert_innerclass(self, index, value): self.innerclass[index] = value
-    def get_innernamespace(self): return self.innernamespace
-    def set_innernamespace(self, innernamespace): self.innernamespace = innernamespace
-    def add_innernamespace(self, value): self.innernamespace.append(value)
-    def insert_innernamespace(self, index, value): self.innernamespace[index] = value
-    def get_innerpage(self): return self.innerpage
-    def set_innerpage(self, innerpage): self.innerpage = innerpage
-    def add_innerpage(self, value): self.innerpage.append(value)
-    def insert_innerpage(self, index, value): self.innerpage[index] = value
-    def get_innergroup(self): return self.innergroup
-    def set_innergroup(self, innergroup): self.innergroup = innergroup
-    def add_innergroup(self, value): self.innergroup.append(value)
-    def insert_innergroup(self, index, value): self.innergroup[index] = value
-    def get_templateparamlist(self): return self.templateparamlist
-    def set_templateparamlist(self, templateparamlist): self.templateparamlist = templateparamlist
-    def get_sectiondef(self): return self.sectiondef
-    def set_sectiondef(self, sectiondef): self.sectiondef = sectiondef
-    def add_sectiondef(self, value): self.sectiondef.append(value)
-    def insert_sectiondef(self, index, value): self.sectiondef[index] = value
-    def get_briefdescription(self): return self.briefdescription
-    def set_briefdescription(self, briefdescription): self.briefdescription = briefdescription
-    def get_detaileddescription(self): return self.detaileddescription
-    def set_detaileddescription(self, detaileddescription): self.detaileddescription = detaileddescription
-    def get_inheritancegraph(self): return self.inheritancegraph
-    def set_inheritancegraph(self, inheritancegraph): self.inheritancegraph = inheritancegraph
-    def get_collaborationgraph(self): return self.collaborationgraph
-    def set_collaborationgraph(self, collaborationgraph): self.collaborationgraph = collaborationgraph
-    def get_programlisting(self): return self.programlisting
-    def set_programlisting(self, programlisting): self.programlisting = programlisting
-    def get_location(self): return self.location
-    def set_location(self, location): self.location = location
-    def get_listofallmembers(self): return self.listofallmembers
-    def set_listofallmembers(self, listofallmembers): self.listofallmembers = listofallmembers
-    def get_kind(self): return self.kind
-    def set_kind(self, kind): self.kind = kind
-    def get_prot(self): return self.prot
-    def set_prot(self, prot): self.prot = prot
-    def get_id(self): return self.id
-    def set_id(self, id): self.id = id
-    def export(self, outfile, level, namespace_='', name_='compounddefType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='compounddefType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='compounddefType'):
-        if self.kind is not None:
-            outfile.write(' kind=%s' % (quote_attrib(self.kind), ))
-        if self.prot is not None:
-            outfile.write(' prot=%s' % (quote_attrib(self.prot), ))
-        if self.id is not None:
-            outfile.write(' id=%s' % (self.format_string(quote_attrib(self.id).encode(ExternalEncoding), input_name='id'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='compounddefType'):
-        if self.compoundname is not None:
-            showIndent(outfile, level)
-            outfile.write('<%scompoundname>%s</%scompoundname>\n' % (namespace_, self.format_string(quote_xml(self.compoundname).encode(ExternalEncoding), input_name='compoundname'), namespace_))
-        if self.title is not None:
-            showIndent(outfile, level)
-            outfile.write('<%stitle>%s</%stitle>\n' % (namespace_, self.format_string(quote_xml(self.title).encode(ExternalEncoding), input_name='title'), namespace_))
-        for basecompoundref_ in self.basecompoundref:
-            basecompoundref_.export(outfile, level, namespace_, name_='basecompoundref')
-        for derivedcompoundref_ in self.derivedcompoundref:
-            derivedcompoundref_.export(outfile, level, namespace_, name_='derivedcompoundref')
-        for includes_ in self.includes:
-            includes_.export(outfile, level, namespace_, name_='includes')
-        for includedby_ in self.includedby:
-            includedby_.export(outfile, level, namespace_, name_='includedby')
-        if self.incdepgraph:
-            self.incdepgraph.export(outfile, level, namespace_, name_='incdepgraph')
-        if self.invincdepgraph:
-            self.invincdepgraph.export(outfile, level, namespace_, name_='invincdepgraph')
-        for innerdir_ in self.innerdir:
-            innerdir_.export(outfile, level, namespace_, name_='innerdir')
-        for innerfile_ in self.innerfile:
-            innerfile_.export(outfile, level, namespace_, name_='innerfile')
-        for innerclass_ in self.innerclass:
-            innerclass_.export(outfile, level, namespace_, name_='innerclass')
-        for innernamespace_ in self.innernamespace:
-            innernamespace_.export(outfile, level, namespace_, name_='innernamespace')
-        for innerpage_ in self.innerpage:
-            innerpage_.export(outfile, level, namespace_, name_='innerpage')
-        for innergroup_ in self.innergroup:
-            innergroup_.export(outfile, level, namespace_, name_='innergroup')
-        if self.templateparamlist:
-            self.templateparamlist.export(outfile, level, namespace_, name_='templateparamlist')
-        for sectiondef_ in self.sectiondef:
-            sectiondef_.export(outfile, level, namespace_, name_='sectiondef')
-        if self.briefdescription:
-            self.briefdescription.export(outfile, level, namespace_, name_='briefdescription')
-        if self.detaileddescription:
-            self.detaileddescription.export(outfile, level, namespace_, name_='detaileddescription')
-        if self.inheritancegraph:
-            self.inheritancegraph.export(outfile, level, namespace_, name_='inheritancegraph')
-        if self.collaborationgraph:
-            self.collaborationgraph.export(outfile, level, namespace_, name_='collaborationgraph')
-        if self.programlisting:
-            self.programlisting.export(outfile, level, namespace_, name_='programlisting')
-        if self.location:
-            self.location.export(outfile, level, namespace_, name_='location')
-        if self.listofallmembers:
-            self.listofallmembers.export(outfile, level, namespace_, name_='listofallmembers')
-    def hasContent_(self):
-        if (
-            self.compoundname is not None or
-            self.title is not None or
-            self.basecompoundref is not None or
-            self.derivedcompoundref is not None or
-            self.includes is not None or
-            self.includedby is not None or
-            self.incdepgraph is not None or
-            self.invincdepgraph is not None or
-            self.innerdir is not None or
-            self.innerfile is not None or
-            self.innerclass is not None or
-            self.innernamespace is not None or
-            self.innerpage is not None or
-            self.innergroup is not None or
-            self.templateparamlist is not None or
-            self.sectiondef is not None or
-            self.briefdescription is not None or
-            self.detaileddescription is not None or
-            self.inheritancegraph is not None or
-            self.collaborationgraph is not None or
-            self.programlisting is not None or
-            self.location is not None or
-            self.listofallmembers is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='compounddefType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.kind is not None:
-            showIndent(outfile, level)
-            outfile.write('kind = "%s",\n' % (self.kind,))
-        if self.prot is not None:
-            showIndent(outfile, level)
-            outfile.write('prot = "%s",\n' % (self.prot,))
-        if self.id is not None:
-            showIndent(outfile, level)
-            outfile.write('id = %s,\n' % (self.id,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('compoundname=%s,\n' % quote_python(self.compoundname).encode(ExternalEncoding))
-        if self.title:
-            showIndent(outfile, level)
-            outfile.write('title=model_.xsd_string(\n')
-            self.title.exportLiteral(outfile, level, name_='title')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        showIndent(outfile, level)
-        outfile.write('basecompoundref=[\n')
-        level += 1
-        for basecompoundref in self.basecompoundref:
-            showIndent(outfile, level)
-            outfile.write('model_.basecompoundref(\n')
-            basecompoundref.exportLiteral(outfile, level, name_='basecompoundref')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('derivedcompoundref=[\n')
-        level += 1
-        for derivedcompoundref in self.derivedcompoundref:
-            showIndent(outfile, level)
-            outfile.write('model_.derivedcompoundref(\n')
-            derivedcompoundref.exportLiteral(outfile, level, name_='derivedcompoundref')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('includes=[\n')
-        level += 1
-        for includes in self.includes:
-            showIndent(outfile, level)
-            outfile.write('model_.includes(\n')
-            includes.exportLiteral(outfile, level, name_='includes')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('includedby=[\n')
-        level += 1
-        for includedby in self.includedby:
-            showIndent(outfile, level)
-            outfile.write('model_.includedby(\n')
-            includedby.exportLiteral(outfile, level, name_='includedby')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        if self.incdepgraph:
-            showIndent(outfile, level)
-            outfile.write('incdepgraph=model_.graphType(\n')
-            self.incdepgraph.exportLiteral(outfile, level, name_='incdepgraph')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        if self.invincdepgraph:
-            showIndent(outfile, level)
-            outfile.write('invincdepgraph=model_.graphType(\n')
-            self.invincdepgraph.exportLiteral(outfile, level, name_='invincdepgraph')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        showIndent(outfile, level)
-        outfile.write('innerdir=[\n')
-        level += 1
-        for innerdir in self.innerdir:
-            showIndent(outfile, level)
-            outfile.write('model_.innerdir(\n')
-            innerdir.exportLiteral(outfile, level, name_='innerdir')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('innerfile=[\n')
-        level += 1
-        for innerfile in self.innerfile:
-            showIndent(outfile, level)
-            outfile.write('model_.innerfile(\n')
-            innerfile.exportLiteral(outfile, level, name_='innerfile')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('innerclass=[\n')
-        level += 1
-        for innerclass in self.innerclass:
-            showIndent(outfile, level)
-            outfile.write('model_.innerclass(\n')
-            innerclass.exportLiteral(outfile, level, name_='innerclass')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('innernamespace=[\n')
-        level += 1
-        for innernamespace in self.innernamespace:
-            showIndent(outfile, level)
-            outfile.write('model_.innernamespace(\n')
-            innernamespace.exportLiteral(outfile, level, name_='innernamespace')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('innerpage=[\n')
-        level += 1
-        for innerpage in self.innerpage:
-            showIndent(outfile, level)
-            outfile.write('model_.innerpage(\n')
-            innerpage.exportLiteral(outfile, level, name_='innerpage')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('innergroup=[\n')
-        level += 1
-        for innergroup in self.innergroup:
-            showIndent(outfile, level)
-            outfile.write('model_.innergroup(\n')
-            innergroup.exportLiteral(outfile, level, name_='innergroup')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        if self.templateparamlist:
-            showIndent(outfile, level)
-            outfile.write('templateparamlist=model_.templateparamlistType(\n')
-            self.templateparamlist.exportLiteral(outfile, level, name_='templateparamlist')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        showIndent(outfile, level)
-        outfile.write('sectiondef=[\n')
-        level += 1
-        for sectiondef in self.sectiondef:
-            showIndent(outfile, level)
-            outfile.write('model_.sectiondef(\n')
-            sectiondef.exportLiteral(outfile, level, name_='sectiondef')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        if self.briefdescription:
-            showIndent(outfile, level)
-            outfile.write('briefdescription=model_.descriptionType(\n')
-            self.briefdescription.exportLiteral(outfile, level, name_='briefdescription')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        if self.detaileddescription:
-            showIndent(outfile, level)
-            outfile.write('detaileddescription=model_.descriptionType(\n')
-            self.detaileddescription.exportLiteral(outfile, level, name_='detaileddescription')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        if self.inheritancegraph:
-            showIndent(outfile, level)
-            outfile.write('inheritancegraph=model_.graphType(\n')
-            self.inheritancegraph.exportLiteral(outfile, level, name_='inheritancegraph')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        if self.collaborationgraph:
-            showIndent(outfile, level)
-            outfile.write('collaborationgraph=model_.graphType(\n')
-            self.collaborationgraph.exportLiteral(outfile, level, name_='collaborationgraph')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        if self.programlisting:
-            showIndent(outfile, level)
-            outfile.write('programlisting=model_.listingType(\n')
-            self.programlisting.exportLiteral(outfile, level, name_='programlisting')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        if self.location:
-            showIndent(outfile, level)
-            outfile.write('location=model_.locationType(\n')
-            self.location.exportLiteral(outfile, level, name_='location')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        if self.listofallmembers:
-            showIndent(outfile, level)
-            outfile.write('listofallmembers=model_.listofallmembersType(\n')
-            self.listofallmembers.exportLiteral(outfile, level, name_='listofallmembers')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('kind'):
-            self.kind = attrs.get('kind').value
-        if attrs.get('prot'):
-            self.prot = attrs.get('prot').value
-        if attrs.get('id'):
-            self.id = attrs.get('id').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'compoundname':
-            compoundname_ = ''
-            for text__content_ in child_.childNodes:
-                compoundname_ += text__content_.nodeValue
-            self.compoundname = compoundname_
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'title':
-            obj_ = docTitleType.factory()
-            obj_.build(child_)
-            self.set_title(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'basecompoundref':
-            obj_ = compoundRefType.factory()
-            obj_.build(child_)
-            self.basecompoundref.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'derivedcompoundref':
-            obj_ = compoundRefType.factory()
-            obj_.build(child_)
-            self.derivedcompoundref.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'includes':
-            obj_ = incType.factory()
-            obj_.build(child_)
-            self.includes.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'includedby':
-            obj_ = incType.factory()
-            obj_.build(child_)
-            self.includedby.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'incdepgraph':
-            obj_ = graphType.factory()
-            obj_.build(child_)
-            self.set_incdepgraph(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'invincdepgraph':
-            obj_ = graphType.factory()
-            obj_.build(child_)
-            self.set_invincdepgraph(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'innerdir':
-            obj_ = refType.factory()
-            obj_.build(child_)
-            self.innerdir.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'innerfile':
-            obj_ = refType.factory()
-            obj_.build(child_)
-            self.innerfile.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'innerclass':
-            obj_ = refType.factory()
-            obj_.build(child_)
-            self.innerclass.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'innernamespace':
-            obj_ = refType.factory()
-            obj_.build(child_)
-            self.innernamespace.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'innerpage':
-            obj_ = refType.factory()
-            obj_.build(child_)
-            self.innerpage.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'innergroup':
-            obj_ = refType.factory()
-            obj_.build(child_)
-            self.innergroup.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'templateparamlist':
-            obj_ = templateparamlistType.factory()
-            obj_.build(child_)
-            self.set_templateparamlist(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'sectiondef':
-            obj_ = sectiondefType.factory()
-            obj_.build(child_)
-            self.sectiondef.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'briefdescription':
-            obj_ = descriptionType.factory()
-            obj_.build(child_)
-            self.set_briefdescription(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'detaileddescription':
-            obj_ = descriptionType.factory()
-            obj_.build(child_)
-            self.set_detaileddescription(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'inheritancegraph':
-            obj_ = graphType.factory()
-            obj_.build(child_)
-            self.set_inheritancegraph(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'collaborationgraph':
-            obj_ = graphType.factory()
-            obj_.build(child_)
-            self.set_collaborationgraph(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'programlisting':
-            obj_ = listingType.factory()
-            obj_.build(child_)
-            self.set_programlisting(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'location':
-            obj_ = locationType.factory()
-            obj_.build(child_)
-            self.set_location(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'listofallmembers':
-            obj_ = listofallmembersType.factory()
-            obj_.build(child_)
-            self.set_listofallmembers(obj_)
-# end class compounddefType
-
-
-class listofallmembersType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, member=None):
-        if member is None:
-            self.member = []
-        else:
-            self.member = member
-    def factory(*args_, **kwargs_):
-        if listofallmembersType.subclass:
-            return listofallmembersType.subclass(*args_, **kwargs_)
-        else:
-            return listofallmembersType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_member(self): return self.member
-    def set_member(self, member): self.member = member
-    def add_member(self, value): self.member.append(value)
-    def insert_member(self, index, value): self.member[index] = value
-    def export(self, outfile, level, namespace_='', name_='listofallmembersType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='listofallmembersType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='listofallmembersType'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='listofallmembersType'):
-        for member_ in self.member:
-            member_.export(outfile, level, namespace_, name_='member')
-    def hasContent_(self):
-        if (
-            self.member is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='listofallmembersType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('member=[\n')
-        level += 1
-        for member in self.member:
-            showIndent(outfile, level)
-            outfile.write('model_.member(\n')
-            member.exportLiteral(outfile, level, name_='member')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'member':
-            obj_ = memberRefType.factory()
-            obj_.build(child_)
-            self.member.append(obj_)
-# end class listofallmembersType
-
-
-class memberRefType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, virt=None, prot=None, refid=None, ambiguityscope=None, scope=None, name=None):
-        self.virt = virt
-        self.prot = prot
-        self.refid = refid
-        self.ambiguityscope = ambiguityscope
-        self.scope = scope
-        self.name = name
-    def factory(*args_, **kwargs_):
-        if memberRefType.subclass:
-            return memberRefType.subclass(*args_, **kwargs_)
-        else:
-            return memberRefType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_scope(self): return self.scope
-    def set_scope(self, scope): self.scope = scope
-    def get_name(self): return self.name
-    def set_name(self, name): self.name = name
-    def get_virt(self): return self.virt
-    def set_virt(self, virt): self.virt = virt
-    def get_prot(self): return self.prot
-    def set_prot(self, prot): self.prot = prot
-    def get_refid(self): return self.refid
-    def set_refid(self, refid): self.refid = refid
-    def get_ambiguityscope(self): return self.ambiguityscope
-    def set_ambiguityscope(self, ambiguityscope): self.ambiguityscope = ambiguityscope
-    def export(self, outfile, level, namespace_='', name_='memberRefType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='memberRefType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='memberRefType'):
-        if self.virt is not None:
-            outfile.write(' virt=%s' % (quote_attrib(self.virt), ))
-        if self.prot is not None:
-            outfile.write(' prot=%s' % (quote_attrib(self.prot), ))
-        if self.refid is not None:
-            outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), ))
-        if self.ambiguityscope is not None:
-            outfile.write(' ambiguityscope=%s' % (self.format_string(quote_attrib(self.ambiguityscope).encode(ExternalEncoding), input_name='ambiguityscope'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='memberRefType'):
-        if self.scope is not None:
-            showIndent(outfile, level)
-            outfile.write('<%sscope>%s</%sscope>\n' % (namespace_, self.format_string(quote_xml(self.scope).encode(ExternalEncoding), input_name='scope'), namespace_))
-        if self.name is not None:
-            showIndent(outfile, level)
-            outfile.write('<%sname>%s</%sname>\n' % (namespace_, self.format_string(quote_xml(self.name).encode(ExternalEncoding), input_name='name'), namespace_))
-    def hasContent_(self):
-        if (
-            self.scope is not None or
-            self.name is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='memberRefType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.virt is not None:
-            showIndent(outfile, level)
-            outfile.write('virt = "%s",\n' % (self.virt,))
-        if self.prot is not None:
-            showIndent(outfile, level)
-            outfile.write('prot = "%s",\n' % (self.prot,))
-        if self.refid is not None:
-            showIndent(outfile, level)
-            outfile.write('refid = %s,\n' % (self.refid,))
-        if self.ambiguityscope is not None:
-            showIndent(outfile, level)
-            outfile.write('ambiguityscope = %s,\n' % (self.ambiguityscope,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('scope=%s,\n' % quote_python(self.scope).encode(ExternalEncoding))
-        showIndent(outfile, level)
-        outfile.write('name=%s,\n' % quote_python(self.name).encode(ExternalEncoding))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('virt'):
-            self.virt = attrs.get('virt').value
-        if attrs.get('prot'):
-            self.prot = attrs.get('prot').value
-        if attrs.get('refid'):
-            self.refid = attrs.get('refid').value
-        if attrs.get('ambiguityscope'):
-            self.ambiguityscope = attrs.get('ambiguityscope').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'scope':
-            scope_ = ''
-            for text__content_ in child_.childNodes:
-                scope_ += text__content_.nodeValue
-            self.scope = scope_
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'name':
-            name_ = ''
-            for text__content_ in child_.childNodes:
-                name_ += text__content_.nodeValue
-            self.name = name_
-# end class memberRefType
-
-
-class scope(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, valueOf_=''):
-        self.valueOf_ = valueOf_
-    def factory(*args_, **kwargs_):
-        if scope.subclass:
-            return scope.subclass(*args_, **kwargs_)
-        else:
-            return scope(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='scope', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='scope')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='scope'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='scope'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='scope'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class scope
-
-
-class name(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, valueOf_=''):
-        self.valueOf_ = valueOf_
-    def factory(*args_, **kwargs_):
-        if name.subclass:
-            return name.subclass(*args_, **kwargs_)
-        else:
-            return name(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='name', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='name')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='name'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='name'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='name'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class name
-
-
-class compoundRefType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, virt=None, prot=None, refid=None, valueOf_='', mixedclass_=None, content_=None):
-        self.virt = virt
-        self.prot = prot
-        self.refid = refid
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if compoundRefType.subclass:
-            return compoundRefType.subclass(*args_, **kwargs_)
-        else:
-            return compoundRefType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_virt(self): return self.virt
-    def set_virt(self, virt): self.virt = virt
-    def get_prot(self): return self.prot
-    def set_prot(self, prot): self.prot = prot
-    def get_refid(self): return self.refid
-    def set_refid(self, refid): self.refid = refid
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='compoundRefType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='compoundRefType')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='compoundRefType'):
-        if self.virt is not None:
-            outfile.write(' virt=%s' % (quote_attrib(self.virt), ))
-        if self.prot is not None:
-            outfile.write(' prot=%s' % (quote_attrib(self.prot), ))
-        if self.refid is not None:
-            outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='compoundRefType'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='compoundRefType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.virt is not None:
-            showIndent(outfile, level)
-            outfile.write('virt = "%s",\n' % (self.virt,))
-        if self.prot is not None:
-            showIndent(outfile, level)
-            outfile.write('prot = "%s",\n' % (self.prot,))
-        if self.refid is not None:
-            showIndent(outfile, level)
-            outfile.write('refid = %s,\n' % (self.refid,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('virt'):
-            self.virt = attrs.get('virt').value
-        if attrs.get('prot'):
-            self.prot = attrs.get('prot').value
-        if attrs.get('refid'):
-            self.refid = attrs.get('refid').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class compoundRefType
-
-
-class reimplementType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, refid=None, valueOf_='', mixedclass_=None, content_=None):
-        self.refid = refid
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if reimplementType.subclass:
-            return reimplementType.subclass(*args_, **kwargs_)
-        else:
-            return reimplementType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_refid(self): return self.refid
-    def set_refid(self, refid): self.refid = refid
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='reimplementType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='reimplementType')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='reimplementType'):
-        if self.refid is not None:
-            outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='reimplementType'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='reimplementType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.refid is not None:
-            showIndent(outfile, level)
-            outfile.write('refid = %s,\n' % (self.refid,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('refid'):
-            self.refid = attrs.get('refid').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class reimplementType
-
-
-class incType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, local=None, refid=None, valueOf_='', mixedclass_=None, content_=None):
-        self.local = local
-        self.refid = refid
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if incType.subclass:
-            return incType.subclass(*args_, **kwargs_)
-        else:
-            return incType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_local(self): return self.local
-    def set_local(self, local): self.local = local
-    def get_refid(self): return self.refid
-    def set_refid(self, refid): self.refid = refid
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='incType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='incType')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='incType'):
-        if self.local is not None:
-            outfile.write(' local=%s' % (quote_attrib(self.local), ))
-        if self.refid is not None:
-            outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='incType'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='incType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.local is not None:
-            showIndent(outfile, level)
-            outfile.write('local = "%s",\n' % (self.local,))
-        if self.refid is not None:
-            showIndent(outfile, level)
-            outfile.write('refid = %s,\n' % (self.refid,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('local'):
-            self.local = attrs.get('local').value
-        if attrs.get('refid'):
-            self.refid = attrs.get('refid').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class incType
-
-
-class refType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, prot=None, refid=None, valueOf_='', mixedclass_=None, content_=None):
-        self.prot = prot
-        self.refid = refid
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if refType.subclass:
-            return refType.subclass(*args_, **kwargs_)
-        else:
-            return refType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_prot(self): return self.prot
-    def set_prot(self, prot): self.prot = prot
-    def get_refid(self): return self.refid
-    def set_refid(self, refid): self.refid = refid
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='refType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='refType')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='refType'):
-        if self.prot is not None:
-            outfile.write(' prot=%s' % (quote_attrib(self.prot), ))
-        if self.refid is not None:
-            outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='refType'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='refType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.prot is not None:
-            showIndent(outfile, level)
-            outfile.write('prot = "%s",\n' % (self.prot,))
-        if self.refid is not None:
-            showIndent(outfile, level)
-            outfile.write('refid = %s,\n' % (self.refid,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('prot'):
-            self.prot = attrs.get('prot').value
-        if attrs.get('refid'):
-            self.refid = attrs.get('refid').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class refType
-
-
-class refTextType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, refid=None, kindref=None, external=None, valueOf_='', mixedclass_=None, content_=None):
-        self.refid = refid
-        self.kindref = kindref
-        self.external = external
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if refTextType.subclass:
-            return refTextType.subclass(*args_, **kwargs_)
-        else:
-            return refTextType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_refid(self): return self.refid
-    def set_refid(self, refid): self.refid = refid
-    def get_kindref(self): return self.kindref
-    def set_kindref(self, kindref): self.kindref = kindref
-    def get_external(self): return self.external
-    def set_external(self, external): self.external = external
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='refTextType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='refTextType')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='refTextType'):
-        if self.refid is not None:
-            outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), ))
-        if self.kindref is not None:
-            outfile.write(' kindref=%s' % (quote_attrib(self.kindref), ))
-        if self.external is not None:
-            outfile.write(' external=%s' % (self.format_string(quote_attrib(self.external).encode(ExternalEncoding), input_name='external'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='refTextType'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='refTextType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.refid is not None:
-            showIndent(outfile, level)
-            outfile.write('refid = %s,\n' % (self.refid,))
-        if self.kindref is not None:
-            showIndent(outfile, level)
-            outfile.write('kindref = "%s",\n' % (self.kindref,))
-        if self.external is not None:
-            showIndent(outfile, level)
-            outfile.write('external = %s,\n' % (self.external,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('refid'):
-            self.refid = attrs.get('refid').value
-        if attrs.get('kindref'):
-            self.kindref = attrs.get('kindref').value
-        if attrs.get('external'):
-            self.external = attrs.get('external').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class refTextType
-
-
-class sectiondefType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, kind=None, header=None, description=None, memberdef=None):
-        self.kind = kind
-        self.header = header
-        self.description = description
-        if memberdef is None:
-            self.memberdef = []
-        else:
-            self.memberdef = memberdef
-    def factory(*args_, **kwargs_):
-        if sectiondefType.subclass:
-            return sectiondefType.subclass(*args_, **kwargs_)
-        else:
-            return sectiondefType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_header(self): return self.header
-    def set_header(self, header): self.header = header
-    def get_description(self): return self.description
-    def set_description(self, description): self.description = description
-    def get_memberdef(self): return self.memberdef
-    def set_memberdef(self, memberdef): self.memberdef = memberdef
-    def add_memberdef(self, value): self.memberdef.append(value)
-    def insert_memberdef(self, index, value): self.memberdef[index] = value
-    def get_kind(self): return self.kind
-    def set_kind(self, kind): self.kind = kind
-    def export(self, outfile, level, namespace_='', name_='sectiondefType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='sectiondefType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='sectiondefType'):
-        if self.kind is not None:
-            outfile.write(' kind=%s' % (quote_attrib(self.kind), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='sectiondefType'):
-        if self.header is not None:
-            showIndent(outfile, level)
-            outfile.write('<%sheader>%s</%sheader>\n' % (namespace_, self.format_string(quote_xml(self.header).encode(ExternalEncoding), input_name='header'), namespace_))
-        if self.description:
-            self.description.export(outfile, level, namespace_, name_='description')
-        for memberdef_ in self.memberdef:
-            memberdef_.export(outfile, level, namespace_, name_='memberdef')
-    def hasContent_(self):
-        if (
-            self.header is not None or
-            self.description is not None or
-            self.memberdef is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='sectiondefType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.kind is not None:
-            showIndent(outfile, level)
-            outfile.write('kind = "%s",\n' % (self.kind,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('header=%s,\n' % quote_python(self.header).encode(ExternalEncoding))
-        if self.description:
-            showIndent(outfile, level)
-            outfile.write('description=model_.descriptionType(\n')
-            self.description.exportLiteral(outfile, level, name_='description')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        showIndent(outfile, level)
-        outfile.write('memberdef=[\n')
-        level += 1
-        for memberdef in self.memberdef:
-            showIndent(outfile, level)
-            outfile.write('model_.memberdef(\n')
-            memberdef.exportLiteral(outfile, level, name_='memberdef')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('kind'):
-            self.kind = attrs.get('kind').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'header':
-            header_ = ''
-            for text__content_ in child_.childNodes:
-                header_ += text__content_.nodeValue
-            self.header = header_
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'description':
-            obj_ = descriptionType.factory()
-            obj_.build(child_)
-            self.set_description(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'memberdef':
-            obj_ = memberdefType.factory()
-            obj_.build(child_)
-            self.memberdef.append(obj_)
-# end class sectiondefType
-
-
-class memberdefType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, initonly=None, kind=None, volatile=None, const=None, raisexx=None, virt=None, readable=None, prot=None, explicit=None, new=None, final=None, writable=None, add=None, static=None, remove=None, sealed=None, mutable=None, gettable=None, inline=None, settable=None, id=None, templateparamlist=None, type_=None, definition=None, argsstring=None, name=None, read=None, write=None, bitfield=None, reimplements=None, reimplementedby=None, param=None, enumvalue=None, initialize [...]
-        self.initonly = initonly
-        self.kind = kind
-        self.volatile = volatile
-        self.const = const
-        self.raisexx = raisexx
-        self.virt = virt
-        self.readable = readable
-        self.prot = prot
-        self.explicit = explicit
-        self.new = new
-        self.final = final
-        self.writable = writable
-        self.add = add
-        self.static = static
-        self.remove = remove
-        self.sealed = sealed
-        self.mutable = mutable
-        self.gettable = gettable
-        self.inline = inline
-        self.settable = settable
-        self.id = id
-        self.templateparamlist = templateparamlist
-        self.type_ = type_
-        self.definition = definition
-        self.argsstring = argsstring
-        self.name = name
-        self.read = read
-        self.write = write
-        self.bitfield = bitfield
-        if reimplements is None:
-            self.reimplements = []
-        else:
-            self.reimplements = reimplements
-        if reimplementedby is None:
-            self.reimplementedby = []
-        else:
-            self.reimplementedby = reimplementedby
-        if param is None:
-            self.param = []
-        else:
-            self.param = param
-        if enumvalue is None:
-            self.enumvalue = []
-        else:
-            self.enumvalue = enumvalue
-        self.initializer = initializer
-        self.exceptions = exceptions
-        self.briefdescription = briefdescription
-        self.detaileddescription = detaileddescription
-        self.inbodydescription = inbodydescription
-        self.location = location
-        if references is None:
-            self.references = []
-        else:
-            self.references = references
-        if referencedby is None:
-            self.referencedby = []
-        else:
-            self.referencedby = referencedby
-    def factory(*args_, **kwargs_):
-        if memberdefType.subclass:
-            return memberdefType.subclass(*args_, **kwargs_)
-        else:
-            return memberdefType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_templateparamlist(self): return self.templateparamlist
-    def set_templateparamlist(self, templateparamlist): self.templateparamlist = templateparamlist
-    def get_type(self): return self.type_
-    def set_type(self, type_): self.type_ = type_
-    def get_definition(self): return self.definition
-    def set_definition(self, definition): self.definition = definition
-    def get_argsstring(self): return self.argsstring
-    def set_argsstring(self, argsstring): self.argsstring = argsstring
-    def get_name(self): return self.name
-    def set_name(self, name): self.name = name
-    def get_read(self): return self.read
-    def set_read(self, read): self.read = read
-    def get_write(self): return self.write
-    def set_write(self, write): self.write = write
-    def get_bitfield(self): return self.bitfield
-    def set_bitfield(self, bitfield): self.bitfield = bitfield
-    def get_reimplements(self): return self.reimplements
-    def set_reimplements(self, reimplements): self.reimplements = reimplements
-    def add_reimplements(self, value): self.reimplements.append(value)
-    def insert_reimplements(self, index, value): self.reimplements[index] = value
-    def get_reimplementedby(self): return self.reimplementedby
-    def set_reimplementedby(self, reimplementedby): self.reimplementedby = reimplementedby
-    def add_reimplementedby(self, value): self.reimplementedby.append(value)
-    def insert_reimplementedby(self, index, value): self.reimplementedby[index] = value
-    def get_param(self): return self.param
-    def set_param(self, param): self.param = param
-    def add_param(self, value): self.param.append(value)
-    def insert_param(self, index, value): self.param[index] = value
-    def get_enumvalue(self): return self.enumvalue
-    def set_enumvalue(self, enumvalue): self.enumvalue = enumvalue
-    def add_enumvalue(self, value): self.enumvalue.append(value)
-    def insert_enumvalue(self, index, value): self.enumvalue[index] = value
-    def get_initializer(self): return self.initializer
-    def set_initializer(self, initializer): self.initializer = initializer
-    def get_exceptions(self): return self.exceptions
-    def set_exceptions(self, exceptions): self.exceptions = exceptions
-    def get_briefdescription(self): return self.briefdescription
-    def set_briefdescription(self, briefdescription): self.briefdescription = briefdescription
-    def get_detaileddescription(self): return self.detaileddescription
-    def set_detaileddescription(self, detaileddescription): self.detaileddescription = detaileddescription
-    def get_inbodydescription(self): return self.inbodydescription
-    def set_inbodydescription(self, inbodydescription): self.inbodydescription = inbodydescription
-    def get_location(self): return self.location
-    def set_location(self, location): self.location = location
-    def get_references(self): return self.references
-    def set_references(self, references): self.references = references
-    def add_references(self, value): self.references.append(value)
-    def insert_references(self, index, value): self.references[index] = value
-    def get_referencedby(self): return self.referencedby
-    def set_referencedby(self, referencedby): self.referencedby = referencedby
-    def add_referencedby(self, value): self.referencedby.append(value)
-    def insert_referencedby(self, index, value): self.referencedby[index] = value
-    def get_initonly(self): return self.initonly
-    def set_initonly(self, initonly): self.initonly = initonly
-    def get_kind(self): return self.kind
-    def set_kind(self, kind): self.kind = kind
-    def get_volatile(self): return self.volatile
-    def set_volatile(self, volatile): self.volatile = volatile
-    def get_const(self): return self.const
-    def set_const(self, const): self.const = const
-    def get_raise(self): return self.raisexx
-    def set_raise(self, raisexx): self.raisexx = raisexx
-    def get_virt(self): return self.virt
-    def set_virt(self, virt): self.virt = virt
-    def get_readable(self): return self.readable
-    def set_readable(self, readable): self.readable = readable
-    def get_prot(self): return self.prot
-    def set_prot(self, prot): self.prot = prot
-    def get_explicit(self): return self.explicit
-    def set_explicit(self, explicit): self.explicit = explicit
-    def get_new(self): return self.new
-    def set_new(self, new): self.new = new
-    def get_final(self): return self.final
-    def set_final(self, final): self.final = final
-    def get_writable(self): return self.writable
-    def set_writable(self, writable): self.writable = writable
-    def get_add(self): return self.add
-    def set_add(self, add): self.add = add
-    def get_static(self): return self.static
-    def set_static(self, static): self.static = static
-    def get_remove(self): return self.remove
-    def set_remove(self, remove): self.remove = remove
-    def get_sealed(self): return self.sealed
-    def set_sealed(self, sealed): self.sealed = sealed
-    def get_mutable(self): return self.mutable
-    def set_mutable(self, mutable): self.mutable = mutable
-    def get_gettable(self): return self.gettable
-    def set_gettable(self, gettable): self.gettable = gettable
-    def get_inline(self): return self.inline
-    def set_inline(self, inline): self.inline = inline
-    def get_settable(self): return self.settable
-    def set_settable(self, settable): self.settable = settable
-    def get_id(self): return self.id
-    def set_id(self, id): self.id = id
-    def export(self, outfile, level, namespace_='', name_='memberdefType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='memberdefType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='memberdefType'):
-        if self.initonly is not None:
-            outfile.write(' initonly=%s' % (quote_attrib(self.initonly), ))
-        if self.kind is not None:
-            outfile.write(' kind=%s' % (quote_attrib(self.kind), ))
-        if self.volatile is not None:
-            outfile.write(' volatile=%s' % (quote_attrib(self.volatile), ))
-        if self.const is not None:
-            outfile.write(' const=%s' % (quote_attrib(self.const), ))
-        if self.raisexx is not None:
-            outfile.write(' raise=%s' % (quote_attrib(self.raisexx), ))
-        if self.virt is not None:
-            outfile.write(' virt=%s' % (quote_attrib(self.virt), ))
-        if self.readable is not None:
-            outfile.write(' readable=%s' % (quote_attrib(self.readable), ))
-        if self.prot is not None:
-            outfile.write(' prot=%s' % (quote_attrib(self.prot), ))
-        if self.explicit is not None:
-            outfile.write(' explicit=%s' % (quote_attrib(self.explicit), ))
-        if self.new is not None:
-            outfile.write(' new=%s' % (quote_attrib(self.new), ))
-        if self.final is not None:
-            outfile.write(' final=%s' % (quote_attrib(self.final), ))
-        if self.writable is not None:
-            outfile.write(' writable=%s' % (quote_attrib(self.writable), ))
-        if self.add is not None:
-            outfile.write(' add=%s' % (quote_attrib(self.add), ))
-        if self.static is not None:
-            outfile.write(' static=%s' % (quote_attrib(self.static), ))
-        if self.remove is not None:
-            outfile.write(' remove=%s' % (quote_attrib(self.remove), ))
-        if self.sealed is not None:
-            outfile.write(' sealed=%s' % (quote_attrib(self.sealed), ))
-        if self.mutable is not None:
-            outfile.write(' mutable=%s' % (quote_attrib(self.mutable), ))
-        if self.gettable is not None:
-            outfile.write(' gettable=%s' % (quote_attrib(self.gettable), ))
-        if self.inline is not None:
-            outfile.write(' inline=%s' % (quote_attrib(self.inline), ))
-        if self.settable is not None:
-            outfile.write(' settable=%s' % (quote_attrib(self.settable), ))
-        if self.id is not None:
-            outfile.write(' id=%s' % (self.format_string(quote_attrib(self.id).encode(ExternalEncoding), input_name='id'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='memberdefType'):
-        if self.templateparamlist:
-            self.templateparamlist.export(outfile, level, namespace_, name_='templateparamlist')
-        if self.type_:
-            self.type_.export(outfile, level, namespace_, name_='type')
-        if self.definition is not None:
-            showIndent(outfile, level)
-            outfile.write('<%sdefinition>%s</%sdefinition>\n' % (namespace_, self.format_string(quote_xml(self.definition).encode(ExternalEncoding), input_name='definition'), namespace_))
-        if self.argsstring is not None:
-            showIndent(outfile, level)
-            outfile.write('<%sargsstring>%s</%sargsstring>\n' % (namespace_, self.format_string(quote_xml(self.argsstring).encode(ExternalEncoding), input_name='argsstring'), namespace_))
-        if self.name is not None:
-            showIndent(outfile, level)
-            outfile.write('<%sname>%s</%sname>\n' % (namespace_, self.format_string(quote_xml(self.name).encode(ExternalEncoding), input_name='name'), namespace_))
-        if self.read is not None:
-            showIndent(outfile, level)
-            outfile.write('<%sread>%s</%sread>\n' % (namespace_, self.format_string(quote_xml(self.read).encode(ExternalEncoding), input_name='read'), namespace_))
-        if self.write is not None:
-            showIndent(outfile, level)
-            outfile.write('<%swrite>%s</%swrite>\n' % (namespace_, self.format_string(quote_xml(self.write).encode(ExternalEncoding), input_name='write'), namespace_))
-        if self.bitfield is not None:
-            showIndent(outfile, level)
-            outfile.write('<%sbitfield>%s</%sbitfield>\n' % (namespace_, self.format_string(quote_xml(self.bitfield).encode(ExternalEncoding), input_name='bitfield'), namespace_))
-        for reimplements_ in self.reimplements:
-            reimplements_.export(outfile, level, namespace_, name_='reimplements')
-        for reimplementedby_ in self.reimplementedby:
-            reimplementedby_.export(outfile, level, namespace_, name_='reimplementedby')
-        for param_ in self.param:
-            param_.export(outfile, level, namespace_, name_='param')
-        for enumvalue_ in self.enumvalue:
-            enumvalue_.export(outfile, level, namespace_, name_='enumvalue')
-        if self.initializer:
-            self.initializer.export(outfile, level, namespace_, name_='initializer')
-        if self.exceptions:
-            self.exceptions.export(outfile, level, namespace_, name_='exceptions')
-        if self.briefdescription:
-            self.briefdescription.export(outfile, level, namespace_, name_='briefdescription')
-        if self.detaileddescription:
-            self.detaileddescription.export(outfile, level, namespace_, name_='detaileddescription')
-        if self.inbodydescription:
-            self.inbodydescription.export(outfile, level, namespace_, name_='inbodydescription')
-        if self.location:
-            self.location.export(outfile, level, namespace_, name_='location', )
-        for references_ in self.references:
-            references_.export(outfile, level, namespace_, name_='references')
-        for referencedby_ in self.referencedby:
-            referencedby_.export(outfile, level, namespace_, name_='referencedby')
-    def hasContent_(self):
-        if (
-            self.templateparamlist is not None or
-            self.type_ is not None or
-            self.definition is not None or
-            self.argsstring is not None or
-            self.name is not None or
-            self.read is not None or
-            self.write is not None or
-            self.bitfield is not None or
-            self.reimplements is not None or
-            self.reimplementedby is not None or
-            self.param is not None or
-            self.enumvalue is not None or
-            self.initializer is not None or
-            self.exceptions is not None or
-            self.briefdescription is not None or
-            self.detaileddescription is not None or
-            self.inbodydescription is not None or
-            self.location is not None or
-            self.references is not None or
-            self.referencedby is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='memberdefType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.initonly is not None:
-            showIndent(outfile, level)
-            outfile.write('initonly = "%s",\n' % (self.initonly,))
-        if self.kind is not None:
-            showIndent(outfile, level)
-            outfile.write('kind = "%s",\n' % (self.kind,))
-        if self.volatile is not None:
-            showIndent(outfile, level)
-            outfile.write('volatile = "%s",\n' % (self.volatile,))
-        if self.const is not None:
-            showIndent(outfile, level)
-            outfile.write('const = "%s",\n' % (self.const,))
-        if self.raisexx is not None:
-            showIndent(outfile, level)
-            outfile.write('raisexx = "%s",\n' % (self.raisexx,))
-        if self.virt is not None:
-            showIndent(outfile, level)
-            outfile.write('virt = "%s",\n' % (self.virt,))
-        if self.readable is not None:
-            showIndent(outfile, level)
-            outfile.write('readable = "%s",\n' % (self.readable,))
-        if self.prot is not None:
-            showIndent(outfile, level)
-            outfile.write('prot = "%s",\n' % (self.prot,))
-        if self.explicit is not None:
-            showIndent(outfile, level)
-            outfile.write('explicit = "%s",\n' % (self.explicit,))
-        if self.new is not None:
-            showIndent(outfile, level)
-            outfile.write('new = "%s",\n' % (self.new,))
-        if self.final is not None:
-            showIndent(outfile, level)
-            outfile.write('final = "%s",\n' % (self.final,))
-        if self.writable is not None:
-            showIndent(outfile, level)
-            outfile.write('writable = "%s",\n' % (self.writable,))
-        if self.add is not None:
-            showIndent(outfile, level)
-            outfile.write('add = "%s",\n' % (self.add,))
-        if self.static is not None:
-            showIndent(outfile, level)
-            outfile.write('static = "%s",\n' % (self.static,))
-        if self.remove is not None:
-            showIndent(outfile, level)
-            outfile.write('remove = "%s",\n' % (self.remove,))
-        if self.sealed is not None:
-            showIndent(outfile, level)
-            outfile.write('sealed = "%s",\n' % (self.sealed,))
-        if self.mutable is not None:
-            showIndent(outfile, level)
-            outfile.write('mutable = "%s",\n' % (self.mutable,))
-        if self.gettable is not None:
-            showIndent(outfile, level)
-            outfile.write('gettable = "%s",\n' % (self.gettable,))
-        if self.inline is not None:
-            showIndent(outfile, level)
-            outfile.write('inline = "%s",\n' % (self.inline,))
-        if self.settable is not None:
-            showIndent(outfile, level)
-            outfile.write('settable = "%s",\n' % (self.settable,))
-        if self.id is not None:
-            showIndent(outfile, level)
-            outfile.write('id = %s,\n' % (self.id,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        if self.templateparamlist:
-            showIndent(outfile, level)
-            outfile.write('templateparamlist=model_.templateparamlistType(\n')
-            self.templateparamlist.exportLiteral(outfile, level, name_='templateparamlist')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        if self.type_:
-            showIndent(outfile, level)
-            outfile.write('type_=model_.linkedTextType(\n')
-            self.type_.exportLiteral(outfile, level, name_='type')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        showIndent(outfile, level)
-        outfile.write('definition=%s,\n' % quote_python(self.definition).encode(ExternalEncoding))
-        showIndent(outfile, level)
-        outfile.write('argsstring=%s,\n' % quote_python(self.argsstring).encode(ExternalEncoding))
-        showIndent(outfile, level)
-        outfile.write('name=%s,\n' % quote_python(self.name).encode(ExternalEncoding))
-        showIndent(outfile, level)
-        outfile.write('read=%s,\n' % quote_python(self.read).encode(ExternalEncoding))
-        showIndent(outfile, level)
-        outfile.write('write=%s,\n' % quote_python(self.write).encode(ExternalEncoding))
-        showIndent(outfile, level)
-        outfile.write('bitfield=%s,\n' % quote_python(self.bitfield).encode(ExternalEncoding))
-        showIndent(outfile, level)
-        outfile.write('reimplements=[\n')
-        level += 1
-        for reimplements in self.reimplements:
-            showIndent(outfile, level)
-            outfile.write('model_.reimplements(\n')
-            reimplements.exportLiteral(outfile, level, name_='reimplements')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('reimplementedby=[\n')
-        level += 1
-        for reimplementedby in self.reimplementedby:
-            showIndent(outfile, level)
-            outfile.write('model_.reimplementedby(\n')
-            reimplementedby.exportLiteral(outfile, level, name_='reimplementedby')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('param=[\n')
-        level += 1
-        for param in self.param:
-            showIndent(outfile, level)
-            outfile.write('model_.param(\n')
-            param.exportLiteral(outfile, level, name_='param')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('enumvalue=[\n')
-        level += 1
-        for enumvalue in self.enumvalue:
-            showIndent(outfile, level)
-            outfile.write('model_.enumvalue(\n')
-            enumvalue.exportLiteral(outfile, level, name_='enumvalue')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        if self.initializer:
-            showIndent(outfile, level)
-            outfile.write('initializer=model_.linkedTextType(\n')
-            self.initializer.exportLiteral(outfile, level, name_='initializer')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        if self.exceptions:
-            showIndent(outfile, level)
-            outfile.write('exceptions=model_.linkedTextType(\n')
-            self.exceptions.exportLiteral(outfile, level, name_='exceptions')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        if self.briefdescription:
-            showIndent(outfile, level)
-            outfile.write('briefdescription=model_.descriptionType(\n')
-            self.briefdescription.exportLiteral(outfile, level, name_='briefdescription')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        if self.detaileddescription:
-            showIndent(outfile, level)
-            outfile.write('detaileddescription=model_.descriptionType(\n')
-            self.detaileddescription.exportLiteral(outfile, level, name_='detaileddescription')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        if self.inbodydescription:
-            showIndent(outfile, level)
-            outfile.write('inbodydescription=model_.descriptionType(\n')
-            self.inbodydescription.exportLiteral(outfile, level, name_='inbodydescription')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        if self.location:
-            showIndent(outfile, level)
-            outfile.write('location=model_.locationType(\n')
-            self.location.exportLiteral(outfile, level, name_='location')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        showIndent(outfile, level)
-        outfile.write('references=[\n')
-        level += 1
-        for references in self.references:
-            showIndent(outfile, level)
-            outfile.write('model_.references(\n')
-            references.exportLiteral(outfile, level, name_='references')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('referencedby=[\n')
-        level += 1
-        for referencedby in self.referencedby:
-            showIndent(outfile, level)
-            outfile.write('model_.referencedby(\n')
-            referencedby.exportLiteral(outfile, level, name_='referencedby')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('initonly'):
-            self.initonly = attrs.get('initonly').value
-        if attrs.get('kind'):
-            self.kind = attrs.get('kind').value
-        if attrs.get('volatile'):
-            self.volatile = attrs.get('volatile').value
-        if attrs.get('const'):
-            self.const = attrs.get('const').value
-        if attrs.get('raise'):
-            self.raisexx = attrs.get('raise').value
-        if attrs.get('virt'):
-            self.virt = attrs.get('virt').value
-        if attrs.get('readable'):
-            self.readable = attrs.get('readable').value
-        if attrs.get('prot'):
-            self.prot = attrs.get('prot').value
-        if attrs.get('explicit'):
-            self.explicit = attrs.get('explicit').value
-        if attrs.get('new'):
-            self.new = attrs.get('new').value
-        if attrs.get('final'):
-            self.final = attrs.get('final').value
-        if attrs.get('writable'):
-            self.writable = attrs.get('writable').value
-        if attrs.get('add'):
-            self.add = attrs.get('add').value
-        if attrs.get('static'):
-            self.static = attrs.get('static').value
-        if attrs.get('remove'):
-            self.remove = attrs.get('remove').value
-        if attrs.get('sealed'):
-            self.sealed = attrs.get('sealed').value
-        if attrs.get('mutable'):
-            self.mutable = attrs.get('mutable').value
-        if attrs.get('gettable'):
-            self.gettable = attrs.get('gettable').value
-        if attrs.get('inline'):
-            self.inline = attrs.get('inline').value
-        if attrs.get('settable'):
-            self.settable = attrs.get('settable').value
-        if attrs.get('id'):
-            self.id = attrs.get('id').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'templateparamlist':
-            obj_ = templateparamlistType.factory()
-            obj_.build(child_)
-            self.set_templateparamlist(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'type':
-            obj_ = linkedTextType.factory()
-            obj_.build(child_)
-            self.set_type(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'definition':
-            definition_ = ''
-            for text__content_ in child_.childNodes:
-                definition_ += text__content_.nodeValue
-            self.definition = definition_
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'argsstring':
-            argsstring_ = ''
-            for text__content_ in child_.childNodes:
-                argsstring_ += text__content_.nodeValue
-            self.argsstring = argsstring_
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'name':
-            name_ = ''
-            for text__content_ in child_.childNodes:
-                name_ += text__content_.nodeValue
-            self.name = name_
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'read':
-            read_ = ''
-            for text__content_ in child_.childNodes:
-                read_ += text__content_.nodeValue
-            self.read = read_
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'write':
-            write_ = ''
-            for text__content_ in child_.childNodes:
-                write_ += text__content_.nodeValue
-            self.write = write_
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'bitfield':
-            bitfield_ = ''
-            for text__content_ in child_.childNodes:
-                bitfield_ += text__content_.nodeValue
-            self.bitfield = bitfield_
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'reimplements':
-            obj_ = reimplementType.factory()
-            obj_.build(child_)
-            self.reimplements.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'reimplementedby':
-            obj_ = reimplementType.factory()
-            obj_.build(child_)
-            self.reimplementedby.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'param':
-            obj_ = paramType.factory()
-            obj_.build(child_)
-            self.param.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'enumvalue':
-            obj_ = enumvalueType.factory()
-            obj_.build(child_)
-            self.enumvalue.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'initializer':
-            obj_ = linkedTextType.factory()
-            obj_.build(child_)
-            self.set_initializer(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'exceptions':
-            obj_ = linkedTextType.factory()
-            obj_.build(child_)
-            self.set_exceptions(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'briefdescription':
-            obj_ = descriptionType.factory()
-            obj_.build(child_)
-            self.set_briefdescription(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'detaileddescription':
-            obj_ = descriptionType.factory()
-            obj_.build(child_)
-            self.set_detaileddescription(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'inbodydescription':
-            obj_ = descriptionType.factory()
-            obj_.build(child_)
-            self.set_inbodydescription(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'location':
-            obj_ = locationType.factory()
-            obj_.build(child_)
-            self.set_location(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'references':
-            obj_ = referenceType.factory()
-            obj_.build(child_)
-            self.references.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'referencedby':
-            obj_ = referenceType.factory()
-            obj_.build(child_)
-            self.referencedby.append(obj_)
-# end class memberdefType
-
-
-class definition(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, valueOf_=''):
-        self.valueOf_ = valueOf_
-    def factory(*args_, **kwargs_):
-        if definition.subclass:
-            return definition.subclass(*args_, **kwargs_)
-        else:
-            return definition(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='definition', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='definition')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='definition'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='definition'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='definition'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class definition
-
-
-class argsstring(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, valueOf_=''):
-        self.valueOf_ = valueOf_
-    def factory(*args_, **kwargs_):
-        if argsstring.subclass:
-            return argsstring.subclass(*args_, **kwargs_)
-        else:
-            return argsstring(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='argsstring', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='argsstring')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='argsstring'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='argsstring'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='argsstring'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class argsstring
-
-
-class read(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, valueOf_=''):
-        self.valueOf_ = valueOf_
-    def factory(*args_, **kwargs_):
-        if read.subclass:
-            return read.subclass(*args_, **kwargs_)
-        else:
-            return read(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='read', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='read')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='read'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='read'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='read'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class read
-
-
-class write(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, valueOf_=''):
-        self.valueOf_ = valueOf_
-    def factory(*args_, **kwargs_):
-        if write.subclass:
-            return write.subclass(*args_, **kwargs_)
-        else:
-            return write(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='write', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='write')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='write'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='write'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='write'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class write
-
-
-class bitfield(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, valueOf_=''):
-        self.valueOf_ = valueOf_
-    def factory(*args_, **kwargs_):
-        if bitfield.subclass:
-            return bitfield.subclass(*args_, **kwargs_)
-        else:
-            return bitfield(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='bitfield', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='bitfield')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='bitfield'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='bitfield'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='bitfield'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class bitfield
-
-
-class descriptionType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, title=None, para=None, sect1=None, internal=None, mixedclass_=None, content_=None):
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if descriptionType.subclass:
-            return descriptionType.subclass(*args_, **kwargs_)
-        else:
-            return descriptionType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_title(self): return self.title
-    def set_title(self, title): self.title = title
-    def get_para(self): return self.para
-    def set_para(self, para): self.para = para
-    def add_para(self, value): self.para.append(value)
-    def insert_para(self, index, value): self.para[index] = value
-    def get_sect1(self): return self.sect1
-    def set_sect1(self, sect1): self.sect1 = sect1
-    def add_sect1(self, value): self.sect1.append(value)
-    def insert_sect1(self, index, value): self.sect1[index] = value
-    def get_internal(self): return self.internal
-    def set_internal(self, internal): self.internal = internal
-    def export(self, outfile, level, namespace_='', name_='descriptionType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='descriptionType')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='descriptionType'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='descriptionType'):
-        for item_ in self.content_:
-            item_.export(outfile, level, item_.name, namespace_)
-    def hasContent_(self):
-        if (
-            self.title is not None or
-            self.para is not None or
-            self.sect1 is not None or
-            self.internal is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='descriptionType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'title':
-            childobj_ = docTitleType.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'title', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'para':
-            childobj_ = docParaType.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'para', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'sect1':
-            childobj_ = docSect1Type.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'sect1', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'internal':
-            childobj_ = docInternalType.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'internal', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-# end class descriptionType
-
-
-class enumvalueType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, prot=None, id=None, name=None, initializer=None, briefdescription=None, detaileddescription=None, mixedclass_=None, content_=None):
-        self.prot = prot
-        self.id = id
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if enumvalueType.subclass:
-            return enumvalueType.subclass(*args_, **kwargs_)
-        else:
-            return enumvalueType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_name(self): return self.name
-    def set_name(self, name): self.name = name
-    def get_initializer(self): return self.initializer
-    def set_initializer(self, initializer): self.initializer = initializer
-    def get_briefdescription(self): return self.briefdescription
-    def set_briefdescription(self, briefdescription): self.briefdescription = briefdescription
-    def get_detaileddescription(self): return self.detaileddescription
-    def set_detaileddescription(self, detaileddescription): self.detaileddescription = detaileddescription
-    def get_prot(self): return self.prot
-    def set_prot(self, prot): self.prot = prot
-    def get_id(self): return self.id
-    def set_id(self, id): self.id = id
-    def export(self, outfile, level, namespace_='', name_='enumvalueType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='enumvalueType')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='enumvalueType'):
-        if self.prot is not None:
-            outfile.write(' prot=%s' % (quote_attrib(self.prot), ))
-        if self.id is not None:
-            outfile.write(' id=%s' % (self.format_string(quote_attrib(self.id).encode(ExternalEncoding), input_name='id'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='enumvalueType'):
-        for item_ in self.content_:
-            item_.export(outfile, level, item_.name, namespace_)
-    def hasContent_(self):
-        if (
-            self.name is not None or
-            self.initializer is not None or
-            self.briefdescription is not None or
-            self.detaileddescription is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='enumvalueType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.prot is not None:
-            showIndent(outfile, level)
-            outfile.write('prot = "%s",\n' % (self.prot,))
-        if self.id is not None:
-            showIndent(outfile, level)
-            outfile.write('id = %s,\n' % (self.id,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('prot'):
-            self.prot = attrs.get('prot').value
-        if attrs.get('id'):
-            self.id = attrs.get('id').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'name':
-            value_ = []
-            for text_ in child_.childNodes:
-                value_.append(text_.nodeValue)
-            valuestr_ = ''.join(value_)
-            obj_ = self.mixedclass_(MixedContainer.CategorySimple,
-                MixedContainer.TypeString, 'name', valuestr_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'initializer':
-            childobj_ = linkedTextType.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'initializer', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'briefdescription':
-            childobj_ = descriptionType.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'briefdescription', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'detaileddescription':
-            childobj_ = descriptionType.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'detaileddescription', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-# end class enumvalueType
-
-
-class templateparamlistType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, param=None):
-        if param is None:
-            self.param = []
-        else:
-            self.param = param
-    def factory(*args_, **kwargs_):
-        if templateparamlistType.subclass:
-            return templateparamlistType.subclass(*args_, **kwargs_)
-        else:
-            return templateparamlistType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_param(self): return self.param
-    def set_param(self, param): self.param = param
-    def add_param(self, value): self.param.append(value)
-    def insert_param(self, index, value): self.param[index] = value
-    def export(self, outfile, level, namespace_='', name_='templateparamlistType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='templateparamlistType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='templateparamlistType'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='templateparamlistType'):
-        for param_ in self.param:
-            param_.export(outfile, level, namespace_, name_='param')
-    def hasContent_(self):
-        if (
-            self.param is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='templateparamlistType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('param=[\n')
-        level += 1
-        for param in self.param:
-            showIndent(outfile, level)
-            outfile.write('model_.param(\n')
-            param.exportLiteral(outfile, level, name_='param')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'param':
-            obj_ = paramType.factory()
-            obj_.build(child_)
-            self.param.append(obj_)
-# end class templateparamlistType
-
-
-class paramType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, type_=None, declname=None, defname=None, array=None, defval=None, briefdescription=None):
-        self.type_ = type_
-        self.declname = declname
-        self.defname = defname
-        self.array = array
-        self.defval = defval
-        self.briefdescription = briefdescription
-    def factory(*args_, **kwargs_):
-        if paramType.subclass:
-            return paramType.subclass(*args_, **kwargs_)
-        else:
-            return paramType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_type(self): return self.type_
-    def set_type(self, type_): self.type_ = type_
-    def get_declname(self): return self.declname
-    def set_declname(self, declname): self.declname = declname
-    def get_defname(self): return self.defname
-    def set_defname(self, defname): self.defname = defname
-    def get_array(self): return self.array
-    def set_array(self, array): self.array = array
-    def get_defval(self): return self.defval
-    def set_defval(self, defval): self.defval = defval
-    def get_briefdescription(self): return self.briefdescription
-    def set_briefdescription(self, briefdescription): self.briefdescription = briefdescription
-    def export(self, outfile, level, namespace_='', name_='paramType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='paramType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='paramType'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='paramType'):
-        if self.type_:
-            self.type_.export(outfile, level, namespace_, name_='type')
-        if self.declname is not None:
-            showIndent(outfile, level)
-            outfile.write('<%sdeclname>%s</%sdeclname>\n' % (namespace_, self.format_string(quote_xml(self.declname).encode(ExternalEncoding), input_name='declname'), namespace_))
-        if self.defname is not None:
-            showIndent(outfile, level)
-            outfile.write('<%sdefname>%s</%sdefname>\n' % (namespace_, self.format_string(quote_xml(self.defname).encode(ExternalEncoding), input_name='defname'), namespace_))
-        if self.array is not None:
-            showIndent(outfile, level)
-            outfile.write('<%sarray>%s</%sarray>\n' % (namespace_, self.format_string(quote_xml(self.array).encode(ExternalEncoding), input_name='array'), namespace_))
-        if self.defval:
-            self.defval.export(outfile, level, namespace_, name_='defval')
-        if self.briefdescription:
-            self.briefdescription.export(outfile, level, namespace_, name_='briefdescription')
-    def hasContent_(self):
-        if (
-            self.type_ is not None or
-            self.declname is not None or
-            self.defname is not None or
-            self.array is not None or
-            self.defval is not None or
-            self.briefdescription is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='paramType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        if self.type_:
-            showIndent(outfile, level)
-            outfile.write('type_=model_.linkedTextType(\n')
-            self.type_.exportLiteral(outfile, level, name_='type')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        showIndent(outfile, level)
-        outfile.write('declname=%s,\n' % quote_python(self.declname).encode(ExternalEncoding))
-        showIndent(outfile, level)
-        outfile.write('defname=%s,\n' % quote_python(self.defname).encode(ExternalEncoding))
-        showIndent(outfile, level)
-        outfile.write('array=%s,\n' % quote_python(self.array).encode(ExternalEncoding))
-        if self.defval:
-            showIndent(outfile, level)
-            outfile.write('defval=model_.linkedTextType(\n')
-            self.defval.exportLiteral(outfile, level, name_='defval')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        if self.briefdescription:
-            showIndent(outfile, level)
-            outfile.write('briefdescription=model_.descriptionType(\n')
-            self.briefdescription.exportLiteral(outfile, level, name_='briefdescription')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'type':
-            obj_ = linkedTextType.factory()
-            obj_.build(child_)
-            self.set_type(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'declname':
-            declname_ = ''
-            for text__content_ in child_.childNodes:
-                declname_ += text__content_.nodeValue
-            self.declname = declname_
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'defname':
-            defname_ = ''
-            for text__content_ in child_.childNodes:
-                defname_ += text__content_.nodeValue
-            self.defname = defname_
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'array':
-            array_ = ''
-            for text__content_ in child_.childNodes:
-                array_ += text__content_.nodeValue
-            self.array = array_
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'defval':
-            obj_ = linkedTextType.factory()
-            obj_.build(child_)
-            self.set_defval(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'briefdescription':
-            obj_ = descriptionType.factory()
-            obj_.build(child_)
-            self.set_briefdescription(obj_)
-# end class paramType
-
-
-class declname(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, valueOf_=''):
-        self.valueOf_ = valueOf_
-    def factory(*args_, **kwargs_):
-        if declname.subclass:
-            return declname.subclass(*args_, **kwargs_)
-        else:
-            return declname(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='declname', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='declname')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='declname'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='declname'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='declname'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class declname
-
-
-class defname(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, valueOf_=''):
-        self.valueOf_ = valueOf_
-    def factory(*args_, **kwargs_):
-        if defname.subclass:
-            return defname.subclass(*args_, **kwargs_)
-        else:
-            return defname(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='defname', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='defname')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='defname'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='defname'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='defname'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class defname
-
-
-class array(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, valueOf_=''):
-        self.valueOf_ = valueOf_
-    def factory(*args_, **kwargs_):
-        if array.subclass:
-            return array.subclass(*args_, **kwargs_)
-        else:
-            return array(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='array', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='array')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='array'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='array'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='array'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class array
-
-
-class linkedTextType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, ref=None, mixedclass_=None, content_=None):
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if linkedTextType.subclass:
-            return linkedTextType.subclass(*args_, **kwargs_)
-        else:
-            return linkedTextType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_ref(self): return self.ref
-    def set_ref(self, ref): self.ref = ref
-    def add_ref(self, value): self.ref.append(value)
-    def insert_ref(self, index, value): self.ref[index] = value
-    def export(self, outfile, level, namespace_='', name_='linkedTextType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='linkedTextType')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='linkedTextType'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='linkedTextType'):
-        for item_ in self.content_:
-            item_.export(outfile, level, item_.name, namespace_)
-    def hasContent_(self):
-        if (
-            self.ref is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='linkedTextType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'ref':
-            childobj_ = docRefTextType.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'ref', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-# end class linkedTextType
-
-
-class graphType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, node=None):
-        if node is None:
-            self.node = []
-        else:
-            self.node = node
-    def factory(*args_, **kwargs_):
-        if graphType.subclass:
-            return graphType.subclass(*args_, **kwargs_)
-        else:
-            return graphType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_node(self): return self.node
-    def set_node(self, node): self.node = node
-    def add_node(self, value): self.node.append(value)
-    def insert_node(self, index, value): self.node[index] = value
-    def export(self, outfile, level, namespace_='', name_='graphType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='graphType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='graphType'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='graphType'):
-        for node_ in self.node:
-            node_.export(outfile, level, namespace_, name_='node')
-    def hasContent_(self):
-        if (
-            self.node is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='graphType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('node=[\n')
-        level += 1
-        for node in self.node:
-            showIndent(outfile, level)
-            outfile.write('model_.node(\n')
-            node.exportLiteral(outfile, level, name_='node')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'node':
-            obj_ = nodeType.factory()
-            obj_.build(child_)
-            self.node.append(obj_)
-# end class graphType
-
-
-class nodeType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, id=None, label=None, link=None, childnode=None):
-        self.id = id
-        self.label = label
-        self.link = link
-        if childnode is None:
-            self.childnode = []
-        else:
-            self.childnode = childnode
-    def factory(*args_, **kwargs_):
-        if nodeType.subclass:
-            return nodeType.subclass(*args_, **kwargs_)
-        else:
-            return nodeType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_label(self): return self.label
-    def set_label(self, label): self.label = label
-    def get_link(self): return self.link
-    def set_link(self, link): self.link = link
-    def get_childnode(self): return self.childnode
-    def set_childnode(self, childnode): self.childnode = childnode
-    def add_childnode(self, value): self.childnode.append(value)
-    def insert_childnode(self, index, value): self.childnode[index] = value
-    def get_id(self): return self.id
-    def set_id(self, id): self.id = id
-    def export(self, outfile, level, namespace_='', name_='nodeType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='nodeType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='nodeType'):
-        if self.id is not None:
-            outfile.write(' id=%s' % (self.format_string(quote_attrib(self.id).encode(ExternalEncoding), input_name='id'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='nodeType'):
-        if self.label is not None:
-            showIndent(outfile, level)
-            outfile.write('<%slabel>%s</%slabel>\n' % (namespace_, self.format_string(quote_xml(self.label).encode(ExternalEncoding), input_name='label'), namespace_))
-        if self.link:
-            self.link.export(outfile, level, namespace_, name_='link')
-        for childnode_ in self.childnode:
-            childnode_.export(outfile, level, namespace_, name_='childnode')
-    def hasContent_(self):
-        if (
-            self.label is not None or
-            self.link is not None or
-            self.childnode is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='nodeType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.id is not None:
-            showIndent(outfile, level)
-            outfile.write('id = %s,\n' % (self.id,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('label=%s,\n' % quote_python(self.label).encode(ExternalEncoding))
-        if self.link:
-            showIndent(outfile, level)
-            outfile.write('link=model_.linkType(\n')
-            self.link.exportLiteral(outfile, level, name_='link')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        showIndent(outfile, level)
-        outfile.write('childnode=[\n')
-        level += 1
-        for childnode in self.childnode:
-            showIndent(outfile, level)
-            outfile.write('model_.childnode(\n')
-            childnode.exportLiteral(outfile, level, name_='childnode')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('id'):
-            self.id = attrs.get('id').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'label':
-            label_ = ''
-            for text__content_ in child_.childNodes:
-                label_ += text__content_.nodeValue
-            self.label = label_
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'link':
-            obj_ = linkType.factory()
-            obj_.build(child_)
-            self.set_link(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'childnode':
-            obj_ = childnodeType.factory()
-            obj_.build(child_)
-            self.childnode.append(obj_)
-# end class nodeType
-
-
-class label(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, valueOf_=''):
-        self.valueOf_ = valueOf_
-    def factory(*args_, **kwargs_):
-        if label.subclass:
-            return label.subclass(*args_, **kwargs_)
-        else:
-            return label(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='label', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='label')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='label'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='label'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='label'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class label
-
-
-class childnodeType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, relation=None, refid=None, edgelabel=None):
-        self.relation = relation
-        self.refid = refid
-        if edgelabel is None:
-            self.edgelabel = []
-        else:
-            self.edgelabel = edgelabel
-    def factory(*args_, **kwargs_):
-        if childnodeType.subclass:
-            return childnodeType.subclass(*args_, **kwargs_)
-        else:
-            return childnodeType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_edgelabel(self): return self.edgelabel
-    def set_edgelabel(self, edgelabel): self.edgelabel = edgelabel
-    def add_edgelabel(self, value): self.edgelabel.append(value)
-    def insert_edgelabel(self, index, value): self.edgelabel[index] = value
-    def get_relation(self): return self.relation
-    def set_relation(self, relation): self.relation = relation
-    def get_refid(self): return self.refid
-    def set_refid(self, refid): self.refid = refid
-    def export(self, outfile, level, namespace_='', name_='childnodeType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='childnodeType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='childnodeType'):
-        if self.relation is not None:
-            outfile.write(' relation=%s' % (quote_attrib(self.relation), ))
-        if self.refid is not None:
-            outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='childnodeType'):
-        for edgelabel_ in self.edgelabel:
-            showIndent(outfile, level)
-            outfile.write('<%sedgelabel>%s</%sedgelabel>\n' % (namespace_, self.format_string(quote_xml(edgelabel_).encode(ExternalEncoding), input_name='edgelabel'), namespace_))
-    def hasContent_(self):
-        if (
-            self.edgelabel is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='childnodeType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.relation is not None:
-            showIndent(outfile, level)
-            outfile.write('relation = "%s",\n' % (self.relation,))
-        if self.refid is not None:
-            showIndent(outfile, level)
-            outfile.write('refid = %s,\n' % (self.refid,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('edgelabel=[\n')
-        level += 1
-        for edgelabel in self.edgelabel:
-            showIndent(outfile, level)
-            outfile.write('%s,\n' % quote_python(edgelabel).encode(ExternalEncoding))
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('relation'):
-            self.relation = attrs.get('relation').value
-        if attrs.get('refid'):
-            self.refid = attrs.get('refid').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'edgelabel':
-            edgelabel_ = ''
-            for text__content_ in child_.childNodes:
-                edgelabel_ += text__content_.nodeValue
-            self.edgelabel.append(edgelabel_)
-# end class childnodeType
-
-
-class edgelabel(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, valueOf_=''):
-        self.valueOf_ = valueOf_
-    def factory(*args_, **kwargs_):
-        if edgelabel.subclass:
-            return edgelabel.subclass(*args_, **kwargs_)
-        else:
-            return edgelabel(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='edgelabel', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='edgelabel')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='edgelabel'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='edgelabel'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='edgelabel'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class edgelabel
-
-
-class linkType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, refid=None, external=None, valueOf_=''):
-        self.refid = refid
-        self.external = external
-        self.valueOf_ = valueOf_
-    def factory(*args_, **kwargs_):
-        if linkType.subclass:
-            return linkType.subclass(*args_, **kwargs_)
-        else:
-            return linkType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_refid(self): return self.refid
-    def set_refid(self, refid): self.refid = refid
-    def get_external(self): return self.external
-    def set_external(self, external): self.external = external
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='linkType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='linkType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='linkType'):
-        if self.refid is not None:
-            outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), ))
-        if self.external is not None:
-            outfile.write(' external=%s' % (self.format_string(quote_attrib(self.external).encode(ExternalEncoding), input_name='external'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='linkType'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='linkType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.refid is not None:
-            showIndent(outfile, level)
-            outfile.write('refid = %s,\n' % (self.refid,))
-        if self.external is not None:
-            showIndent(outfile, level)
-            outfile.write('external = %s,\n' % (self.external,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('refid'):
-            self.refid = attrs.get('refid').value
-        if attrs.get('external'):
-            self.external = attrs.get('external').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class linkType
-
-
-class listingType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, codeline=None):
-        if codeline is None:
-            self.codeline = []
-        else:
-            self.codeline = codeline
-    def factory(*args_, **kwargs_):
-        if listingType.subclass:
-            return listingType.subclass(*args_, **kwargs_)
-        else:
-            return listingType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_codeline(self): return self.codeline
-    def set_codeline(self, codeline): self.codeline = codeline
-    def add_codeline(self, value): self.codeline.append(value)
-    def insert_codeline(self, index, value): self.codeline[index] = value
-    def export(self, outfile, level, namespace_='', name_='listingType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='listingType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='listingType'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='listingType'):
-        for codeline_ in self.codeline:
-            codeline_.export(outfile, level, namespace_, name_='codeline')
-    def hasContent_(self):
-        if (
-            self.codeline is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='listingType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('codeline=[\n')
-        level += 1
-        for codeline in self.codeline:
-            showIndent(outfile, level)
-            outfile.write('model_.codeline(\n')
-            codeline.exportLiteral(outfile, level, name_='codeline')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'codeline':
-            obj_ = codelineType.factory()
-            obj_.build(child_)
-            self.codeline.append(obj_)
-# end class listingType
-
-
-class codelineType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, external=None, lineno=None, refkind=None, refid=None, highlight=None):
-        self.external = external
-        self.lineno = lineno
-        self.refkind = refkind
-        self.refid = refid
-        if highlight is None:
-            self.highlight = []
-        else:
-            self.highlight = highlight
-    def factory(*args_, **kwargs_):
-        if codelineType.subclass:
-            return codelineType.subclass(*args_, **kwargs_)
-        else:
-            return codelineType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_highlight(self): return self.highlight
-    def set_highlight(self, highlight): self.highlight = highlight
-    def add_highlight(self, value): self.highlight.append(value)
-    def insert_highlight(self, index, value): self.highlight[index] = value
-    def get_external(self): return self.external
-    def set_external(self, external): self.external = external
-    def get_lineno(self): return self.lineno
-    def set_lineno(self, lineno): self.lineno = lineno
-    def get_refkind(self): return self.refkind
-    def set_refkind(self, refkind): self.refkind = refkind
-    def get_refid(self): return self.refid
-    def set_refid(self, refid): self.refid = refid
-    def export(self, outfile, level, namespace_='', name_='codelineType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='codelineType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='codelineType'):
-        if self.external is not None:
-            outfile.write(' external=%s' % (quote_attrib(self.external), ))
-        if self.lineno is not None:
-            outfile.write(' lineno="%s"' % self.format_integer(self.lineno, input_name='lineno'))
-        if self.refkind is not None:
-            outfile.write(' refkind=%s' % (quote_attrib(self.refkind), ))
-        if self.refid is not None:
-            outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='codelineType'):
-        for highlight_ in self.highlight:
-            highlight_.export(outfile, level, namespace_, name_='highlight')
-    def hasContent_(self):
-        if (
-            self.highlight is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='codelineType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.external is not None:
-            showIndent(outfile, level)
-            outfile.write('external = "%s",\n' % (self.external,))
-        if self.lineno is not None:
-            showIndent(outfile, level)
-            outfile.write('lineno = %s,\n' % (self.lineno,))
-        if self.refkind is not None:
-            showIndent(outfile, level)
-            outfile.write('refkind = "%s",\n' % (self.refkind,))
-        if self.refid is not None:
-            showIndent(outfile, level)
-            outfile.write('refid = %s,\n' % (self.refid,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('highlight=[\n')
-        level += 1
-        for highlight in self.highlight:
-            showIndent(outfile, level)
-            outfile.write('model_.highlight(\n')
-            highlight.exportLiteral(outfile, level, name_='highlight')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('external'):
-            self.external = attrs.get('external').value
-        if attrs.get('lineno'):
-            try:
-                self.lineno = int(attrs.get('lineno').value)
-            except ValueError, exp:
-                raise ValueError('Bad integer attribute (lineno): %s' % exp)
-        if attrs.get('refkind'):
-            self.refkind = attrs.get('refkind').value
-        if attrs.get('refid'):
-            self.refid = attrs.get('refid').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'highlight':
-            obj_ = highlightType.factory()
-            obj_.build(child_)
-            self.highlight.append(obj_)
-# end class codelineType
-
-
-class highlightType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, classxx=None, sp=None, ref=None, mixedclass_=None, content_=None):
-        self.classxx = classxx
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if highlightType.subclass:
-            return highlightType.subclass(*args_, **kwargs_)
-        else:
-            return highlightType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_sp(self): return self.sp
-    def set_sp(self, sp): self.sp = sp
-    def add_sp(self, value): self.sp.append(value)
-    def insert_sp(self, index, value): self.sp[index] = value
-    def get_ref(self): return self.ref
-    def set_ref(self, ref): self.ref = ref
-    def add_ref(self, value): self.ref.append(value)
-    def insert_ref(self, index, value): self.ref[index] = value
-    def get_class(self): return self.classxx
-    def set_class(self, classxx): self.classxx = classxx
-    def export(self, outfile, level, namespace_='', name_='highlightType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='highlightType')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='highlightType'):
-        if self.classxx is not None:
-            outfile.write(' class=%s' % (quote_attrib(self.classxx), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='highlightType'):
-        for item_ in self.content_:
-            item_.export(outfile, level, item_.name, namespace_)
-    def hasContent_(self):
-        if (
-            self.sp is not None or
-            self.ref is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='highlightType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.classxx is not None:
-            showIndent(outfile, level)
-            outfile.write('classxx = "%s",\n' % (self.classxx,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('class'):
-            self.classxx = attrs.get('class').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'sp':
-            value_ = []
-            for text_ in child_.childNodes:
-                value_.append(text_.nodeValue)
-            valuestr_ = ''.join(value_)
-            obj_ = self.mixedclass_(MixedContainer.CategorySimple,
-                MixedContainer.TypeString, 'sp', valuestr_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'ref':
-            childobj_ = docRefTextType.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'ref', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-# end class highlightType
-
-
-class sp(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, valueOf_=''):
-        self.valueOf_ = valueOf_
-    def factory(*args_, **kwargs_):
-        if sp.subclass:
-            return sp.subclass(*args_, **kwargs_)
-        else:
-            return sp(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='sp', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='sp')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='sp'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='sp'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='sp'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class sp
-
-
-class referenceType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, endline=None, startline=None, refid=None, compoundref=None, valueOf_='', mixedclass_=None, content_=None):
-        self.endline = endline
-        self.startline = startline
-        self.refid = refid
-        self.compoundref = compoundref
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if referenceType.subclass:
-            return referenceType.subclass(*args_, **kwargs_)
-        else:
-            return referenceType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_endline(self): return self.endline
-    def set_endline(self, endline): self.endline = endline
-    def get_startline(self): return self.startline
-    def set_startline(self, startline): self.startline = startline
-    def get_refid(self): return self.refid
-    def set_refid(self, refid): self.refid = refid
-    def get_compoundref(self): return self.compoundref
-    def set_compoundref(self, compoundref): self.compoundref = compoundref
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='referenceType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='referenceType')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='referenceType'):
-        if self.endline is not None:
-            outfile.write(' endline="%s"' % self.format_integer(self.endline, input_name='endline'))
-        if self.startline is not None:
-            outfile.write(' startline="%s"' % self.format_integer(self.startline, input_name='startline'))
-        if self.refid is not None:
-            outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), ))
-        if self.compoundref is not None:
-            outfile.write(' compoundref=%s' % (self.format_string(quote_attrib(self.compoundref).encode(ExternalEncoding), input_name='compoundref'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='referenceType'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='referenceType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.endline is not None:
-            showIndent(outfile, level)
-            outfile.write('endline = %s,\n' % (self.endline,))
-        if self.startline is not None:
-            showIndent(outfile, level)
-            outfile.write('startline = %s,\n' % (self.startline,))
-        if self.refid is not None:
-            showIndent(outfile, level)
-            outfile.write('refid = %s,\n' % (self.refid,))
-        if self.compoundref is not None:
-            showIndent(outfile, level)
-            outfile.write('compoundref = %s,\n' % (self.compoundref,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('endline'):
-            try:
-                self.endline = int(attrs.get('endline').value)
-            except ValueError, exp:
-                raise ValueError('Bad integer attribute (endline): %s' % exp)
-        if attrs.get('startline'):
-            try:
-                self.startline = int(attrs.get('startline').value)
-            except ValueError, exp:
-                raise ValueError('Bad integer attribute (startline): %s' % exp)
-        if attrs.get('refid'):
-            self.refid = attrs.get('refid').value
-        if attrs.get('compoundref'):
-            self.compoundref = attrs.get('compoundref').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class referenceType
-
-
-class locationType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, bodystart=None, line=None, bodyend=None, bodyfile=None, file=None, valueOf_=''):
-        self.bodystart = bodystart
-        self.line = line
-        self.bodyend = bodyend
-        self.bodyfile = bodyfile
-        self.file = file
-        self.valueOf_ = valueOf_
-    def factory(*args_, **kwargs_):
-        if locationType.subclass:
-            return locationType.subclass(*args_, **kwargs_)
-        else:
-            return locationType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_bodystart(self): return self.bodystart
-    def set_bodystart(self, bodystart): self.bodystart = bodystart
-    def get_line(self): return self.line
-    def set_line(self, line): self.line = line
-    def get_bodyend(self): return self.bodyend
-    def set_bodyend(self, bodyend): self.bodyend = bodyend
-    def get_bodyfile(self): return self.bodyfile
-    def set_bodyfile(self, bodyfile): self.bodyfile = bodyfile
-    def get_file(self): return self.file
-    def set_file(self, file): self.file = file
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='locationType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='locationType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='locationType'):
-        if self.bodystart is not None:
-            outfile.write(' bodystart="%s"' % self.format_integer(self.bodystart, input_name='bodystart'))
-        if self.line is not None:
-            outfile.write(' line="%s"' % self.format_integer(self.line, input_name='line'))
-        if self.bodyend is not None:
-            outfile.write(' bodyend="%s"' % self.format_integer(self.bodyend, input_name='bodyend'))
-        if self.bodyfile is not None:
-            outfile.write(' bodyfile=%s' % (self.format_string(quote_attrib(self.bodyfile).encode(ExternalEncoding), input_name='bodyfile'), ))
-        if self.file is not None:
-            outfile.write(' file=%s' % (self.format_string(quote_attrib(self.file).encode(ExternalEncoding), input_name='file'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='locationType'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='locationType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.bodystart is not None:
-            showIndent(outfile, level)
-            outfile.write('bodystart = %s,\n' % (self.bodystart,))
-        if self.line is not None:
-            showIndent(outfile, level)
-            outfile.write('line = %s,\n' % (self.line,))
-        if self.bodyend is not None:
-            showIndent(outfile, level)
-            outfile.write('bodyend = %s,\n' % (self.bodyend,))
-        if self.bodyfile is not None:
-            showIndent(outfile, level)
-            outfile.write('bodyfile = %s,\n' % (self.bodyfile,))
-        if self.file is not None:
-            showIndent(outfile, level)
-            outfile.write('file = %s,\n' % (self.file,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('bodystart'):
-            try:
-                self.bodystart = int(attrs.get('bodystart').value)
-            except ValueError, exp:
-                raise ValueError('Bad integer attribute (bodystart): %s' % exp)
-        if attrs.get('line'):
-            try:
-                self.line = int(attrs.get('line').value)
-            except ValueError, exp:
-                raise ValueError('Bad integer attribute (line): %s' % exp)
-        if attrs.get('bodyend'):
-            try:
-                self.bodyend = int(attrs.get('bodyend').value)
-            except ValueError, exp:
-                raise ValueError('Bad integer attribute (bodyend): %s' % exp)
-        if attrs.get('bodyfile'):
-            self.bodyfile = attrs.get('bodyfile').value
-        if attrs.get('file'):
-            self.file = attrs.get('file').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class locationType
-
-
-class docSect1Type(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, id=None, title=None, para=None, sect2=None, internal=None, mixedclass_=None, content_=None):
-        self.id = id
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if docSect1Type.subclass:
-            return docSect1Type.subclass(*args_, **kwargs_)
-        else:
-            return docSect1Type(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_title(self): return self.title
-    def set_title(self, title): self.title = title
-    def get_para(self): return self.para
-    def set_para(self, para): self.para = para
-    def add_para(self, value): self.para.append(value)
-    def insert_para(self, index, value): self.para[index] = value
-    def get_sect2(self): return self.sect2
-    def set_sect2(self, sect2): self.sect2 = sect2
-    def add_sect2(self, value): self.sect2.append(value)
-    def insert_sect2(self, index, value): self.sect2[index] = value
-    def get_internal(self): return self.internal
-    def set_internal(self, internal): self.internal = internal
-    def get_id(self): return self.id
-    def set_id(self, id): self.id = id
-    def export(self, outfile, level, namespace_='', name_='docSect1Type', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docSect1Type')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='docSect1Type'):
-        if self.id is not None:
-            outfile.write(' id=%s' % (self.format_string(quote_attrib(self.id).encode(ExternalEncoding), input_name='id'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='docSect1Type'):
-        for item_ in self.content_:
-            item_.export(outfile, level, item_.name, namespace_)
-    def hasContent_(self):
-        if (
-            self.title is not None or
-            self.para is not None or
-            self.sect2 is not None or
-            self.internal is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docSect1Type'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.id is not None:
-            showIndent(outfile, level)
-            outfile.write('id = %s,\n' % (self.id,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('id'):
-            self.id = attrs.get('id').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'title':
-            childobj_ = docTitleType.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'title', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'para':
-            childobj_ = docParaType.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'para', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'sect2':
-            childobj_ = docSect2Type.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'sect2', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'internal':
-            childobj_ = docInternalS1Type.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'internal', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-# end class docSect1Type
-
-
-class docSect2Type(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, id=None, title=None, para=None, sect3=None, internal=None, mixedclass_=None, content_=None):
-        self.id = id
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if docSect2Type.subclass:
-            return docSect2Type.subclass(*args_, **kwargs_)
-        else:
-            return docSect2Type(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_title(self): return self.title
-    def set_title(self, title): self.title = title
-    def get_para(self): return self.para
-    def set_para(self, para): self.para = para
-    def add_para(self, value): self.para.append(value)
-    def insert_para(self, index, value): self.para[index] = value
-    def get_sect3(self): return self.sect3
-    def set_sect3(self, sect3): self.sect3 = sect3
-    def add_sect3(self, value): self.sect3.append(value)
-    def insert_sect3(self, index, value): self.sect3[index] = value
-    def get_internal(self): return self.internal
-    def set_internal(self, internal): self.internal = internal
-    def get_id(self): return self.id
-    def set_id(self, id): self.id = id
-    def export(self, outfile, level, namespace_='', name_='docSect2Type', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docSect2Type')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='docSect2Type'):
-        if self.id is not None:
-            outfile.write(' id=%s' % (self.format_string(quote_attrib(self.id).encode(ExternalEncoding), input_name='id'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='docSect2Type'):
-        for item_ in self.content_:
-            item_.export(outfile, level, item_.name, namespace_)
-    def hasContent_(self):
-        if (
-            self.title is not None or
-            self.para is not None or
-            self.sect3 is not None or
-            self.internal is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docSect2Type'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.id is not None:
-            showIndent(outfile, level)
-            outfile.write('id = %s,\n' % (self.id,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('id'):
-            self.id = attrs.get('id').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'title':
-            childobj_ = docTitleType.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'title', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'para':
-            childobj_ = docParaType.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'para', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'sect3':
-            childobj_ = docSect3Type.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'sect3', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'internal':
-            childobj_ = docInternalS2Type.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'internal', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-# end class docSect2Type
-
-
-class docSect3Type(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, id=None, title=None, para=None, sect4=None, internal=None, mixedclass_=None, content_=None):
-        self.id = id
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if docSect3Type.subclass:
-            return docSect3Type.subclass(*args_, **kwargs_)
-        else:
-            return docSect3Type(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_title(self): return self.title
-    def set_title(self, title): self.title = title
-    def get_para(self): return self.para
-    def set_para(self, para): self.para = para
-    def add_para(self, value): self.para.append(value)
-    def insert_para(self, index, value): self.para[index] = value
-    def get_sect4(self): return self.sect4
-    def set_sect4(self, sect4): self.sect4 = sect4
-    def add_sect4(self, value): self.sect4.append(value)
-    def insert_sect4(self, index, value): self.sect4[index] = value
-    def get_internal(self): return self.internal
-    def set_internal(self, internal): self.internal = internal
-    def get_id(self): return self.id
-    def set_id(self, id): self.id = id
-    def export(self, outfile, level, namespace_='', name_='docSect3Type', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docSect3Type')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='docSect3Type'):
-        if self.id is not None:
-            outfile.write(' id=%s' % (self.format_string(quote_attrib(self.id).encode(ExternalEncoding), input_name='id'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='docSect3Type'):
-        for item_ in self.content_:
-            item_.export(outfile, level, item_.name, namespace_)
-    def hasContent_(self):
-        if (
-            self.title is not None or
-            self.para is not None or
-            self.sect4 is not None or
-            self.internal is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docSect3Type'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.id is not None:
-            showIndent(outfile, level)
-            outfile.write('id = %s,\n' % (self.id,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('id'):
-            self.id = attrs.get('id').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'title':
-            childobj_ = docTitleType.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'title', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'para':
-            childobj_ = docParaType.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'para', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'sect4':
-            childobj_ = docSect4Type.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'sect4', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'internal':
-            childobj_ = docInternalS3Type.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'internal', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-# end class docSect3Type
-
-
-class docSect4Type(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, id=None, title=None, para=None, internal=None, mixedclass_=None, content_=None):
-        self.id = id
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if docSect4Type.subclass:
-            return docSect4Type.subclass(*args_, **kwargs_)
-        else:
-            return docSect4Type(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_title(self): return self.title
-    def set_title(self, title): self.title = title
-    def get_para(self): return self.para
-    def set_para(self, para): self.para = para
-    def add_para(self, value): self.para.append(value)
-    def insert_para(self, index, value): self.para[index] = value
-    def get_internal(self): return self.internal
-    def set_internal(self, internal): self.internal = internal
-    def get_id(self): return self.id
-    def set_id(self, id): self.id = id
-    def export(self, outfile, level, namespace_='', name_='docSect4Type', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docSect4Type')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='docSect4Type'):
-        if self.id is not None:
-            outfile.write(' id=%s' % (self.format_string(quote_attrib(self.id).encode(ExternalEncoding), input_name='id'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='docSect4Type'):
-        for item_ in self.content_:
-            item_.export(outfile, level, item_.name, namespace_)
-    def hasContent_(self):
-        if (
-            self.title is not None or
-            self.para is not None or
-            self.internal is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docSect4Type'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.id is not None:
-            showIndent(outfile, level)
-            outfile.write('id = %s,\n' % (self.id,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('id'):
-            self.id = attrs.get('id').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'title':
-            childobj_ = docTitleType.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'title', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'para':
-            childobj_ = docParaType.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'para', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'internal':
-            childobj_ = docInternalS4Type.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'internal', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-# end class docSect4Type
-
-
-class docInternalType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, para=None, sect1=None, mixedclass_=None, content_=None):
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if docInternalType.subclass:
-            return docInternalType.subclass(*args_, **kwargs_)
-        else:
-            return docInternalType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_para(self): return self.para
-    def set_para(self, para): self.para = para
-    def add_para(self, value): self.para.append(value)
-    def insert_para(self, index, value): self.para[index] = value
-    def get_sect1(self): return self.sect1
-    def set_sect1(self, sect1): self.sect1 = sect1
-    def add_sect1(self, value): self.sect1.append(value)
-    def insert_sect1(self, index, value): self.sect1[index] = value
-    def export(self, outfile, level, namespace_='', name_='docInternalType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docInternalType')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='docInternalType'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='docInternalType'):
-        for item_ in self.content_:
-            item_.export(outfile, level, item_.name, namespace_)
-    def hasContent_(self):
-        if (
-            self.para is not None or
-            self.sect1 is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docInternalType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'para':
-            childobj_ = docParaType.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'para', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'sect1':
-            childobj_ = docSect1Type.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'sect1', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-# end class docInternalType
-
-
-class docInternalS1Type(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, para=None, sect2=None, mixedclass_=None, content_=None):
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if docInternalS1Type.subclass:
-            return docInternalS1Type.subclass(*args_, **kwargs_)
-        else:
-            return docInternalS1Type(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_para(self): return self.para
-    def set_para(self, para): self.para = para
-    def add_para(self, value): self.para.append(value)
-    def insert_para(self, index, value): self.para[index] = value
-    def get_sect2(self): return self.sect2
-    def set_sect2(self, sect2): self.sect2 = sect2
-    def add_sect2(self, value): self.sect2.append(value)
-    def insert_sect2(self, index, value): self.sect2[index] = value
-    def export(self, outfile, level, namespace_='', name_='docInternalS1Type', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docInternalS1Type')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='docInternalS1Type'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='docInternalS1Type'):
-        for item_ in self.content_:
-            item_.export(outfile, level, item_.name, namespace_)
-    def hasContent_(self):
-        if (
-            self.para is not None or
-            self.sect2 is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docInternalS1Type'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'para':
-            childobj_ = docParaType.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'para', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'sect2':
-            childobj_ = docSect2Type.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'sect2', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-# end class docInternalS1Type
-
-
-class docInternalS2Type(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, para=None, sect3=None, mixedclass_=None, content_=None):
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if docInternalS2Type.subclass:
-            return docInternalS2Type.subclass(*args_, **kwargs_)
-        else:
-            return docInternalS2Type(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_para(self): return self.para
-    def set_para(self, para): self.para = para
-    def add_para(self, value): self.para.append(value)
-    def insert_para(self, index, value): self.para[index] = value
-    def get_sect3(self): return self.sect3
-    def set_sect3(self, sect3): self.sect3 = sect3
-    def add_sect3(self, value): self.sect3.append(value)
-    def insert_sect3(self, index, value): self.sect3[index] = value
-    def export(self, outfile, level, namespace_='', name_='docInternalS2Type', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docInternalS2Type')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='docInternalS2Type'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='docInternalS2Type'):
-        for item_ in self.content_:
-            item_.export(outfile, level, item_.name, namespace_)
-    def hasContent_(self):
-        if (
-            self.para is not None or
-            self.sect3 is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docInternalS2Type'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'para':
-            childobj_ = docParaType.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'para', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'sect3':
-            childobj_ = docSect3Type.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'sect3', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-# end class docInternalS2Type
-
-
-class docInternalS3Type(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, para=None, sect3=None, mixedclass_=None, content_=None):
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if docInternalS3Type.subclass:
-            return docInternalS3Type.subclass(*args_, **kwargs_)
-        else:
-            return docInternalS3Type(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_para(self): return self.para
-    def set_para(self, para): self.para = para
-    def add_para(self, value): self.para.append(value)
-    def insert_para(self, index, value): self.para[index] = value
-    def get_sect3(self): return self.sect3
-    def set_sect3(self, sect3): self.sect3 = sect3
-    def add_sect3(self, value): self.sect3.append(value)
-    def insert_sect3(self, index, value): self.sect3[index] = value
-    def export(self, outfile, level, namespace_='', name_='docInternalS3Type', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docInternalS3Type')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='docInternalS3Type'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='docInternalS3Type'):
-        for item_ in self.content_:
-            item_.export(outfile, level, item_.name, namespace_)
-    def hasContent_(self):
-        if (
-            self.para is not None or
-            self.sect3 is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docInternalS3Type'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'para':
-            childobj_ = docParaType.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'para', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'sect3':
-            childobj_ = docSect4Type.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'sect3', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-# end class docInternalS3Type
-
-
-class docInternalS4Type(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, para=None, mixedclass_=None, content_=None):
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if docInternalS4Type.subclass:
-            return docInternalS4Type.subclass(*args_, **kwargs_)
-        else:
-            return docInternalS4Type(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_para(self): return self.para
-    def set_para(self, para): self.para = para
-    def add_para(self, value): self.para.append(value)
-    def insert_para(self, index, value): self.para[index] = value
-    def export(self, outfile, level, namespace_='', name_='docInternalS4Type', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docInternalS4Type')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='docInternalS4Type'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='docInternalS4Type'):
-        for item_ in self.content_:
-            item_.export(outfile, level, item_.name, namespace_)
-    def hasContent_(self):
-        if (
-            self.para is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docInternalS4Type'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'para':
-            childobj_ = docParaType.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'para', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-# end class docInternalS4Type
-
-
-class docTitleType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, valueOf_='', mixedclass_=None, content_=None):
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if docTitleType.subclass:
-            return docTitleType.subclass(*args_, **kwargs_)
-        else:
-            return docTitleType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='docTitleType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docTitleType')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='docTitleType'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='docTitleType'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docTitleType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class docTitleType
-
-
-class docParaType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, valueOf_='', mixedclass_=None, content_=None):
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if docParaType.subclass:
-            return docParaType.subclass(*args_, **kwargs_)
-        else:
-            return docParaType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='docParaType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docParaType')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='docParaType'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='docParaType'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docParaType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class docParaType
-
-
-class docMarkupType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, valueOf_='', mixedclass_=None, content_=None):
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if docMarkupType.subclass:
-            return docMarkupType.subclass(*args_, **kwargs_)
-        else:
-            return docMarkupType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='docMarkupType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docMarkupType')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='docMarkupType'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='docMarkupType'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docMarkupType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class docMarkupType
-
-
-class docURLLink(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, url=None, valueOf_='', mixedclass_=None, content_=None):
-        self.url = url
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if docURLLink.subclass:
-            return docURLLink.subclass(*args_, **kwargs_)
-        else:
-            return docURLLink(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_url(self): return self.url
-    def set_url(self, url): self.url = url
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='docURLLink', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docURLLink')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='docURLLink'):
-        if self.url is not None:
-            outfile.write(' url=%s' % (self.format_string(quote_attrib(self.url).encode(ExternalEncoding), input_name='url'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='docURLLink'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docURLLink'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.url is not None:
-            showIndent(outfile, level)
-            outfile.write('url = %s,\n' % (self.url,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('url'):
-            self.url = attrs.get('url').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class docURLLink
-
-
-class docAnchorType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, id=None, valueOf_='', mixedclass_=None, content_=None):
-        self.id = id
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if docAnchorType.subclass:
-            return docAnchorType.subclass(*args_, **kwargs_)
-        else:
-            return docAnchorType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_id(self): return self.id
-    def set_id(self, id): self.id = id
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='docAnchorType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docAnchorType')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='docAnchorType'):
-        if self.id is not None:
-            outfile.write(' id=%s' % (self.format_string(quote_attrib(self.id).encode(ExternalEncoding), input_name='id'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='docAnchorType'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docAnchorType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.id is not None:
-            showIndent(outfile, level)
-            outfile.write('id = %s,\n' % (self.id,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('id'):
-            self.id = attrs.get('id').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class docAnchorType
-
-
-class docFormulaType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, id=None, valueOf_='', mixedclass_=None, content_=None):
-        self.id = id
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if docFormulaType.subclass:
-            return docFormulaType.subclass(*args_, **kwargs_)
-        else:
-            return docFormulaType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_id(self): return self.id
-    def set_id(self, id): self.id = id
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='docFormulaType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docFormulaType')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='docFormulaType'):
-        if self.id is not None:
-            outfile.write(' id=%s' % (self.format_string(quote_attrib(self.id).encode(ExternalEncoding), input_name='id'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='docFormulaType'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docFormulaType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.id is not None:
-            showIndent(outfile, level)
-            outfile.write('id = %s,\n' % (self.id,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('id'):
-            self.id = attrs.get('id').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class docFormulaType
-
-
-class docIndexEntryType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, primaryie=None, secondaryie=None):
-        self.primaryie = primaryie
-        self.secondaryie = secondaryie
-    def factory(*args_, **kwargs_):
-        if docIndexEntryType.subclass:
-            return docIndexEntryType.subclass(*args_, **kwargs_)
-        else:
-            return docIndexEntryType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_primaryie(self): return self.primaryie
-    def set_primaryie(self, primaryie): self.primaryie = primaryie
-    def get_secondaryie(self): return self.secondaryie
-    def set_secondaryie(self, secondaryie): self.secondaryie = secondaryie
-    def export(self, outfile, level, namespace_='', name_='docIndexEntryType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docIndexEntryType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='docIndexEntryType'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='docIndexEntryType'):
-        if self.primaryie is not None:
-            showIndent(outfile, level)
-            outfile.write('<%sprimaryie>%s</%sprimaryie>\n' % (namespace_, self.format_string(quote_xml(self.primaryie).encode(ExternalEncoding), input_name='primaryie'), namespace_))
-        if self.secondaryie is not None:
-            showIndent(outfile, level)
-            outfile.write('<%ssecondaryie>%s</%ssecondaryie>\n' % (namespace_, self.format_string(quote_xml(self.secondaryie).encode(ExternalEncoding), input_name='secondaryie'), namespace_))
-    def hasContent_(self):
-        if (
-            self.primaryie is not None or
-            self.secondaryie is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docIndexEntryType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('primaryie=%s,\n' % quote_python(self.primaryie).encode(ExternalEncoding))
-        showIndent(outfile, level)
-        outfile.write('secondaryie=%s,\n' % quote_python(self.secondaryie).encode(ExternalEncoding))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'primaryie':
-            primaryie_ = ''
-            for text__content_ in child_.childNodes:
-                primaryie_ += text__content_.nodeValue
-            self.primaryie = primaryie_
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'secondaryie':
-            secondaryie_ = ''
-            for text__content_ in child_.childNodes:
-                secondaryie_ += text__content_.nodeValue
-            self.secondaryie = secondaryie_
-# end class docIndexEntryType
-
-
-class docListType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, listitem=None):
-        if listitem is None:
-            self.listitem = []
-        else:
-            self.listitem = listitem
-    def factory(*args_, **kwargs_):
-        if docListType.subclass:
-            return docListType.subclass(*args_, **kwargs_)
-        else:
-            return docListType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_listitem(self): return self.listitem
-    def set_listitem(self, listitem): self.listitem = listitem
-    def add_listitem(self, value): self.listitem.append(value)
-    def insert_listitem(self, index, value): self.listitem[index] = value
-    def export(self, outfile, level, namespace_='', name_='docListType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docListType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='docListType'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='docListType'):
-        for listitem_ in self.listitem:
-            listitem_.export(outfile, level, namespace_, name_='listitem')
-    def hasContent_(self):
-        if (
-            self.listitem is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docListType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('listitem=[\n')
-        level += 1
-        for listitem in self.listitem:
-            showIndent(outfile, level)
-            outfile.write('model_.listitem(\n')
-            listitem.exportLiteral(outfile, level, name_='listitem')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'listitem':
-            obj_ = docListItemType.factory()
-            obj_.build(child_)
-            self.listitem.append(obj_)
-# end class docListType
-
-
-class docListItemType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, para=None):
-        if para is None:
-            self.para = []
-        else:
-            self.para = para
-    def factory(*args_, **kwargs_):
-        if docListItemType.subclass:
-            return docListItemType.subclass(*args_, **kwargs_)
-        else:
-            return docListItemType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_para(self): return self.para
-    def set_para(self, para): self.para = para
-    def add_para(self, value): self.para.append(value)
-    def insert_para(self, index, value): self.para[index] = value
-    def export(self, outfile, level, namespace_='', name_='docListItemType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docListItemType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='docListItemType'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='docListItemType'):
-        for para_ in self.para:
-            para_.export(outfile, level, namespace_, name_='para')
-    def hasContent_(self):
-        if (
-            self.para is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docListItemType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('para=[\n')
-        level += 1
-        for para in self.para:
-            showIndent(outfile, level)
-            outfile.write('model_.para(\n')
-            para.exportLiteral(outfile, level, name_='para')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'para':
-            obj_ = docParaType.factory()
-            obj_.build(child_)
-            self.para.append(obj_)
-# end class docListItemType
-
-
-class docSimpleSectType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, kind=None, title=None, para=None):
-        self.kind = kind
-        self.title = title
-        if para is None:
-            self.para = []
-        else:
-            self.para = para
-    def factory(*args_, **kwargs_):
-        if docSimpleSectType.subclass:
-            return docSimpleSectType.subclass(*args_, **kwargs_)
-        else:
-            return docSimpleSectType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_title(self): return self.title
-    def set_title(self, title): self.title = title
-    def get_para(self): return self.para
-    def set_para(self, para): self.para = para
-    def add_para(self, value): self.para.append(value)
-    def insert_para(self, index, value): self.para[index] = value
-    def get_kind(self): return self.kind
-    def set_kind(self, kind): self.kind = kind
-    def export(self, outfile, level, namespace_='', name_='docSimpleSectType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docSimpleSectType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='docSimpleSectType'):
-        if self.kind is not None:
-            outfile.write(' kind=%s' % (quote_attrib(self.kind), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='docSimpleSectType'):
-        if self.title:
-            self.title.export(outfile, level, namespace_, name_='title')
-        for para_ in self.para:
-            para_.export(outfile, level, namespace_, name_='para')
-    def hasContent_(self):
-        if (
-            self.title is not None or
-            self.para is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docSimpleSectType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.kind is not None:
-            showIndent(outfile, level)
-            outfile.write('kind = "%s",\n' % (self.kind,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        if self.title:
-            showIndent(outfile, level)
-            outfile.write('title=model_.docTitleType(\n')
-            self.title.exportLiteral(outfile, level, name_='title')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        showIndent(outfile, level)
-        outfile.write('para=[\n')
-        level += 1
-        for para in self.para:
-            showIndent(outfile, level)
-            outfile.write('model_.para(\n')
-            para.exportLiteral(outfile, level, name_='para')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('kind'):
-            self.kind = attrs.get('kind').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'title':
-            obj_ = docTitleType.factory()
-            obj_.build(child_)
-            self.set_title(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'para':
-            obj_ = docParaType.factory()
-            obj_.build(child_)
-            self.para.append(obj_)
-# end class docSimpleSectType
-
-
-class docVarListEntryType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, term=None):
-        self.term = term
-    def factory(*args_, **kwargs_):
-        if docVarListEntryType.subclass:
-            return docVarListEntryType.subclass(*args_, **kwargs_)
-        else:
-            return docVarListEntryType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_term(self): return self.term
-    def set_term(self, term): self.term = term
-    def export(self, outfile, level, namespace_='', name_='docVarListEntryType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docVarListEntryType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='docVarListEntryType'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='docVarListEntryType'):
-        if self.term:
-            self.term.export(outfile, level, namespace_, name_='term', )
-    def hasContent_(self):
-        if (
-            self.term is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docVarListEntryType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        if self.term:
-            showIndent(outfile, level)
-            outfile.write('term=model_.docTitleType(\n')
-            self.term.exportLiteral(outfile, level, name_='term')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'term':
-            obj_ = docTitleType.factory()
-            obj_.build(child_)
-            self.set_term(obj_)
-# end class docVarListEntryType
-
-
-class docVariableListType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, valueOf_=''):
-        self.valueOf_ = valueOf_
-    def factory(*args_, **kwargs_):
-        if docVariableListType.subclass:
-            return docVariableListType.subclass(*args_, **kwargs_)
-        else:
-            return docVariableListType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='docVariableListType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docVariableListType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='docVariableListType'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='docVariableListType'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docVariableListType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class docVariableListType
-
-
-class docRefTextType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, refid=None, kindref=None, external=None, valueOf_='', mixedclass_=None, content_=None):
-        self.refid = refid
-        self.kindref = kindref
-        self.external = external
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if docRefTextType.subclass:
-            return docRefTextType.subclass(*args_, **kwargs_)
-        else:
-            return docRefTextType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_refid(self): return self.refid
-    def set_refid(self, refid): self.refid = refid
-    def get_kindref(self): return self.kindref
-    def set_kindref(self, kindref): self.kindref = kindref
-    def get_external(self): return self.external
-    def set_external(self, external): self.external = external
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='docRefTextType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docRefTextType')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='docRefTextType'):
-        if self.refid is not None:
-            outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), ))
-        if self.kindref is not None:
-            outfile.write(' kindref=%s' % (quote_attrib(self.kindref), ))
-        if self.external is not None:
-            outfile.write(' external=%s' % (self.format_string(quote_attrib(self.external).encode(ExternalEncoding), input_name='external'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='docRefTextType'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docRefTextType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.refid is not None:
-            showIndent(outfile, level)
-            outfile.write('refid = %s,\n' % (self.refid,))
-        if self.kindref is not None:
-            showIndent(outfile, level)
-            outfile.write('kindref = "%s",\n' % (self.kindref,))
-        if self.external is not None:
-            showIndent(outfile, level)
-            outfile.write('external = %s,\n' % (self.external,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('refid'):
-            self.refid = attrs.get('refid').value
-        if attrs.get('kindref'):
-            self.kindref = attrs.get('kindref').value
-        if attrs.get('external'):
-            self.external = attrs.get('external').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class docRefTextType
-
-
-class docTableType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, rows=None, cols=None, row=None, caption=None):
-        self.rows = rows
-        self.cols = cols
-        if row is None:
-            self.row = []
-        else:
-            self.row = row
-        self.caption = caption
-    def factory(*args_, **kwargs_):
-        if docTableType.subclass:
-            return docTableType.subclass(*args_, **kwargs_)
-        else:
-            return docTableType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_row(self): return self.row
-    def set_row(self, row): self.row = row
-    def add_row(self, value): self.row.append(value)
-    def insert_row(self, index, value): self.row[index] = value
-    def get_caption(self): return self.caption
-    def set_caption(self, caption): self.caption = caption
-    def get_rows(self): return self.rows
-    def set_rows(self, rows): self.rows = rows
-    def get_cols(self): return self.cols
-    def set_cols(self, cols): self.cols = cols
-    def export(self, outfile, level, namespace_='', name_='docTableType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docTableType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='docTableType'):
-        if self.rows is not None:
-            outfile.write(' rows="%s"' % self.format_integer(self.rows, input_name='rows'))
-        if self.cols is not None:
-            outfile.write(' cols="%s"' % self.format_integer(self.cols, input_name='cols'))
-    def exportChildren(self, outfile, level, namespace_='', name_='docTableType'):
-        for row_ in self.row:
-            row_.export(outfile, level, namespace_, name_='row')
-        if self.caption:
-            self.caption.export(outfile, level, namespace_, name_='caption')
-    def hasContent_(self):
-        if (
-            self.row is not None or
-            self.caption is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docTableType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.rows is not None:
-            showIndent(outfile, level)
-            outfile.write('rows = %s,\n' % (self.rows,))
-        if self.cols is not None:
-            showIndent(outfile, level)
-            outfile.write('cols = %s,\n' % (self.cols,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('row=[\n')
-        level += 1
-        for row in self.row:
-            showIndent(outfile, level)
-            outfile.write('model_.row(\n')
-            row.exportLiteral(outfile, level, name_='row')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        if self.caption:
-            showIndent(outfile, level)
-            outfile.write('caption=model_.docCaptionType(\n')
-            self.caption.exportLiteral(outfile, level, name_='caption')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('rows'):
-            try:
-                self.rows = int(attrs.get('rows').value)
-            except ValueError, exp:
-                raise ValueError('Bad integer attribute (rows): %s' % exp)
-        if attrs.get('cols'):
-            try:
-                self.cols = int(attrs.get('cols').value)
-            except ValueError, exp:
-                raise ValueError('Bad integer attribute (cols): %s' % exp)
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'row':
-            obj_ = docRowType.factory()
-            obj_.build(child_)
-            self.row.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'caption':
-            obj_ = docCaptionType.factory()
-            obj_.build(child_)
-            self.set_caption(obj_)
-# end class docTableType
-
-
-class docRowType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, entry=None):
-        if entry is None:
-            self.entry = []
-        else:
-            self.entry = entry
-    def factory(*args_, **kwargs_):
-        if docRowType.subclass:
-            return docRowType.subclass(*args_, **kwargs_)
-        else:
-            return docRowType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_entry(self): return self.entry
-    def set_entry(self, entry): self.entry = entry
-    def add_entry(self, value): self.entry.append(value)
-    def insert_entry(self, index, value): self.entry[index] = value
-    def export(self, outfile, level, namespace_='', name_='docRowType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docRowType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='docRowType'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='docRowType'):
-        for entry_ in self.entry:
-            entry_.export(outfile, level, namespace_, name_='entry')
-    def hasContent_(self):
-        if (
-            self.entry is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docRowType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('entry=[\n')
-        level += 1
-        for entry in self.entry:
-            showIndent(outfile, level)
-            outfile.write('model_.entry(\n')
-            entry.exportLiteral(outfile, level, name_='entry')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'entry':
-            obj_ = docEntryType.factory()
-            obj_.build(child_)
-            self.entry.append(obj_)
-# end class docRowType
-
-
-class docEntryType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, thead=None, para=None):
-        self.thead = thead
-        if para is None:
-            self.para = []
-        else:
-            self.para = para
-    def factory(*args_, **kwargs_):
-        if docEntryType.subclass:
-            return docEntryType.subclass(*args_, **kwargs_)
-        else:
-            return docEntryType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_para(self): return self.para
-    def set_para(self, para): self.para = para
-    def add_para(self, value): self.para.append(value)
-    def insert_para(self, index, value): self.para[index] = value
-    def get_thead(self): return self.thead
-    def set_thead(self, thead): self.thead = thead
-    def export(self, outfile, level, namespace_='', name_='docEntryType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docEntryType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='docEntryType'):
-        if self.thead is not None:
-            outfile.write(' thead=%s' % (quote_attrib(self.thead), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='docEntryType'):
-        for para_ in self.para:
-            para_.export(outfile, level, namespace_, name_='para')
-    def hasContent_(self):
-        if (
-            self.para is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docEntryType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.thead is not None:
-            showIndent(outfile, level)
-            outfile.write('thead = "%s",\n' % (self.thead,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('para=[\n')
-        level += 1
-        for para in self.para:
-            showIndent(outfile, level)
-            outfile.write('model_.para(\n')
-            para.exportLiteral(outfile, level, name_='para')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('thead'):
-            self.thead = attrs.get('thead').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'para':
-            obj_ = docParaType.factory()
-            obj_.build(child_)
-            self.para.append(obj_)
-# end class docEntryType
-
-
-class docCaptionType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, valueOf_='', mixedclass_=None, content_=None):
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if docCaptionType.subclass:
-            return docCaptionType.subclass(*args_, **kwargs_)
-        else:
-            return docCaptionType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='docCaptionType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docCaptionType')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='docCaptionType'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='docCaptionType'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docCaptionType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class docCaptionType
-
-
-class docHeadingType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, level=None, valueOf_='', mixedclass_=None, content_=None):
-        self.level = level
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if docHeadingType.subclass:
-            return docHeadingType.subclass(*args_, **kwargs_)
-        else:
-            return docHeadingType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_level(self): return self.level
-    def set_level(self, level): self.level = level
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='docHeadingType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docHeadingType')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='docHeadingType'):
-        if self.level is not None:
-            outfile.write(' level="%s"' % self.format_integer(self.level, input_name='level'))
-    def exportChildren(self, outfile, level, namespace_='', name_='docHeadingType'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docHeadingType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.level is not None:
-            showIndent(outfile, level)
-            outfile.write('level = %s,\n' % (self.level,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('level'):
-            try:
-                self.level = int(attrs.get('level').value)
-            except ValueError, exp:
-                raise ValueError('Bad integer attribute (level): %s' % exp)
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class docHeadingType
-
-
-class docImageType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, width=None, type_=None, name=None, height=None, valueOf_='', mixedclass_=None, content_=None):
-        self.width = width
-        self.type_ = type_
-        self.name = name
-        self.height = height
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if docImageType.subclass:
-            return docImageType.subclass(*args_, **kwargs_)
-        else:
-            return docImageType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_width(self): return self.width
-    def set_width(self, width): self.width = width
-    def get_type(self): return self.type_
-    def set_type(self, type_): self.type_ = type_
-    def get_name(self): return self.name
-    def set_name(self, name): self.name = name
-    def get_height(self): return self.height
-    def set_height(self, height): self.height = height
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='docImageType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docImageType')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='docImageType'):
-        if self.width is not None:
-            outfile.write(' width=%s' % (self.format_string(quote_attrib(self.width).encode(ExternalEncoding), input_name='width'), ))
-        if self.type_ is not None:
-            outfile.write(' type=%s' % (quote_attrib(self.type_), ))
-        if self.name is not None:
-            outfile.write(' name=%s' % (self.format_string(quote_attrib(self.name).encode(ExternalEncoding), input_name='name'), ))
-        if self.height is not None:
-            outfile.write(' height=%s' % (self.format_string(quote_attrib(self.height).encode(ExternalEncoding), input_name='height'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='docImageType'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docImageType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.width is not None:
-            showIndent(outfile, level)
-            outfile.write('width = %s,\n' % (self.width,))
-        if self.type_ is not None:
-            showIndent(outfile, level)
-            outfile.write('type_ = "%s",\n' % (self.type_,))
-        if self.name is not None:
-            showIndent(outfile, level)
-            outfile.write('name = %s,\n' % (self.name,))
-        if self.height is not None:
-            showIndent(outfile, level)
-            outfile.write('height = %s,\n' % (self.height,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('width'):
-            self.width = attrs.get('width').value
-        if attrs.get('type'):
-            self.type_ = attrs.get('type').value
-        if attrs.get('name'):
-            self.name = attrs.get('name').value
-        if attrs.get('height'):
-            self.height = attrs.get('height').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class docImageType
-
-
-class docDotFileType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, name=None, valueOf_='', mixedclass_=None, content_=None):
-        self.name = name
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if docDotFileType.subclass:
-            return docDotFileType.subclass(*args_, **kwargs_)
-        else:
-            return docDotFileType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_name(self): return self.name
-    def set_name(self, name): self.name = name
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='docDotFileType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docDotFileType')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='docDotFileType'):
-        if self.name is not None:
-            outfile.write(' name=%s' % (self.format_string(quote_attrib(self.name).encode(ExternalEncoding), input_name='name'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='docDotFileType'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docDotFileType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.name is not None:
-            showIndent(outfile, level)
-            outfile.write('name = %s,\n' % (self.name,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('name'):
-            self.name = attrs.get('name').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class docDotFileType
-
-
-class docTocItemType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, id=None, valueOf_='', mixedclass_=None, content_=None):
-        self.id = id
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if docTocItemType.subclass:
-            return docTocItemType.subclass(*args_, **kwargs_)
-        else:
-            return docTocItemType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_id(self): return self.id
-    def set_id(self, id): self.id = id
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='docTocItemType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docTocItemType')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='docTocItemType'):
-        if self.id is not None:
-            outfile.write(' id=%s' % (self.format_string(quote_attrib(self.id).encode(ExternalEncoding), input_name='id'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='docTocItemType'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docTocItemType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.id is not None:
-            showIndent(outfile, level)
-            outfile.write('id = %s,\n' % (self.id,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('id'):
-            self.id = attrs.get('id').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class docTocItemType
-
-
-class docTocListType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, tocitem=None):
-        if tocitem is None:
-            self.tocitem = []
-        else:
-            self.tocitem = tocitem
-    def factory(*args_, **kwargs_):
-        if docTocListType.subclass:
-            return docTocListType.subclass(*args_, **kwargs_)
-        else:
-            return docTocListType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_tocitem(self): return self.tocitem
-    def set_tocitem(self, tocitem): self.tocitem = tocitem
-    def add_tocitem(self, value): self.tocitem.append(value)
-    def insert_tocitem(self, index, value): self.tocitem[index] = value
-    def export(self, outfile, level, namespace_='', name_='docTocListType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docTocListType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='docTocListType'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='docTocListType'):
-        for tocitem_ in self.tocitem:
-            tocitem_.export(outfile, level, namespace_, name_='tocitem')
-    def hasContent_(self):
-        if (
-            self.tocitem is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docTocListType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('tocitem=[\n')
-        level += 1
-        for tocitem in self.tocitem:
-            showIndent(outfile, level)
-            outfile.write('model_.tocitem(\n')
-            tocitem.exportLiteral(outfile, level, name_='tocitem')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'tocitem':
-            obj_ = docTocItemType.factory()
-            obj_.build(child_)
-            self.tocitem.append(obj_)
-# end class docTocListType
-
-
-class docLanguageType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, langid=None, para=None):
-        self.langid = langid
-        if para is None:
-            self.para = []
-        else:
-            self.para = para
-    def factory(*args_, **kwargs_):
-        if docLanguageType.subclass:
-            return docLanguageType.subclass(*args_, **kwargs_)
-        else:
-            return docLanguageType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_para(self): return self.para
-    def set_para(self, para): self.para = para
-    def add_para(self, value): self.para.append(value)
-    def insert_para(self, index, value): self.para[index] = value
-    def get_langid(self): return self.langid
-    def set_langid(self, langid): self.langid = langid
-    def export(self, outfile, level, namespace_='', name_='docLanguageType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docLanguageType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='docLanguageType'):
-        if self.langid is not None:
-            outfile.write(' langid=%s' % (self.format_string(quote_attrib(self.langid).encode(ExternalEncoding), input_name='langid'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='docLanguageType'):
-        for para_ in self.para:
-            para_.export(outfile, level, namespace_, name_='para')
-    def hasContent_(self):
-        if (
-            self.para is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docLanguageType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.langid is not None:
-            showIndent(outfile, level)
-            outfile.write('langid = %s,\n' % (self.langid,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('para=[\n')
-        level += 1
-        for para in self.para:
-            showIndent(outfile, level)
-            outfile.write('model_.para(\n')
-            para.exportLiteral(outfile, level, name_='para')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('langid'):
-            self.langid = attrs.get('langid').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'para':
-            obj_ = docParaType.factory()
-            obj_.build(child_)
-            self.para.append(obj_)
-# end class docLanguageType
-
-
-class docParamListType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, kind=None, parameteritem=None):
-        self.kind = kind
-        if parameteritem is None:
-            self.parameteritem = []
-        else:
-            self.parameteritem = parameteritem
-    def factory(*args_, **kwargs_):
-        if docParamListType.subclass:
-            return docParamListType.subclass(*args_, **kwargs_)
-        else:
-            return docParamListType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_parameteritem(self): return self.parameteritem
-    def set_parameteritem(self, parameteritem): self.parameteritem = parameteritem
-    def add_parameteritem(self, value): self.parameteritem.append(value)
-    def insert_parameteritem(self, index, value): self.parameteritem[index] = value
-    def get_kind(self): return self.kind
-    def set_kind(self, kind): self.kind = kind
-    def export(self, outfile, level, namespace_='', name_='docParamListType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docParamListType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='docParamListType'):
-        if self.kind is not None:
-            outfile.write(' kind=%s' % (quote_attrib(self.kind), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='docParamListType'):
-        for parameteritem_ in self.parameteritem:
-            parameteritem_.export(outfile, level, namespace_, name_='parameteritem')
-    def hasContent_(self):
-        if (
-            self.parameteritem is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docParamListType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.kind is not None:
-            showIndent(outfile, level)
-            outfile.write('kind = "%s",\n' % (self.kind,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('parameteritem=[\n')
-        level += 1
-        for parameteritem in self.parameteritem:
-            showIndent(outfile, level)
-            outfile.write('model_.parameteritem(\n')
-            parameteritem.exportLiteral(outfile, level, name_='parameteritem')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('kind'):
-            self.kind = attrs.get('kind').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'parameteritem':
-            obj_ = docParamListItem.factory()
-            obj_.build(child_)
-            self.parameteritem.append(obj_)
-# end class docParamListType
-
-
-class docParamListItem(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, parameternamelist=None, parameterdescription=None):
-        if parameternamelist is None:
-            self.parameternamelist = []
-        else:
-            self.parameternamelist = parameternamelist
-        self.parameterdescription = parameterdescription
-    def factory(*args_, **kwargs_):
-        if docParamListItem.subclass:
-            return docParamListItem.subclass(*args_, **kwargs_)
-        else:
-            return docParamListItem(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_parameternamelist(self): return self.parameternamelist
-    def set_parameternamelist(self, parameternamelist): self.parameternamelist = parameternamelist
-    def add_parameternamelist(self, value): self.parameternamelist.append(value)
-    def insert_parameternamelist(self, index, value): self.parameternamelist[index] = value
-    def get_parameterdescription(self): return self.parameterdescription
-    def set_parameterdescription(self, parameterdescription): self.parameterdescription = parameterdescription
-    def export(self, outfile, level, namespace_='', name_='docParamListItem', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docParamListItem')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='docParamListItem'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='docParamListItem'):
-        for parameternamelist_ in self.parameternamelist:
-            parameternamelist_.export(outfile, level, namespace_, name_='parameternamelist')
-        if self.parameterdescription:
-            self.parameterdescription.export(outfile, level, namespace_, name_='parameterdescription', )
-    def hasContent_(self):
-        if (
-            self.parameternamelist is not None or
-            self.parameterdescription is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docParamListItem'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('parameternamelist=[\n')
-        level += 1
-        for parameternamelist in self.parameternamelist:
-            showIndent(outfile, level)
-            outfile.write('model_.parameternamelist(\n')
-            parameternamelist.exportLiteral(outfile, level, name_='parameternamelist')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        if self.parameterdescription:
-            showIndent(outfile, level)
-            outfile.write('parameterdescription=model_.descriptionType(\n')
-            self.parameterdescription.exportLiteral(outfile, level, name_='parameterdescription')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'parameternamelist':
-            obj_ = docParamNameList.factory()
-            obj_.build(child_)
-            self.parameternamelist.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'parameterdescription':
-            obj_ = descriptionType.factory()
-            obj_.build(child_)
-            self.set_parameterdescription(obj_)
-# end class docParamListItem
-
-
-class docParamNameList(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, parametername=None):
-        if parametername is None:
-            self.parametername = []
-        else:
-            self.parametername = parametername
-    def factory(*args_, **kwargs_):
-        if docParamNameList.subclass:
-            return docParamNameList.subclass(*args_, **kwargs_)
-        else:
-            return docParamNameList(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_parametername(self): return self.parametername
-    def set_parametername(self, parametername): self.parametername = parametername
-    def add_parametername(self, value): self.parametername.append(value)
-    def insert_parametername(self, index, value): self.parametername[index] = value
-    def export(self, outfile, level, namespace_='', name_='docParamNameList', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docParamNameList')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='docParamNameList'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='docParamNameList'):
-        for parametername_ in self.parametername:
-            parametername_.export(outfile, level, namespace_, name_='parametername')
-    def hasContent_(self):
-        if (
-            self.parametername is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docParamNameList'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('parametername=[\n')
-        level += 1
-        for parametername in self.parametername:
-            showIndent(outfile, level)
-            outfile.write('model_.parametername(\n')
-            parametername.exportLiteral(outfile, level, name_='parametername')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'parametername':
-            obj_ = docParamName.factory()
-            obj_.build(child_)
-            self.parametername.append(obj_)
-# end class docParamNameList
-
-
-class docParamName(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, direction=None, ref=None, mixedclass_=None, content_=None):
-        self.direction = direction
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if docParamName.subclass:
-            return docParamName.subclass(*args_, **kwargs_)
-        else:
-            return docParamName(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_ref(self): return self.ref
-    def set_ref(self, ref): self.ref = ref
-    def get_direction(self): return self.direction
-    def set_direction(self, direction): self.direction = direction
-    def export(self, outfile, level, namespace_='', name_='docParamName', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docParamName')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='docParamName'):
-        if self.direction is not None:
-            outfile.write(' direction=%s' % (quote_attrib(self.direction), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='docParamName'):
-        for item_ in self.content_:
-            item_.export(outfile, level, item_.name, namespace_)
-    def hasContent_(self):
-        if (
-            self.ref is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docParamName'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.direction is not None:
-            showIndent(outfile, level)
-            outfile.write('direction = "%s",\n' % (self.direction,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('direction'):
-            self.direction = attrs.get('direction').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'ref':
-            childobj_ = docRefTextType.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'ref', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-# end class docParamName
-
-
-class docXRefSectType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, id=None, xreftitle=None, xrefdescription=None):
-        self.id = id
-        if xreftitle is None:
-            self.xreftitle = []
-        else:
-            self.xreftitle = xreftitle
-        self.xrefdescription = xrefdescription
-    def factory(*args_, **kwargs_):
-        if docXRefSectType.subclass:
-            return docXRefSectType.subclass(*args_, **kwargs_)
-        else:
-            return docXRefSectType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_xreftitle(self): return self.xreftitle
-    def set_xreftitle(self, xreftitle): self.xreftitle = xreftitle
-    def add_xreftitle(self, value): self.xreftitle.append(value)
-    def insert_xreftitle(self, index, value): self.xreftitle[index] = value
-    def get_xrefdescription(self): return self.xrefdescription
-    def set_xrefdescription(self, xrefdescription): self.xrefdescription = xrefdescription
-    def get_id(self): return self.id
-    def set_id(self, id): self.id = id
-    def export(self, outfile, level, namespace_='', name_='docXRefSectType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docXRefSectType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='docXRefSectType'):
-        if self.id is not None:
-            outfile.write(' id=%s' % (self.format_string(quote_attrib(self.id).encode(ExternalEncoding), input_name='id'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='docXRefSectType'):
-        for xreftitle_ in self.xreftitle:
-            showIndent(outfile, level)
-            outfile.write('<%sxreftitle>%s</%sxreftitle>\n' % (namespace_, self.format_string(quote_xml(xreftitle_).encode(ExternalEncoding), input_name='xreftitle'), namespace_))
-        if self.xrefdescription:
-            self.xrefdescription.export(outfile, level, namespace_, name_='xrefdescription', )
-    def hasContent_(self):
-        if (
-            self.xreftitle is not None or
-            self.xrefdescription is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docXRefSectType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.id is not None:
-            showIndent(outfile, level)
-            outfile.write('id = %s,\n' % (self.id,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('xreftitle=[\n')
-        level += 1
-        for xreftitle in self.xreftitle:
-            showIndent(outfile, level)
-            outfile.write('%s,\n' % quote_python(xreftitle).encode(ExternalEncoding))
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        if self.xrefdescription:
-            showIndent(outfile, level)
-            outfile.write('xrefdescription=model_.descriptionType(\n')
-            self.xrefdescription.exportLiteral(outfile, level, name_='xrefdescription')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('id'):
-            self.id = attrs.get('id').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'xreftitle':
-            xreftitle_ = ''
-            for text__content_ in child_.childNodes:
-                xreftitle_ += text__content_.nodeValue
-            self.xreftitle.append(xreftitle_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'xrefdescription':
-            obj_ = descriptionType.factory()
-            obj_.build(child_)
-            self.set_xrefdescription(obj_)
-# end class docXRefSectType
-
-
-class docCopyType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, link=None, para=None, sect1=None, internal=None):
-        self.link = link
-        if para is None:
-            self.para = []
-        else:
-            self.para = para
-        if sect1 is None:
-            self.sect1 = []
-        else:
-            self.sect1 = sect1
-        self.internal = internal
-    def factory(*args_, **kwargs_):
-        if docCopyType.subclass:
-            return docCopyType.subclass(*args_, **kwargs_)
-        else:
-            return docCopyType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_para(self): return self.para
-    def set_para(self, para): self.para = para
-    def add_para(self, value): self.para.append(value)
-    def insert_para(self, index, value): self.para[index] = value
-    def get_sect1(self): return self.sect1
-    def set_sect1(self, sect1): self.sect1 = sect1
-    def add_sect1(self, value): self.sect1.append(value)
-    def insert_sect1(self, index, value): self.sect1[index] = value
-    def get_internal(self): return self.internal
-    def set_internal(self, internal): self.internal = internal
-    def get_link(self): return self.link
-    def set_link(self, link): self.link = link
-    def export(self, outfile, level, namespace_='', name_='docCopyType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docCopyType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='docCopyType'):
-        if self.link is not None:
-            outfile.write(' link=%s' % (self.format_string(quote_attrib(self.link).encode(ExternalEncoding), input_name='link'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='docCopyType'):
-        for para_ in self.para:
-            para_.export(outfile, level, namespace_, name_='para')
-        for sect1_ in self.sect1:
-            sect1_.export(outfile, level, namespace_, name_='sect1')
-        if self.internal:
-            self.internal.export(outfile, level, namespace_, name_='internal')
-    def hasContent_(self):
-        if (
-            self.para is not None or
-            self.sect1 is not None or
-            self.internal is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docCopyType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.link is not None:
-            showIndent(outfile, level)
-            outfile.write('link = %s,\n' % (self.link,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('para=[\n')
-        level += 1
-        for para in self.para:
-            showIndent(outfile, level)
-            outfile.write('model_.para(\n')
-            para.exportLiteral(outfile, level, name_='para')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('sect1=[\n')
-        level += 1
-        for sect1 in self.sect1:
-            showIndent(outfile, level)
-            outfile.write('model_.sect1(\n')
-            sect1.exportLiteral(outfile, level, name_='sect1')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        if self.internal:
-            showIndent(outfile, level)
-            outfile.write('internal=model_.docInternalType(\n')
-            self.internal.exportLiteral(outfile, level, name_='internal')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('link'):
-            self.link = attrs.get('link').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'para':
-            obj_ = docParaType.factory()
-            obj_.build(child_)
-            self.para.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'sect1':
-            obj_ = docSect1Type.factory()
-            obj_.build(child_)
-            self.sect1.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'internal':
-            obj_ = docInternalType.factory()
-            obj_.build(child_)
-            self.set_internal(obj_)
-# end class docCopyType
-
-
-class docCharType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, char=None, valueOf_=''):
-        self.char = char
-        self.valueOf_ = valueOf_
-    def factory(*args_, **kwargs_):
-        if docCharType.subclass:
-            return docCharType.subclass(*args_, **kwargs_)
-        else:
-            return docCharType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_char(self): return self.char
-    def set_char(self, char): self.char = char
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='docCharType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docCharType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='docCharType'):
-        if self.char is not None:
-            outfile.write(' char=%s' % (quote_attrib(self.char), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='docCharType'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docCharType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.char is not None:
-            showIndent(outfile, level)
-            outfile.write('char = "%s",\n' % (self.char,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('char'):
-            self.char = attrs.get('char').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class docCharType
-
-
-class docEmptyType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, valueOf_=''):
-        self.valueOf_ = valueOf_
-    def factory(*args_, **kwargs_):
-        if docEmptyType.subclass:
-            return docEmptyType.subclass(*args_, **kwargs_)
-        else:
-            return docEmptyType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='docEmptyType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docEmptyType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='docEmptyType'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='docEmptyType'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docEmptyType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class docEmptyType
-
-
-USAGE_TEXT = """
-Usage: python <Parser>.py [ -s ] <in_xml_file>
-Options:
-    -s        Use the SAX parser, not the minidom parser.
-"""
-
-def usage():
-    print USAGE_TEXT
-    sys.exit(1)
-
-
-def parse(inFileName):
-    doc = minidom.parse(inFileName)
-    rootNode = doc.documentElement
-    rootObj = DoxygenType.factory()
-    rootObj.build(rootNode)
-    # Enable Python to collect the space used by the DOM.
-    doc = None
-    sys.stdout.write('<?xml version="1.0" ?>\n')
-    rootObj.export(sys.stdout, 0, name_="doxygen",
-        namespacedef_='')
-    return rootObj
-
-
-def parseString(inString):
-    doc = minidom.parseString(inString)
-    rootNode = doc.documentElement
-    rootObj = DoxygenType.factory()
-    rootObj.build(rootNode)
-    # Enable Python to collect the space used by the DOM.
-    doc = None
-    sys.stdout.write('<?xml version="1.0" ?>\n')
-    rootObj.export(sys.stdout, 0, name_="doxygen",
-        namespacedef_='')
-    return rootObj
-
-
-def parseLiteral(inFileName):
-    doc = minidom.parse(inFileName)
-    rootNode = doc.documentElement
-    rootObj = DoxygenType.factory()
-    rootObj.build(rootNode)
-    # Enable Python to collect the space used by the DOM.
-    doc = None
-    sys.stdout.write('from compound import *\n\n')
-    sys.stdout.write('rootObj = doxygen(\n')
-    rootObj.exportLiteral(sys.stdout, 0, name_="doxygen")
-    sys.stdout.write(')\n')
-    return rootObj
-
-
-def main():
-    args = sys.argv[1:]
-    if len(args) == 1:
-        parse(args[0])
-    else:
-        usage()
-
-
-if __name__ == '__main__':
-    main()
-    #import pdb
-    #pdb.run('main()')
-
diff --git a/drivers/gr-dbfcttc/docs/doxygen/doxyxml/generated/index.py b/drivers/gr-dbfcttc/docs/doxygen/doxyxml/generated/index.py
deleted file mode 100644
index 7a70e14..0000000
--- a/drivers/gr-dbfcttc/docs/doxygen/doxyxml/generated/index.py
+++ /dev/null
@@ -1,77 +0,0 @@
-#!/usr/bin/env python
-
-"""
-Generated Mon Feb  9 19:08:05 2009 by generateDS.py.
-"""
-
-from xml.dom import minidom
-
-import os
-import sys
-import compound
-
-import indexsuper as supermod
-
-class DoxygenTypeSub(supermod.DoxygenType):
-    def __init__(self, version=None, compound=None):
-        supermod.DoxygenType.__init__(self, version, compound)
-
-    def find_compounds_and_members(self, details):
-        """
-        Returns a list of all compounds and their members which match details
-        """
-
-        results = []
-        for compound in self.compound:
-            members = compound.find_members(details)
-            if members:
-                results.append([compound, members])
-            else:
-                if details.match(compound):
-                    results.append([compound, []])
-
-        return results
-
-supermod.DoxygenType.subclass = DoxygenTypeSub
-# end class DoxygenTypeSub
-
-
-class CompoundTypeSub(supermod.CompoundType):
-    def __init__(self, kind=None, refid=None, name='', member=None):
-        supermod.CompoundType.__init__(self, kind, refid, name, member)
-
-    def find_members(self, details):
-        """
-        Returns a list of all members which match details
-        """
-
-        results = []
-
-        for member in self.member:
-            if details.match(member):
-                results.append(member)
-
-        return results
-
-supermod.CompoundType.subclass = CompoundTypeSub
-# end class CompoundTypeSub
-
-
-class MemberTypeSub(supermod.MemberType):
-
-    def __init__(self, kind=None, refid=None, name=''):
-        supermod.MemberType.__init__(self, kind, refid, name)
-
-supermod.MemberType.subclass = MemberTypeSub
-# end class MemberTypeSub
-
-
-def parse(inFilename):
-
-    doc = minidom.parse(inFilename)
-    rootNode = doc.documentElement
-    rootObj = supermod.DoxygenType.factory()
-    rootObj.build(rootNode)
-
-    return rootObj
-
diff --git a/drivers/gr-dbfcttc/docs/doxygen/doxyxml/generated/indexsuper.py b/drivers/gr-dbfcttc/docs/doxygen/doxyxml/generated/indexsuper.py
deleted file mode 100644
index a991530..0000000
--- a/drivers/gr-dbfcttc/docs/doxygen/doxyxml/generated/indexsuper.py
+++ /dev/null
@@ -1,523 +0,0 @@
-#!/usr/bin/env python
-
-#
-# Generated Thu Jun 11 18:43:54 2009 by generateDS.py.
-#
-
-import sys
-import getopt
-from string import lower as str_lower
-from xml.dom import minidom
-from xml.dom import Node
-
-#
-# User methods
-#
-# Calls to the methods in these classes are generated by generateDS.py.
-# You can replace these methods by re-implementing the following class
-#   in a module named generatedssuper.py.
-
-try:
-    from generatedssuper import GeneratedsSuper
-except ImportError, exp:
-
-    class GeneratedsSuper:
-        def format_string(self, input_data, input_name=''):
-            return input_data
-        def format_integer(self, input_data, input_name=''):
-            return '%d' % input_data
-        def format_float(self, input_data, input_name=''):
-            return '%f' % input_data
-        def format_double(self, input_data, input_name=''):
-            return '%e' % input_data
-        def format_boolean(self, input_data, input_name=''):
-            return '%s' % input_data
-
-
-#
-# If you have installed IPython you can uncomment and use the following.
-# IPython is available from http://ipython.scipy.org/.
-#
-
-## from IPython.Shell import IPShellEmbed
-## args = ''
-## ipshell = IPShellEmbed(args,
-##     banner = 'Dropping into IPython',
-##     exit_msg = 'Leaving Interpreter, back to program.')
-
-# Then use the following line where and when you want to drop into the
-# IPython shell:
-#    ipshell('<some message> -- Entering ipshell.\nHit Ctrl-D to exit')
-
-#
-# Globals
-#
-
-ExternalEncoding = 'ascii'
-
-#
-# Support/utility functions.
-#
-
-def showIndent(outfile, level):
-    for idx in range(level):
-        outfile.write('    ')
-
-def quote_xml(inStr):
-    s1 = (isinstance(inStr, basestring) and inStr or
-          '%s' % inStr)
-    s1 = s1.replace('&', '&')
-    s1 = s1.replace('<', '<')
-    s1 = s1.replace('>', '>')
-    return s1
-
-def quote_attrib(inStr):
-    s1 = (isinstance(inStr, basestring) and inStr or
-          '%s' % inStr)
-    s1 = s1.replace('&', '&')
-    s1 = s1.replace('<', '<')
-    s1 = s1.replace('>', '>')
-    if '"' in s1:
-        if "'" in s1:
-            s1 = '"%s"' % s1.replace('"', """)
-        else:
-            s1 = "'%s'" % s1
-    else:
-        s1 = '"%s"' % s1
-    return s1
-
-def quote_python(inStr):
-    s1 = inStr
-    if s1.find("'") == -1:
-        if s1.find('\n') == -1:
-            return "'%s'" % s1
-        else:
-            return "'''%s'''" % s1
-    else:
-        if s1.find('"') != -1:
-            s1 = s1.replace('"', '\\"')
-        if s1.find('\n') == -1:
-            return '"%s"' % s1
-        else:
-            return '"""%s"""' % s1
-
-
-class MixedContainer:
-    # Constants for category:
-    CategoryNone = 0
-    CategoryText = 1
-    CategorySimple = 2
-    CategoryComplex = 3
-    # Constants for content_type:
-    TypeNone = 0
-    TypeText = 1
-    TypeString = 2
-    TypeInteger = 3
-    TypeFloat = 4
-    TypeDecimal = 5
-    TypeDouble = 6
-    TypeBoolean = 7
-    def __init__(self, category, content_type, name, value):
-        self.category = category
-        self.content_type = content_type
-        self.name = name
-        self.value = value
-    def getCategory(self):
-        return self.category
-    def getContenttype(self, content_type):
-        return self.content_type
-    def getValue(self):
-        return self.value
-    def getName(self):
-        return self.name
-    def export(self, outfile, level, name, namespace):
-        if self.category == MixedContainer.CategoryText:
-            outfile.write(self.value)
-        elif self.category == MixedContainer.CategorySimple:
-            self.exportSimple(outfile, level, name)
-        else:    # category == MixedContainer.CategoryComplex
-            self.value.export(outfile, level, namespace,name)
-    def exportSimple(self, outfile, level, name):
-        if self.content_type == MixedContainer.TypeString:
-            outfile.write('<%s>%s</%s>' % (self.name, self.value, self.name))
-        elif self.content_type == MixedContainer.TypeInteger or \
-                self.content_type == MixedContainer.TypeBoolean:
-            outfile.write('<%s>%d</%s>' % (self.name, self.value, self.name))
-        elif self.content_type == MixedContainer.TypeFloat or \
-                self.content_type == MixedContainer.TypeDecimal:
-            outfile.write('<%s>%f</%s>' % (self.name, self.value, self.name))
-        elif self.content_type == MixedContainer.TypeDouble:
-            outfile.write('<%s>%g</%s>' % (self.name, self.value, self.name))
-    def exportLiteral(self, outfile, level, name):
-        if self.category == MixedContainer.CategoryText:
-            showIndent(outfile, level)
-            outfile.write('MixedContainer(%d, %d, "%s", "%s"),\n' % \
-                (self.category, self.content_type, self.name, self.value))
-        elif self.category == MixedContainer.CategorySimple:
-            showIndent(outfile, level)
-            outfile.write('MixedContainer(%d, %d, "%s", "%s"),\n' % \
-                (self.category, self.content_type, self.name, self.value))
-        else:    # category == MixedContainer.CategoryComplex
-            showIndent(outfile, level)
-            outfile.write('MixedContainer(%d, %d, "%s",\n' % \
-                (self.category, self.content_type, self.name,))
-            self.value.exportLiteral(outfile, level + 1)
-            showIndent(outfile, level)
-            outfile.write(')\n')
-
-
-class _MemberSpec(object):
-    def __init__(self, name='', data_type='', container=0):
-        self.name = name
-        self.data_type = data_type
-        self.container = container
-    def set_name(self, name): self.name = name
-    def get_name(self): return self.name
-    def set_data_type(self, data_type): self.data_type = data_type
-    def get_data_type(self): return self.data_type
-    def set_container(self, container): self.container = container
-    def get_container(self): return self.container
-
-
-#
-# Data representation classes.
-#
-
-class DoxygenType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, version=None, compound=None):
-        self.version = version
-        if compound is None:
-            self.compound = []
-        else:
-            self.compound = compound
-    def factory(*args_, **kwargs_):
-        if DoxygenType.subclass:
-            return DoxygenType.subclass(*args_, **kwargs_)
-        else:
-            return DoxygenType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_compound(self): return self.compound
-    def set_compound(self, compound): self.compound = compound
-    def add_compound(self, value): self.compound.append(value)
-    def insert_compound(self, index, value): self.compound[index] = value
-    def get_version(self): return self.version
-    def set_version(self, version): self.version = version
-    def export(self, outfile, level, namespace_='', name_='DoxygenType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='DoxygenType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='DoxygenType'):
-        outfile.write(' version=%s' % (self.format_string(quote_attrib(self.version).encode(ExternalEncoding), input_name='version'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='DoxygenType'):
-        for compound_ in self.compound:
-            compound_.export(outfile, level, namespace_, name_='compound')
-    def hasContent_(self):
-        if (
-            self.compound is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='DoxygenType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.version is not None:
-            showIndent(outfile, level)
-            outfile.write('version = %s,\n' % (self.version,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('compound=[\n')
-        level += 1
-        for compound in self.compound:
-            showIndent(outfile, level)
-            outfile.write('model_.compound(\n')
-            compound.exportLiteral(outfile, level, name_='compound')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('version'):
-            self.version = attrs.get('version').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'compound':
-            obj_ = CompoundType.factory()
-            obj_.build(child_)
-            self.compound.append(obj_)
-# end class DoxygenType
-
-
-class CompoundType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, kind=None, refid=None, name=None, member=None):
-        self.kind = kind
-        self.refid = refid
-        self.name = name
-        if member is None:
-            self.member = []
-        else:
-            self.member = member
-    def factory(*args_, **kwargs_):
-        if CompoundType.subclass:
-            return CompoundType.subclass(*args_, **kwargs_)
-        else:
-            return CompoundType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_name(self): return self.name
-    def set_name(self, name): self.name = name
-    def get_member(self): return self.member
-    def set_member(self, member): self.member = member
-    def add_member(self, value): self.member.append(value)
-    def insert_member(self, index, value): self.member[index] = value
-    def get_kind(self): return self.kind
-    def set_kind(self, kind): self.kind = kind
-    def get_refid(self): return self.refid
-    def set_refid(self, refid): self.refid = refid
-    def export(self, outfile, level, namespace_='', name_='CompoundType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='CompoundType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='CompoundType'):
-        outfile.write(' kind=%s' % (quote_attrib(self.kind), ))
-        outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='CompoundType'):
-        if self.name is not None:
-            showIndent(outfile, level)
-            outfile.write('<%sname>%s</%sname>\n' % (namespace_, self.format_string(quote_xml(self.name).encode(ExternalEncoding), input_name='name'), namespace_))
-        for member_ in self.member:
-            member_.export(outfile, level, namespace_, name_='member')
-    def hasContent_(self):
-        if (
-            self.name is not None or
-            self.member is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='CompoundType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.kind is not None:
-            showIndent(outfile, level)
-            outfile.write('kind = "%s",\n' % (self.kind,))
-        if self.refid is not None:
-            showIndent(outfile, level)
-            outfile.write('refid = %s,\n' % (self.refid,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('name=%s,\n' % quote_python(self.name).encode(ExternalEncoding))
-        showIndent(outfile, level)
-        outfile.write('member=[\n')
-        level += 1
-        for member in self.member:
-            showIndent(outfile, level)
-            outfile.write('model_.member(\n')
-            member.exportLiteral(outfile, level, name_='member')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('kind'):
-            self.kind = attrs.get('kind').value
-        if attrs.get('refid'):
-            self.refid = attrs.get('refid').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'name':
-            name_ = ''
-            for text__content_ in child_.childNodes:
-                name_ += text__content_.nodeValue
-            self.name = name_
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'member':
-            obj_ = MemberType.factory()
-            obj_.build(child_)
-            self.member.append(obj_)
-# end class CompoundType
-
-
-class MemberType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, kind=None, refid=None, name=None):
-        self.kind = kind
-        self.refid = refid
-        self.name = name
-    def factory(*args_, **kwargs_):
-        if MemberType.subclass:
-            return MemberType.subclass(*args_, **kwargs_)
-        else:
-            return MemberType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_name(self): return self.name
-    def set_name(self, name): self.name = name
-    def get_kind(self): return self.kind
-    def set_kind(self, kind): self.kind = kind
-    def get_refid(self): return self.refid
-    def set_refid(self, refid): self.refid = refid
-    def export(self, outfile, level, namespace_='', name_='MemberType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='MemberType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='MemberType'):
-        outfile.write(' kind=%s' % (quote_attrib(self.kind), ))
-        outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='MemberType'):
-        if self.name is not None:
-            showIndent(outfile, level)
-            outfile.write('<%sname>%s</%sname>\n' % (namespace_, self.format_string(quote_xml(self.name).encode(ExternalEncoding), input_name='name'), namespace_))
-    def hasContent_(self):
-        if (
-            self.name is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='MemberType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.kind is not None:
-            showIndent(outfile, level)
-            outfile.write('kind = "%s",\n' % (self.kind,))
-        if self.refid is not None:
-            showIndent(outfile, level)
-            outfile.write('refid = %s,\n' % (self.refid,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('name=%s,\n' % quote_python(self.name).encode(ExternalEncoding))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('kind'):
-            self.kind = attrs.get('kind').value
-        if attrs.get('refid'):
-            self.refid = attrs.get('refid').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'name':
-            name_ = ''
-            for text__content_ in child_.childNodes:
-                name_ += text__content_.nodeValue
-            self.name = name_
-# end class MemberType
-
-
-USAGE_TEXT = """
-Usage: python <Parser>.py [ -s ] <in_xml_file>
-Options:
-    -s        Use the SAX parser, not the minidom parser.
-"""
-
-def usage():
-    print USAGE_TEXT
-    sys.exit(1)
-
-
-def parse(inFileName):
-    doc = minidom.parse(inFileName)
-    rootNode = doc.documentElement
-    rootObj = DoxygenType.factory()
-    rootObj.build(rootNode)
-    # Enable Python to collect the space used by the DOM.
-    doc = None
-    sys.stdout.write('<?xml version="1.0" ?>\n')
-    rootObj.export(sys.stdout, 0, name_="doxygenindex",
-        namespacedef_='')
-    return rootObj
-
-
-def parseString(inString):
-    doc = minidom.parseString(inString)
-    rootNode = doc.documentElement
-    rootObj = DoxygenType.factory()
-    rootObj.build(rootNode)
-    # Enable Python to collect the space used by the DOM.
-    doc = None
-    sys.stdout.write('<?xml version="1.0" ?>\n')
-    rootObj.export(sys.stdout, 0, name_="doxygenindex",
-        namespacedef_='')
-    return rootObj
-
-
-def parseLiteral(inFileName):
-    doc = minidom.parse(inFileName)
-    rootNode = doc.documentElement
-    rootObj = DoxygenType.factory()
-    rootObj.build(rootNode)
-    # Enable Python to collect the space used by the DOM.
-    doc = None
-    sys.stdout.write('from index import *\n\n')
-    sys.stdout.write('rootObj = doxygenindex(\n')
-    rootObj.exportLiteral(sys.stdout, 0, name_="doxygenindex")
-    sys.stdout.write(')\n')
-    return rootObj
-
-
-def main():
-    args = sys.argv[1:]
-    if len(args) == 1:
-        parse(args[0])
-    else:
-        usage()
-
-
-
-
-if __name__ == '__main__':
-    main()
-    #import pdb
-    #pdb.run('main()')
-
diff --git a/drivers/gr-dbfcttc/docs/doxygen/doxyxml/text.py b/drivers/gr-dbfcttc/docs/doxygen/doxyxml/text.py
deleted file mode 100644
index 629edd1..0000000
--- a/drivers/gr-dbfcttc/docs/doxygen/doxyxml/text.py
+++ /dev/null
@@ -1,56 +0,0 @@
-#
-# Copyright 2010 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio 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 3, or (at your option)
-# any later version.
-#
-# GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-#
-"""
-Utilities for extracting text from generated classes.
-"""
-
-def is_string(txt):
-    if isinstance(txt, str):
-        return True
-    try:
-        if isinstance(txt, unicode):
-            return True
-    except NameError:
-        pass
-    return False
-
-def description(obj):
-    if obj is None:
-        return None
-    return description_bit(obj).strip()
-
-def description_bit(obj):
-    if hasattr(obj, 'content'):
-        contents = [description_bit(item) for item in obj.content]
-        result = ''.join(contents)
-    elif hasattr(obj, 'content_'):
-        contents = [description_bit(item) for item in obj.content_]
-        result = ''.join(contents)
-    elif hasattr(obj, 'value'):
-        result = description_bit(obj.value)
-    elif is_string(obj):
-        return obj
-    else:
-        raise StandardError('Expecting a string or something with content, content_ or value attribute')
-    # If this bit is a paragraph then add one some line breaks.
-    if hasattr(obj, 'name') and obj.name == 'para':
-        result += "\n\n"
-    return result
diff --git a/drivers/gr-dbfcttc/docs/doxygen/other/group_defs.dox b/drivers/gr-dbfcttc/docs/doxygen/other/group_defs.dox
deleted file mode 100644
index ce4470f..0000000
--- a/drivers/gr-dbfcttc/docs/doxygen/other/group_defs.dox
+++ /dev/null
@@ -1,7 +0,0 @@
-/*!
- * \defgroup block GNU Radio DBFCTTC C++ Signal Processing Blocks
- * \brief All C++ blocks that can be used from the DBFCTTC GNU Radio
- *        module are listed here or in the subcategories below.
- *
- */
-
diff --git a/drivers/gr-dbfcttc/docs/doxygen/other/main_page.dox b/drivers/gr-dbfcttc/docs/doxygen/other/main_page.dox
deleted file mode 100644
index dc37afc..0000000
--- a/drivers/gr-dbfcttc/docs/doxygen/other/main_page.dox
+++ /dev/null
@@ -1,10 +0,0 @@
-/*! \mainpage
-
-Welcome to the GNU Radio DBFCTTC Block
-
-This is the intro page for the Doxygen manual generated for the DBFCTTC
-block (docs/doxygen/other/main_page.dox). Edit it to add more detailed
-documentation about the new GNU Radio modules contained in this
-project.
-
-*/
diff --git a/drivers/gr-dbfcttc/docs/doxygen/swig_doc.py b/drivers/gr-dbfcttc/docs/doxygen/swig_doc.py
deleted file mode 100644
index 4e1ce2e..0000000
--- a/drivers/gr-dbfcttc/docs/doxygen/swig_doc.py
+++ /dev/null
@@ -1,255 +0,0 @@
-#
-# Copyright 2010,2011 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio 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 3, or (at your option)
-# any later version.
-#
-# GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-#
-"""
-Creates the swig_doc.i SWIG interface file.
-Execute using: python swig_doc.py xml_path outputfilename
-
-The file instructs SWIG to transfer the doxygen comments into the
-python docstrings.
-
-"""
-
-import sys
-
-try:
-    from doxyxml import DoxyIndex, DoxyClass, DoxyFriend, DoxyFunction, DoxyFile, base
-except ImportError:
-    from gnuradio.doxyxml import DoxyIndex, DoxyClass, DoxyFriend, DoxyFunction, DoxyFile, base
-
-
-def py_name(name):
-    bits = name.split('_')
-    return '_'.join(bits[1:])
-
-def make_name(name):
-    bits = name.split('_')
-    return bits[0] + '_make_' + '_'.join(bits[1:])
-
-
-class Block(object):
-    """
-    Checks if doxyxml produced objects correspond to a gnuradio block.
-    """
-
-    @classmethod
-    def includes(cls, item):
-        if not isinstance(item, DoxyClass):
-            return False
-        # Check for a parsing error.
-        if item.error():
-            return False
-        return item.has_member(make_name(item.name()), DoxyFriend)
-
-
-def utoascii(text):
-    """
-    Convert unicode text into ascii and escape quotes.
-    """
-    if text is None:
-        return ''
-    out = text.encode('ascii', 'replace')
-    out = out.replace('"', '\\"')
-    return out
-
-
-def combine_descriptions(obj):
-    """
-    Combines the brief and detailed descriptions of an object together.
-    """
-    description = []
-    bd = obj.brief_description.strip()
-    dd = obj.detailed_description.strip()
-    if bd:
-        description.append(bd)
-    if dd:
-        description.append(dd)
-    return utoascii('\n\n'.join(description)).strip()
-
-
-entry_templ = '%feature("docstring") {name} "{docstring}"'
-def make_entry(obj, name=None, templ="{description}", description=None):
-    """
-    Create a docstring entry for a swig interface file.
-
-    obj - a doxyxml object from which documentation will be extracted.
-    name - the name of the C object (defaults to obj.name())
-    templ - an optional template for the docstring containing only one
-            variable named 'description'.
-    description - if this optional variable is set then it's value is
-            used as the description instead of extracting it from obj.
-    """
-    if name is None:
-        name=obj.name()
-    if "operator " in name:
-        return ''
-    if description is None:
-        description = combine_descriptions(obj)
-    docstring = templ.format(description=description)
-    if not docstring:
-        return ''
-    return entry_templ.format(
-        name=name,
-        docstring=docstring,
-        )
-
-
-def make_func_entry(func, name=None, description=None, params=None):
-    """
-    Create a function docstring entry for a swig interface file.
-
-    func - a doxyxml object from which documentation will be extracted.
-    name - the name of the C object (defaults to func.name())
-    description - if this optional variable is set then it's value is
-            used as the description instead of extracting it from func.
-    params - a parameter list that overrides using func.params.
-    """
-    if params is None:
-        params = func.params
-    params = [prm.declname for prm in params]
-    if params:
-        sig = "Params: (%s)" % ", ".join(params)
-    else:
-        sig = "Params: (NONE)"
-    templ = "{description}\n\n" + sig
-    return make_entry(func, name=name, templ=utoascii(templ),
-                      description=description)
-
-
-def make_class_entry(klass, description=None):
-    """
-    Create a class docstring for a swig interface file.
-    """
-    output = []
-    output.append(make_entry(klass, description=description))
-    for func in klass.in_category(DoxyFunction):
-        name = klass.name() + '::' + func.name()
-        output.append(make_func_entry(func, name=name))
-    return "\n\n".join(output)
-
-
-def make_block_entry(di, block):
-    """
-    Create class and function docstrings of a gnuradio block for a
-    swig interface file.
-    """
-    descriptions = []
-    # Get the documentation associated with the class.
-    class_desc = combine_descriptions(block)
-    if class_desc:
-        descriptions.append(class_desc)
-    # Get the documentation associated with the make function
-    make_func = di.get_member(make_name(block.name()), DoxyFunction)
-    make_func_desc = combine_descriptions(make_func)
-    if make_func_desc:
-        descriptions.append(make_func_desc)
-    # Get the documentation associated with the file
-    try:
-        block_file = di.get_member(block.name() + ".h", DoxyFile)
-        file_desc = combine_descriptions(block_file)
-        if file_desc:
-            descriptions.append(file_desc)
-    except base.Base.NoSuchMember:
-        # Don't worry if we can't find a matching file.
-        pass
-    # And join them all together to make a super duper description.
-    super_description = "\n\n".join(descriptions)
-    # Associate the combined description with the class and
-    # the make function.
-    output = []
-    output.append(make_class_entry(block, description=super_description))
-    creator = block.get_member(block.name(), DoxyFunction)
-    output.append(make_func_entry(make_func, description=super_description,
-                                  params=creator.params))
-    return "\n\n".join(output)
-
-
-def make_swig_interface_file(di, swigdocfilename, custom_output=None):
-
-    output = ["""
-/*
- * This file was automatically generated using swig_doc.py.
- *
- * Any changes to it will be lost next time it is regenerated.
- */
-"""]
-
-    if custom_output is not None:
-        output.append(custom_output)
-
-    # Create docstrings for the blocks.
-    blocks = di.in_category(Block)
-    make_funcs = set([])
-    for block in blocks:
-        try:
-            make_func = di.get_member(make_name(block.name()), DoxyFunction)
-            make_funcs.add(make_func.name())
-            output.append(make_block_entry(di, block))
-        except block.ParsingError:
-            print('Parsing error for block %s' % block.name())
-
-    # Create docstrings for functions
-    # Don't include the make functions since they have already been dealt with.
-    funcs = [f for f in di.in_category(DoxyFunction) if f.name() not in make_funcs]
-    for f in funcs:
-        try:
-            output.append(make_func_entry(f))
-        except f.ParsingError:
-            print('Parsing error for function %s' % f.name())
-
-    # Create docstrings for classes
-    block_names = [block.name() for block in blocks]
-    klasses = [k for k in di.in_category(DoxyClass) if k.name() not in block_names]
-    for k in klasses:
-        try:
-            output.append(make_class_entry(k))
-        except k.ParsingError:
-            print('Parsing error for class %s' % k.name())
-
-    # Docstrings are not created for anything that is not a function or a class.
-    # If this excludes anything important please add it here.
-
-    output = "\n\n".join(output)
-
-    swig_doc = file(swigdocfilename, 'w')
-    swig_doc.write(output)
-    swig_doc.close()
-
-if __name__ == "__main__":
-    # Parse command line options and set up doxyxml.
-    err_msg = "Execute using: python swig_doc.py xml_path outputfilename"
-    if len(sys.argv) != 3:
-        raise StandardError(err_msg)
-    xml_path = sys.argv[1]
-    swigdocfilename = sys.argv[2]
-    di = DoxyIndex(xml_path)
-
-    # gnuradio.gr.msq_queue.insert_tail and delete_head create errors unless docstrings are defined!
-    # This is presumably a bug in SWIG.
-    #msg_q = di.get_member(u'gr_msg_queue', DoxyClass)
-    #insert_tail = msg_q.get_member(u'insert_tail', DoxyFunction)
-    #delete_head = msg_q.get_member(u'delete_head', DoxyFunction)
-    output = []
-    #output.append(make_func_entry(insert_tail, name='gr_py_msg_queue__insert_tail'))
-    #output.append(make_func_entry(delete_head, name='gr_py_msg_queue__delete_head'))
-    custom_output = "\n\n".join(output)
-
-    # Generate the docstrings interface file.
-    make_swig_interface_file(di, swigdocfilename, custom_output=custom_output)
diff --git a/drivers/gr-dbfcttc/examples/README b/drivers/gr-dbfcttc/examples/README
deleted file mode 100644
index c012bdf..0000000
--- a/drivers/gr-dbfcttc/examples/README
+++ /dev/null
@@ -1,4 +0,0 @@
-It is considered good practice to add examples in here to demonstrate the
-functionality of your OOT module. Python scripts, GRC flow graphs or other
-code can go here.
-
diff --git a/drivers/gr-dbfcttc/grc/CMakeLists.txt b/drivers/gr-dbfcttc/grc/CMakeLists.txt
deleted file mode 100644
index c23f816..0000000
--- a/drivers/gr-dbfcttc/grc/CMakeLists.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright (C) 2012-2015  (see AUTHORS file for a list of contributors)
-#
-# This file is part of GNSS-SDR.
-#
-# GNSS-SDR 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 3 of the License, or
-# (at your option) any later version.
-#
-# GNSS-SDR 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 GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
-#
-
-
-install(FILES
-    dbfcttc_raw_array.xml DESTINATION share/gnuradio/grc/blocks
-)
diff --git a/drivers/gr-dbfcttc/grc/dbfcttc_raw_array.xml b/drivers/gr-dbfcttc/grc/dbfcttc_raw_array.xml
deleted file mode 100644
index c870363..0000000
--- a/drivers/gr-dbfcttc/grc/dbfcttc_raw_array.xml
+++ /dev/null
@@ -1,86 +0,0 @@
-<?xml version="1.0"?>
-<block>
-  <name>raw_array</name>
-  <key>dbfcttc_raw_array</key>
-  <category>dbfcttc</category>
-  <import>import dbfcttc</import>
-  <make>dbfcttc.raw_array($*src_device, $number_of_channels, $snapshots_per_frame, $inter_frame_delay, $sampling_freq)</make>
-  <!-- Make one 'param' node for every Parameter you want settable from the GUI.
-       Sub-nodes:
-       * name
-       * key (makes the value accessible as $keyname, e.g. in the make node)
-       * type -->
-       
-   <param>
-		<name>Ethernet Device</name>
-		<key>src_device</key>
-		<value>en4</value>
-		<type>string</type>
-   </param>
-   <param>
-		<name>Number of Array channels</name>
-		<key>number_of_channels</key>
-		<value>8</value>
-		<type>int</type>
-   </param>
-   <param>
-		<name>Number of Snapshots per Ethernet frame</name>
-		<key>snapshots_per_frame</key>
-		<value>70</value>
-		<type>int</type>
-   </param>   
-   <param>
-		<name>Delay between frames [bytes]</name>
-		<key>inter_frame_delay</key>
-		<value>10</value>
-		<type>int</type>
-   </param>
-   <param>
-		<name>Sampling frequency [Hz]</name>
-		<key>sampling_freq</key>
-		<value>5000000</value>
-		<type>int</type>
-   </param> 
-  <!-- Make one 'sink' node per input. Sub-nodes:
-       * name (an identifier for the GUI)
-       * type
-       * vlen
-       * optional (set to 1 for optional inputs) -->
-  <!-- Make one 'source' node per output. Sub-nodes:
-       * name (an identifier for the GUI)
-       * type
-       * vlen
-       * optional (set to 1 for optional inputs) -->
-  <source>
-    <name>CH1</name>
-    <type>complex</type>
-  </source>
-    <source>
-    <name>CH2</name>
-    <type>complex</type>
-  </source>
-    <source>
-    <name>CH3</name>
-    <type>complex</type>
-  </source>
-    <source>
-    <name>CH4</name>
-    <type>complex</type>
-  </source>
-    <source>
-    <name>CH5</name>
-    <type>complex</type>
-  </source>
-    <source>
-    <name>CH6</name>
-    <type>complex</type>
-  </source>
-    <source>
-    <name>CH7</name>
-    <type>complex</type>
-  </source>
-    <source>
-    <name>CH8</name>
-    <type>complex</type>
-  </source>
-</block>
diff --git a/drivers/gr-dbfcttc/grc/test_grc2.grc b/drivers/gr-dbfcttc/grc/test_grc2.grc
deleted file mode 100644
index b7fd953..0000000
--- a/drivers/gr-dbfcttc/grc/test_grc2.grc
+++ /dev/null
@@ -1,497 +0,0 @@
-<?xml version='1.0' encoding='ASCII'?>
-<flow_graph>
-  <timestamp>Tue Feb 11 16:00:31 2014</timestamp>
-  <block>
-    <key>options</key>
-    <param>
-      <key>id</key>
-      <value>top_block</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
-    </param>
-    <param>
-      <key>title</key>
-      <value></value>
-    </param>
-    <param>
-      <key>author</key>
-      <value></value>
-    </param>
-    <param>
-      <key>description</key>
-      <value></value>
-    </param>
-    <param>
-      <key>window_size</key>
-      <value>1280, 1024</value>
-    </param>
-    <param>
-      <key>generate_options</key>
-      <value>wx_gui</value>
-    </param>
-    <param>
-      <key>category</key>
-      <value>Custom</value>
-    </param>
-    <param>
-      <key>run_options</key>
-      <value>prompt</value>
-    </param>
-    <param>
-      <key>run</key>
-      <value>True</value>
-    </param>
-    <param>
-      <key>max_nouts</key>
-      <value>0</value>
-    </param>
-    <param>
-      <key>realtime_scheduling</key>
-      <value></value>
-    </param>
-    <param>
-      <key>_coordinate</key>
-      <value>(10, 10)</value>
-    </param>
-    <param>
-      <key>_rotation</key>
-      <value>0</value>
-    </param>
-  </block>
-  <block>
-    <key>variable</key>
-    <param>
-      <key>id</key>
-      <value>samp_rate</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
-    </param>
-    <param>
-      <key>value</key>
-      <value>32000</value>
-    </param>
-    <param>
-      <key>_coordinate</key>
-      <value>(10, 170)</value>
-    </param>
-    <param>
-      <key>_rotation</key>
-      <value>0</value>
-    </param>
-  </block>
-  <block>
-    <key>blocks_null_sink</key>
-    <param>
-      <key>id</key>
-      <value>blocks_null_sink_1_0</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
-    </param>
-    <param>
-      <key>type</key>
-      <value>complex</value>
-    </param>
-    <param>
-      <key>vlen</key>
-      <value>1</value>
-    </param>
-    <param>
-      <key>affinity</key>
-      <value></value>
-    </param>
-    <param>
-      <key>_coordinate</key>
-      <value>(705, 195)</value>
-    </param>
-    <param>
-      <key>_rotation</key>
-      <value>0</value>
-    </param>
-  </block>
-  <block>
-    <key>blocks_null_sink</key>
-    <param>
-      <key>id</key>
-      <value>blocks_null_sink_0</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
-    </param>
-    <param>
-      <key>type</key>
-      <value>complex</value>
-    </param>
-    <param>
-      <key>vlen</key>
-      <value>1</value>
-    </param>
-    <param>
-      <key>affinity</key>
-      <value></value>
-    </param>
-    <param>
-      <key>_coordinate</key>
-      <value>(724, 150)</value>
-    </param>
-    <param>
-      <key>_rotation</key>
-      <value>0</value>
-    </param>
-  </block>
-  <block>
-    <key>blocks_null_sink</key>
-    <param>
-      <key>id</key>
-      <value>blocks_null_sink_1</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
-    </param>
-    <param>
-      <key>type</key>
-      <value>complex</value>
-    </param>
-    <param>
-      <key>vlen</key>
-      <value>1</value>
-    </param>
-    <param>
-      <key>affinity</key>
-      <value></value>
-    </param>
-    <param>
-      <key>_coordinate</key>
-      <value>(723, 247)</value>
-    </param>
-    <param>
-      <key>_rotation</key>
-      <value>0</value>
-    </param>
-  </block>
-  <block>
-    <key>blocks_null_sink</key>
-    <param>
-      <key>id</key>
-      <value>blocks_null_sink_1_1</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
-    </param>
-    <param>
-      <key>type</key>
-      <value>complex</value>
-    </param>
-    <param>
-      <key>vlen</key>
-      <value>1</value>
-    </param>
-    <param>
-      <key>affinity</key>
-      <value></value>
-    </param>
-    <param>
-      <key>_coordinate</key>
-      <value>(738, 304)</value>
-    </param>
-    <param>
-      <key>_rotation</key>
-      <value>0</value>
-    </param>
-  </block>
-  <block>
-    <key>blocks_null_sink</key>
-    <param>
-      <key>id</key>
-      <value>blocks_null_sink_1_2</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
-    </param>
-    <param>
-      <key>type</key>
-      <value>complex</value>
-    </param>
-    <param>
-      <key>vlen</key>
-      <value>1</value>
-    </param>
-    <param>
-      <key>affinity</key>
-      <value></value>
-    </param>
-    <param>
-      <key>_coordinate</key>
-      <value>(723, 376)</value>
-    </param>
-    <param>
-      <key>_rotation</key>
-      <value>0</value>
-    </param>
-  </block>
-  <block>
-    <key>blocks_null_sink</key>
-    <param>
-      <key>id</key>
-      <value>blocks_null_sink_1_4</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
-    </param>
-    <param>
-      <key>type</key>
-      <value>complex</value>
-    </param>
-    <param>
-      <key>vlen</key>
-      <value>1</value>
-    </param>
-    <param>
-      <key>affinity</key>
-      <value></value>
-    </param>
-    <param>
-      <key>_coordinate</key>
-      <value>(731, 444)</value>
-    </param>
-    <param>
-      <key>_rotation</key>
-      <value>0</value>
-    </param>
-  </block>
-  <block>
-    <key>blocks_null_sink</key>
-    <param>
-      <key>id</key>
-      <value>blocks_null_sink_1_5</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
-    </param>
-    <param>
-      <key>type</key>
-      <value>complex</value>
-    </param>
-    <param>
-      <key>vlen</key>
-      <value>1</value>
-    </param>
-    <param>
-      <key>affinity</key>
-      <value></value>
-    </param>
-    <param>
-      <key>_coordinate</key>
-      <value>(612, 479)</value>
-    </param>
-    <param>
-      <key>_rotation</key>
-      <value>0</value>
-    </param>
-  </block>
-  <block>
-    <key>dbfcttc_raw_array</key>
-    <param>
-      <key>id</key>
-      <value>dbfcttc_raw_array_0</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
-    </param>
-    <param>
-      <key>src_device</key>
-      <value>en4</value>
-    </param>
-    <param>
-      <key>number_of_channels</key>
-      <value>8</value>
-    </param>
-    <param>
-      <key>snapshots_per_frame</key>
-      <value>70</value>
-    </param>
-    <param>
-      <key>inter_frame_delay</key>
-      <value>10</value>
-    </param>
-    <param>
-      <key>sampling_freq</key>
-      <value>5000000</value>
-    </param>
-    <param>
-      <key>affinity</key>
-      <value></value>
-    </param>
-    <param>
-      <key>minoutbuf</key>
-      <value>0</value>
-    </param>
-    <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
-    </param>
-    <param>
-      <key>_coordinate</key>
-      <value>(212, 113)</value>
-    </param>
-    <param>
-      <key>_rotation</key>
-      <value>0</value>
-    </param>
-  </block>
-  <block>
-    <key>wxgui_fftsink2</key>
-    <param>
-      <key>id</key>
-      <value>wxgui_fftsink2_0</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
-    </param>
-    <param>
-      <key>type</key>
-      <value>complex</value>
-    </param>
-    <param>
-      <key>title</key>
-      <value>FFT Plot</value>
-    </param>
-    <param>
-      <key>samp_rate</key>
-      <value>samp_rate</value>
-    </param>
-    <param>
-      <key>baseband_freq</key>
-      <value>0</value>
-    </param>
-    <param>
-      <key>y_per_div</key>
-      <value>10</value>
-    </param>
-    <param>
-      <key>y_divs</key>
-      <value>10</value>
-    </param>
-    <param>
-      <key>ref_level</key>
-      <value>0</value>
-    </param>
-    <param>
-      <key>ref_scale</key>
-      <value>2.0</value>
-    </param>
-    <param>
-      <key>fft_size</key>
-      <value>1024</value>
-    </param>
-    <param>
-      <key>fft_rate</key>
-      <value>15</value>
-    </param>
-    <param>
-      <key>peak_hold</key>
-      <value>False</value>
-    </param>
-    <param>
-      <key>average</key>
-      <value>False</value>
-    </param>
-    <param>
-      <key>avg_alpha</key>
-      <value>0</value>
-    </param>
-    <param>
-      <key>win</key>
-      <value>None</value>
-    </param>
-    <param>
-      <key>win_size</key>
-      <value></value>
-    </param>
-    <param>
-      <key>grid_pos</key>
-      <value></value>
-    </param>
-    <param>
-      <key>notebook</key>
-      <value></value>
-    </param>
-    <param>
-      <key>freqvar</key>
-      <value>None</value>
-    </param>
-    <param>
-      <key>affinity</key>
-      <value></value>
-    </param>
-    <param>
-      <key>_coordinate</key>
-      <value>(897, 63)</value>
-    </param>
-    <param>
-      <key>_rotation</key>
-      <value>0</value>
-    </param>
-  </block>
-  <connection>
-    <source_block_id>dbfcttc_raw_array_0</source_block_id>
-    <sink_block_id>blocks_null_sink_0</sink_block_id>
-    <source_key>1</source_key>
-    <sink_key>0</sink_key>
-  </connection>
-  <connection>
-    <source_block_id>dbfcttc_raw_array_0</source_block_id>
-    <sink_block_id>blocks_null_sink_1_0</sink_block_id>
-    <source_key>2</source_key>
-    <sink_key>0</sink_key>
-  </connection>
-  <connection>
-    <source_block_id>dbfcttc_raw_array_0</source_block_id>
-    <sink_block_id>blocks_null_sink_1</sink_block_id>
-    <source_key>3</source_key>
-    <sink_key>0</sink_key>
-  </connection>
-  <connection>
-    <source_block_id>dbfcttc_raw_array_0</source_block_id>
-    <sink_block_id>blocks_null_sink_1_1</sink_block_id>
-    <source_key>4</source_key>
-    <sink_key>0</sink_key>
-  </connection>
-  <connection>
-    <source_block_id>dbfcttc_raw_array_0</source_block_id>
-    <sink_block_id>blocks_null_sink_1_2</sink_block_id>
-    <source_key>5</source_key>
-    <sink_key>0</sink_key>
-  </connection>
-  <connection>
-    <source_block_id>dbfcttc_raw_array_0</source_block_id>
-    <sink_block_id>blocks_null_sink_1_4</sink_block_id>
-    <source_key>6</source_key>
-    <sink_key>0</sink_key>
-  </connection>
-  <connection>
-    <source_block_id>dbfcttc_raw_array_0</source_block_id>
-    <sink_block_id>blocks_null_sink_1_5</sink_block_id>
-    <source_key>7</source_key>
-    <sink_key>0</sink_key>
-  </connection>
-  <connection>
-    <source_block_id>dbfcttc_raw_array_0</source_block_id>
-    <sink_block_id>wxgui_fftsink2_0</sink_block_id>
-    <source_key>0</source_key>
-    <sink_key>0</sink_key>
-  </connection>
-</flow_graph>
diff --git a/drivers/gr-dbfcttc/grc/top_block.py b/drivers/gr-dbfcttc/grc/top_block.py
deleted file mode 100755
index 00c9d1d..0000000
--- a/drivers/gr-dbfcttc/grc/top_block.py
+++ /dev/null
@@ -1,95 +0,0 @@
-#!/usr/bin/env python
-##################################################
-# Gnuradio Python Flow Graph
-# Title: Top Block
-# Generated: Tue Feb 11 16:02:41 2014
-##################################################
-
-from gnuradio import blocks
-from gnuradio import eng_notation
-from gnuradio import gr
-from gnuradio import wxgui
-from gnuradio.eng_option import eng_option
-from gnuradio.fft import window
-from gnuradio.filter import firdes
-from gnuradio.wxgui import fftsink2
-from grc_gnuradio import wxgui as grc_wxgui
-from optparse import OptionParser
-import dbfcttc
-import wx
-
-class top_block(grc_wxgui.top_block_gui):
-
-    def __init__(self):
-        grc_wxgui.top_block_gui.__init__(self, title="Top Block")
-
-        ##################################################
-        # Variables
-        ##################################################
-        self.samp_rate = samp_rate = 32000
-
-        ##################################################
-        # Blocks
-        ##################################################
-        self.wxgui_fftsink2_0 = fftsink2.fft_sink_c(
-        	self.GetWin(),
-        	baseband_freq=0,
-        	y_per_div=10,
-        	y_divs=10,
-        	ref_level=0,
-        	ref_scale=2.0,
-        	sample_rate=samp_rate,
-        	fft_size=1024,
-        	fft_rate=15,
-        	average=False,
-        	avg_alpha=None,
-        	title="FFT Plot",
-        	peak_hold=False,
-        )
-        self.Add(self.wxgui_fftsink2_0.win)
-        self.dbfcttc_raw_array_0 = dbfcttc.raw_array("en4", 8, 70, 10, 5000000)
-        self.blocks_null_sink_1_5 = blocks.null_sink(gr.sizeof_gr_complex*1)
-        self.blocks_null_sink_1_4 = blocks.null_sink(gr.sizeof_gr_complex*1)
-        self.blocks_null_sink_1_2 = blocks.null_sink(gr.sizeof_gr_complex*1)
-        self.blocks_null_sink_1_1 = blocks.null_sink(gr.sizeof_gr_complex*1)
-        self.blocks_null_sink_1_0 = blocks.null_sink(gr.sizeof_gr_complex*1)
-        self.blocks_null_sink_1 = blocks.null_sink(gr.sizeof_gr_complex*1)
-        self.blocks_null_sink_0 = blocks.null_sink(gr.sizeof_gr_complex*1)
-
-        ##################################################
-        # Connections
-        ##################################################
-        self.connect((self.dbfcttc_raw_array_0, 1), (self.blocks_null_sink_0, 0))
-        self.connect((self.dbfcttc_raw_array_0, 2), (self.blocks_null_sink_1_0, 0))
-        self.connect((self.dbfcttc_raw_array_0, 3), (self.blocks_null_sink_1, 0))
-        self.connect((self.dbfcttc_raw_array_0, 4), (self.blocks_null_sink_1_1, 0))
-        self.connect((self.dbfcttc_raw_array_0, 5), (self.blocks_null_sink_1_2, 0))
-        self.connect((self.dbfcttc_raw_array_0, 6), (self.blocks_null_sink_1_4, 0))
-        self.connect((self.dbfcttc_raw_array_0, 7), (self.blocks_null_sink_1_5, 0))
-        self.connect((self.dbfcttc_raw_array_0, 0), (self.wxgui_fftsink2_0, 0))
-
-
-# QT sink close method reimplementation
-
-    def get_samp_rate(self):
-        return self.samp_rate
-
-    def set_samp_rate(self, samp_rate):
-        self.samp_rate = samp_rate
-        self.wxgui_fftsink2_0.set_sample_rate(self.samp_rate)
-
-if __name__ == '__main__':
-    import ctypes
-    import os
-    if os.name == 'posix':
-        try:
-            x11 = ctypes.cdll.LoadLibrary('libX11.so')
-            x11.XInitThreads()
-        except:
-            print "Warning: failed to XInitThreads()"
-    parser = OptionParser(option_class=eng_option, usage="%prog: [options]")
-    (options, args) = parser.parse_args()
-    tb = top_block()
-    tb.Start(True)
-    tb.Wait()
-
diff --git a/drivers/gr-dbfcttc/include/dbfcttc/CMakeLists.txt b/drivers/gr-dbfcttc/include/dbfcttc/CMakeLists.txt
deleted file mode 100644
index f97deed..0000000
--- a/drivers/gr-dbfcttc/include/dbfcttc/CMakeLists.txt
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright (C) 2012-2015  (see AUTHORS file for a list of contributors)
-#
-# This file is part of GNSS-SDR.
-#
-# GNSS-SDR 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 3 of the License, or
-# (at your option) any later version.
-#
-# GNSS-SDR 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 GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
-#
-
-########################################################################
-# Install public header files
-########################################################################
-install(FILES
-    api.h
-    raw_array.h DESTINATION include/dbfcttc
-)
diff --git a/drivers/gr-dbfcttc/include/dbfcttc/api.h b/drivers/gr-dbfcttc/include/dbfcttc/api.h
deleted file mode 100644
index 15faf6f..0000000
--- a/drivers/gr-dbfcttc/include/dbfcttc/api.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*!
- * \file raw_array.h
- * \brief API access to experimental GNSS Array platform.
- * \author Javier Arribas, 2014. jarribas(at)cttc.es
- *
- * -------------------------------------------------------------------------
- *
- * Copyright (C) 2010-2015  (see AUTHORS file for a list of contributors)
- *
- * GNSS-SDR is a software defined Global Navigation
- *          Satellite Systems receiver
- *
- * This file is part of GNSS-SDR.
- *
- * GNSS-SDR 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 3 of the License, or
- * (at your option) any later version.
- *
- * GNSS-SDR 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 GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
- *
- * -------------------------------------------------------------------------
- */
-
-
-#ifndef INCLUDED_DBFCTTC_API_H
-#define INCLUDED_DBFCTTC_API_H
-
-#include <gnuradio/attributes.h>
-
-#ifdef gnuradio_dbfcttc_EXPORTS
-#  define DBFCTTC_API __GR_ATTR_EXPORT
-#else
-#  define DBFCTTC_API __GR_ATTR_IMPORT
-#endif
-
-#endif /* INCLUDED_DBFCTTC_API_H */
diff --git a/drivers/gr-dbfcttc/include/dbfcttc/raw_array.h b/drivers/gr-dbfcttc/include/dbfcttc/raw_array.h
deleted file mode 100644
index ff35009..0000000
--- a/drivers/gr-dbfcttc/include/dbfcttc/raw_array.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/*!
- * \file raw_array.h
- * \brief GNU Radio source block to acces to experimental GNSS Array platform.
- * \author Javier Arribas, 2014. jarribas(at)cttc.es
- *
- * -------------------------------------------------------------------------
- *
- * Copyright (C) 2010-2015  (see AUTHORS file for a list of contributors)
- *
- * GNSS-SDR is a software defined Global Navigation
- *          Satellite Systems receiver
- *
- * This file is part of GNSS-SDR.
- *
- * GNSS-SDR 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 3 of the License, or
- * (at your option) any later version.
- *
- * GNSS-SDR 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 GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
- *
- * -------------------------------------------------------------------------
- */
-
-
-#ifndef INCLUDED_DBFCTTC_RAW_ARRAY_H
-#define INCLUDED_DBFCTTC_RAW_ARRAY_H
-
-#include <dbfcttc/api.h>
-#include <gnuradio/sync_block.h>
-
-namespace gr {
-  namespace dbfcttc {
-
-    /*!
-     * \brief <+description of block+>
-     * \ingroup dbfcttc
-     *
-     */
-    class DBFCTTC_API raw_array : virtual public gr::sync_block
-    {
-     public:
-      typedef boost::shared_ptr<raw_array> sptr;
-
-      /*!
-       * \brief Return a shared_ptr to a new instance of dbfcttc::raw_array.
-       *
-       * To avoid accidental use of raw pointers, dbfcttc::raw_array's
-       * constructor is in a private implementation
-       * class. dbfcttc::raw_array::make is the public interface for
-       * creating new instances.
-       */
-      static sptr make(const char *src_device,short number_of_channels, int snapshots_per_frame, int inter_frame_delay, int sampling_freq);
-    };
-
-  } // namespace dbfcttc
-} // namespace gr
-
-#endif /* INCLUDED_DBFCTTC_RAW_ARRAY_H */
-
diff --git a/drivers/gr-dbfcttc/lib/CMakeLists.txt b/drivers/gr-dbfcttc/lib/CMakeLists.txt
deleted file mode 100644
index 41fb1c0..0000000
--- a/drivers/gr-dbfcttc/lib/CMakeLists.txt
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright (C) 2012-2015  (see AUTHORS file for a list of contributors)
-#
-# This file is part of GNSS-SDR.
-#
-# GNSS-SDR 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 3 of the License, or
-# (at your option) any later version.
-#
-# GNSS-SDR 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 GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
-#
-
-########################################################################
-# Setup library
-########################################################################
-include(GrPlatform) #define LIB_SUFFIX
-
-include_directories(${Boost_INCLUDE_DIR})
-link_directories(${Boost_LIBRARY_DIRS})
-
-list(APPEND dbfcttc_sources
-    raw_array_impl.cc
-)
-
-set(dbfcttc_sources "${dbfcttc_sources}" PARENT_SCOPE)
-
-add_library(gnuradio-dbfcttc SHARED ${dbfcttc_sources})
-target_link_libraries(gnuradio-dbfcttc ${Boost_LIBRARIES} ${PCAP_LIBRARIES} ${GNURADIO_RUNTIME_LIBRARIES})
-set_target_properties(gnuradio-dbfcttc PROPERTIES DEFINE_SYMBOL "gnuradio_dbfcttc_EXPORTS")
-
-if(APPLE)
-    set_target_properties(gnuradio-dbfcttc PROPERTIES
-        INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib"
-    )
-endif(APPLE)
-
-########################################################################
-# Install built library files
-########################################################################
-
-install(TARGETS gnuradio-dbfcttc
-    LIBRARY DESTINATION lib${LIB_SUFFIX} # .so/.dylib file
-    ARCHIVE DESTINATION lib${LIB_SUFFIX} # .lib file
-    RUNTIME DESTINATION bin              # .dll file
-)
-
-########################################################################
-# Build and register unit test
-########################################################################
-include(GrTest)
-
-include_directories(${CPPUNIT_INCLUDE_DIRS})
-
-list(APPEND test_dbfcttc_sources
-    ${CMAKE_CURRENT_SOURCE_DIR}/test_dbfcttc.cc
-    ${CMAKE_CURRENT_SOURCE_DIR}/qa_dbfcttc.cc
-    ${CMAKE_CURRENT_SOURCE_DIR}/qa_raw_array.cc
-)
-
-add_executable(test-dbfcttc ${test_dbfcttc_sources})
-
-target_link_libraries(
-  test-dbfcttc
-  ${GNURADIO_RUNTIME_LIBRARIES}
-  ${PCAP_LIBRARIES} 
-  ${Boost_LIBRARIES}
-  ${CPPUNIT_LIBRARIES}
-  gnuradio-dbfcttc
-)
-
-GR_ADD_TEST(test_dbfcttc test-dbfcttc)
diff --git a/drivers/gr-dbfcttc/lib/qa_dbfcttc.cc b/drivers/gr-dbfcttc/lib/qa_dbfcttc.cc
deleted file mode 100644
index bb240f1..0000000
--- a/drivers/gr-dbfcttc/lib/qa_dbfcttc.cc
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- *
- * Copyright (C) 2010-2015  (see AUTHORS file for a list of contributors)
- *
- * GNSS-SDR is a software defined Global Navigation
- *          Satellite Systems receiver
- *
- * This file is part of GNSS-SDR.
- *
- * GNSS-SDR 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 3 of the License, or
- * (at your option) any later version.
- *
- * GNSS-SDR 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 GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
- *
- * -------------------------------------------------------------------------
- */
-
-
-/*
- * This class gathers together all the test cases for the gr-filter
- * directory into a single test suite.  As you create new test cases,
- * add them here.
- */
-
-#include "qa_dbfcttc.h"
-#include "qa_raw_array.h"
-
-CppUnit::TestSuite *
-qa_dbfcttc::suite()
-{
-  CppUnit::TestSuite *s = new CppUnit::TestSuite("dbfcttc");
-  s->addTest(gr::dbfcttc::qa_raw_array::suite());
-
-  return s;
-}
diff --git a/drivers/gr-dbfcttc/lib/qa_dbfcttc.h b/drivers/gr-dbfcttc/lib/qa_dbfcttc.h
deleted file mode 100644
index 508b00d..0000000
--- a/drivers/gr-dbfcttc/lib/qa_dbfcttc.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- *
- * Copyright (C) 2010-2015  (see AUTHORS file for a list of contributors)
- *
- * GNSS-SDR is a software defined Global Navigation
- *          Satellite Systems receiver
- *
- * This file is part of GNSS-SDR.
- *
- * GNSS-SDR 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 3 of the License, or
- * (at your option) any later version.
- *
- * GNSS-SDR 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 GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
- *
- * -------------------------------------------------------------------------
- */
-
-
-#ifndef _QA_DBFCTTC_H_
-#define _QA_DBFCTTC_H_
-
-#include <gnuradio/attributes.h>
-#include <cppunit/TestSuite.h>
-
-//! collect all the tests for the gr-filter directory
-
-class __GR_ATTR_EXPORT qa_dbfcttc
-{
- public:
-  //! return suite of tests for all of gr-filter directory
-  static CppUnit::TestSuite *suite();
-};
-
-#endif /* _QA_DBFCTTC_H_ */
diff --git a/drivers/gr-dbfcttc/lib/qa_raw_array.cc b/drivers/gr-dbfcttc/lib/qa_raw_array.cc
deleted file mode 100644
index 246ddb3..0000000
--- a/drivers/gr-dbfcttc/lib/qa_raw_array.cc
+++ /dev/null
@@ -1,48 +0,0 @@
-/*!
- * \file qa_raw_array.cc
- * \brief GNU Radio source block to acces to experimental GNSS Array platform.
- * \author Javier Arribas, 2014. jarribas(at)cttc.es
- *
- * -------------------------------------------------------------------------
- *
- * Copyright (C) 2010-2015  (see AUTHORS file for a list of contributors)
- *
- * GNSS-SDR is a software defined Global Navigation
- *          Satellite Systems receiver
- *
- * This file is part of GNSS-SDR.
- *
- * GNSS-SDR 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 3 of the License, or
- * (at your option) any later version.
- *
- * GNSS-SDR 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 GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
- *
- * -------------------------------------------------------------------------
- */
-
-
-#include <gnuradio/attributes.h>
-#include <cppunit/TestAssert.h>
-#include "qa_raw_array.h"
-#include <dbfcttc/raw_array.h>
-
-namespace gr {
-  namespace dbfcttc {
-
-    void
-    qa_raw_array::t1()
-    {
-        // Put test here
-    }
-
-  } /* namespace dbfcttc */
-} /* namespace gr */
-
diff --git a/drivers/gr-dbfcttc/lib/qa_raw_array.h b/drivers/gr-dbfcttc/lib/qa_raw_array.h
deleted file mode 100644
index 02486b1..0000000
--- a/drivers/gr-dbfcttc/lib/qa_raw_array.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/*!
- * \file qa_raw_array.h
- * \brief GNU Radio source block to acces to experimental GNSS Array platform.
- * \author Javier Arribas, 2014. jarribas(at)cttc.es
- *
- * -------------------------------------------------------------------------
- *
- * Copyright (C) 2010-2015  (see AUTHORS file for a list of contributors)
- *
- * GNSS-SDR is a software defined Global Navigation
- *          Satellite Systems receiver
- *
- * This file is part of GNSS-SDR.
- *
- * GNSS-SDR 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 3 of the License, or
- * (at your option) any later version.
- *
- * GNSS-SDR 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 GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
- *
- * -------------------------------------------------------------------------
- */
-
-
-
-#ifndef _QA_RAW_ARRAY_H_
-#define _QA_RAW_ARRAY_H_
-
-#include <cppunit/extensions/HelperMacros.h>
-#include <cppunit/TestCase.h>
-
-namespace gr {
-  namespace dbfcttc {
-
-    class qa_raw_array : public CppUnit::TestCase
-    {
-    public:
-      CPPUNIT_TEST_SUITE(qa_raw_array);
-      CPPUNIT_TEST(t1);
-      CPPUNIT_TEST_SUITE_END();
-
-    private:
-      void t1();
-    };
-
-  } /* namespace dbfcttc */
-} /* namespace gr */
-
-#endif /* _QA_RAW_ARRAY_H_ */
-
diff --git a/drivers/gr-dbfcttc/lib/raw_array_impl.cc b/drivers/gr-dbfcttc/lib/raw_array_impl.cc
deleted file mode 100644
index 261574c..0000000
--- a/drivers/gr-dbfcttc/lib/raw_array_impl.cc
+++ /dev/null
@@ -1,514 +0,0 @@
-/*!
- * \file raw_array_impl.cc
- * \brief GNU Radio source block to acces to experimental GNSS Array platform.
- * \author Javier Arribas, 2014. jarribas(at)cttc.es
- *
- * -------------------------------------------------------------------------
- *
- * Copyright (C) 2010-2015  (see AUTHORS file for a list of contributors)
- *
- * GNSS-SDR is a software defined Global Navigation
- *          Satellite Systems receiver
- *
- * This file is part of GNSS-SDR.
- *
- * GNSS-SDR 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 3 of the License, or
- * (at your option) any later version.
- *
- * GNSS-SDR 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 GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
- *
- * -------------------------------------------------------------------------
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <gnuradio/io_signature.h>
-#include "raw_array_impl.h"
-#include <arpa/inet.h>
-#include <net/if.h>
-#include <net/ethernet.h>
-#include <netinet/if_ether.h>
-#include <sys/ioctl.h>
-#include <string.h>
-#include <stdlib.h>
-
-
-#define FIFO_SIZE 1000000
-#define DBFCTTC_NUM_CHANNELS 8
-
-namespace gr {
-  namespace dbfcttc {
-
-    raw_array::sptr
-    raw_array::make(const char *src_device,short number_of_channels, int snapshots_per_frame, int inter_frame_delay, int sampling_freq)
-    {
-      return gnuradio::get_initial_sptr
-        (new raw_array_impl(src_device, number_of_channels, snapshots_per_frame, inter_frame_delay, sampling_freq));
-    }
-
-    /*
-     * The private constructor
-     */
-    raw_array_impl::raw_array_impl(const char *src_device,short number_of_channels, int snapshots_per_frame, int inter_frame_delay, int sampling_freq)
-      : gr::sync_block("raw_array",
-              gr::io_signature::make(0, 0, 0),
-              gr::io_signature::make(8, 8, sizeof(gr_complex)))
-    {
-
-    	// constructor code here
-    	  fprintf(stdout,"DBFCTTC Start\n");
-
-    	  d_src_device=src_device;
-    	  d_number_of_channels=number_of_channels;
-    	  d_snapshots_per_frame=snapshots_per_frame;
-    	  d_inter_frame_delay=inter_frame_delay;
-    	  d_sampling_freq=sampling_freq;
-
-    	  d_flag_start_frame=true;
-    	  d_fifo_full=false;
-    	  d_last_frame_counter=0;
-    	  d_num_rx_errors=0;
-    	  flag_16_bits_sample=true;
-
-    	   //allocate signal samples buffer
-    	   //TODO: Check memory pointers
-    	   fifo_buff_ch=new gr_complex*[DBFCTTC_NUM_CHANNELS];
-    	   for (int i=0;i<DBFCTTC_NUM_CHANNELS;i++)
-    	   {
-    		   fifo_buff_ch[i]=new gr_complex[FIFO_SIZE];
-    	   }
-
-    	   fifo_read_ptr=0;
-    	   fifo_write_ptr=0;
-    	   fifo_items=0;
-
-    	   //open the ethernet device
-    	   if (open()==true)
-    	   {
-    		   // start pcap capture thread
-    		   d_pcap_thread=new boost::thread(boost::bind(&raw_array_impl::my_pcap_loop_thread,this,descr));
-
-
-    		   // send array configuration frame
-    		   if (configure_array()==true)
-    		   {
-    			   if (start_array()==true)
-    			   {
-    				   printf("Array ready!\n");
-    			   }else{
-    				   exit(1); //ethernet error!
-    			   }
-    		   }else{
-    			   exit(1); //ethernet error!
-    		   }
-    	   }else{
-    		   exit(1); //ethernet error!
-    	   }
-    }
-
-    bool raw_array_impl::open()
-    {
-      char errbuf[PCAP_ERRBUF_SIZE];
-      boost::mutex::scoped_lock lock(d_mutex); 	// hold mutex for duration of this function
-        char *dev;
-        /* open device for reading */
-        descr = pcap_open_live(d_src_device,1500,1,1000,errbuf);
-        if(descr == NULL)
-        {
-        		printf("Error openning ethernet device: %s\n",d_src_device);
-        		printf("Fatal Error in pcap_open_live(): %s\n",errbuf);
-        	    return false;
-        }
-      return true;
-    }
-
-    bool raw_array_impl::configure_array()
-    {
-    	//prepare the config data for the ethernet frame
-        // note: command=1 -> beamforming config
-        //		 command=2 -> start
-        //	     command=3 -> stop
-        //	     command=4 -> raw array config
-
-    	char data[20];
-
-    	for(int i=0;i<20;i++)
-    	{
-    		data[i]=0x00;
-    	}
-
-    	data[0]=4; //command to activate RAW array
-    	data[1]=d_number_of_channels;
-    	data[2]=d_snapshots_per_frame>>8;
-    	data[3]=d_snapshots_per_frame & 255;
-
-    	printf("\n Total bytes in snapshots payload = %i\n",d_snapshots_per_frame*d_number_of_channels*2);
-    	printf("\n Estimated eth RAW frame size [bytes] %i\n",12+2+3+d_snapshots_per_frame*d_number_of_channels*2+1);
-
-    	data[4]=d_inter_frame_delay>>8;
-    	data[5]=d_inter_frame_delay & 255;
-
-    	data[6]=0xB;
-    	data[7]=0xF;
-
-    	//send the frame
-    	struct ether_header myheader;
-    	myheader.ether_type=0xbfcd; //this is the ethenet layer II protocol ID for the CTTC array hardware
-    	memset(myheader.ether_dhost,0xff,sizeof(myheader.ether_dhost));
-    	memset(myheader.ether_shost,0x11,sizeof(myheader.ether_shost));
-
-    	unsigned char frame[sizeof(struct ether_header)+sizeof(data)];
-        memcpy(frame,&myheader,sizeof(struct ether_header));
-        memcpy(frame+sizeof(struct ether_header),&data,sizeof(data));
-
-        if (pcap_inject(descr,frame,sizeof(frame))==-1) {
-        	printf("Error sending configuration packet\n");
-            pcap_perror(descr,0);
-            return false;
-        }else{
-        	printf("Sent configuration packet OK\n");
-        	return true;
-        }
-    }
-
-    bool raw_array_impl::start_array()
-    {
-    	char data[20];
-
-		for(int i=0;i<20;i++)
-		{
-			data[i]=0x00;
-		}
-
-		data[0]=2; //command to start the array operation (configured previously)
-
-		//send the frame
-		struct ether_header myheader;
-		myheader.ether_type=0xbfcd; //this is the ethenet layer II protocol ID for the CTTC array hardware
-		memset(myheader.ether_dhost,0xff,sizeof(myheader.ether_dhost));
-		memset(myheader.ether_shost,0x11,sizeof(myheader.ether_shost));
-
-		unsigned char frame[sizeof(struct ether_header)+sizeof(data)];
-		memcpy(frame,&myheader,sizeof(struct ether_header));
-		memcpy(frame+sizeof(struct ether_header),&data,sizeof(data));
-
-		if (pcap_inject(descr,frame,sizeof(frame))==-1) {
-			printf("Error sending start packet\n");
-			pcap_perror(descr,0);
-			return false;
-		}else{
-			printf("Sent start packet OK\n");
-			return true;
-		}
-    }
-
-    bool raw_array_impl::stop_array()
-    {
-    	char data[20];
-
-		for(int i=0;i<20;i++)
-		{
-			data[i]=0x00;
-		}
-
-		data[0]=3; //command to stop the array operation (configured previously)
-
-		//send the frame
-		struct ether_header myheader;
-		myheader.ether_type=0xbfcd; //this is the ethenet layer II protocol ID for the CTTC array hardware
-		memset(myheader.ether_dhost,0xff,sizeof(myheader.ether_dhost));
-		memset(myheader.ether_shost,0x11,sizeof(myheader.ether_shost));
-
-		unsigned char frame[sizeof(struct ether_header)+sizeof(data)];
-		memcpy(frame,&myheader,sizeof(struct ether_header));
-		memcpy(frame+sizeof(struct ether_header),&data,sizeof(data));
-
-		if (pcap_inject(descr,frame,sizeof(frame))==-1) {
-			printf("Error sending stop packet\n");
-			pcap_perror(descr,0);
-			return false;
-		}else{
-			printf("Sent stop packet OK\n");
-			return true;
-		}
-    }
-
-    /*
-     * Our virtual destructor.
-     */
-    raw_array_impl::~raw_array_impl()
-    {
-    	  // destructor code here
-		   if (stop_array()==true)
-		   {
-			   printf("Array stopped!\n");
-		   }else{
-			   exit(1); //ethernet error!
-		   }
-    		if(descr != NULL)
-    		{
-    			pcap_breakloop(descr);
-    			d_pcap_thread->join();
-    			pcap_close(descr);
-    		}
-
-     	   for (int i=0;i<DBFCTTC_NUM_CHANNELS;i++)
-     	   {
-     		   delete[] fifo_buff_ch[i];
-     	   }
-     	  delete fifo_buff_ch;
-    	  fprintf(stdout,"All stopped OK\n");
-
-    }
-
-    void raw_array_impl::static_pcap_callback(u_char *args, const struct pcap_pkthdr* pkthdr,
-                                                    const u_char* packet)
-       {
-   //
-       	raw_array_impl *bridge=(raw_array_impl*) args;
-       	bridge->pcap_callback(args, pkthdr, packet);
-       }
-
-    void raw_array_impl::pcap_callback(u_char *args, const struct pcap_pkthdr* pkthdr,
-    		const u_char* packet)
-    {
-    	boost::mutex::scoped_lock lock(d_mutex); 	// hold mutex for duration of this function
-    	int numframebyte;
-    	short int real,imag;
-    	// eth frame parameters
-    	int number_of_channels;
-    	unsigned short int snapshots_per_frame;
-
-    	// **** CTTC DBF PACKET DECODER ****
-    	if ((packet[12]==0xCD) & (packet[13]==0xBF))
-    	{
-    		//printf(".");
-    		// control parameters
-    		number_of_channels=(int)packet[14];
-    		//std::cout<<"number_of_channels="<<number_of_channels<<std::endl;
-    		snapshots_per_frame=packet[15] << 8 | packet[16];
-    		//std::cout<<"snapshots_per_frame="<<snapshots_per_frame<<std::endl;
-    		//frame counter check for overflows!
-    		numframebyte=(unsigned char)packet[16+snapshots_per_frame*2*number_of_channels+1];
-    		//std::cout<<"numframebyte="<<numframebyte<<std::endl;
-    		//Overflow detector and mitigator
-    		if (d_flag_start_frame == true)
-    		{
-    			d_last_frame_counter=numframebyte;
-    			d_flag_start_frame=false;
-    		}else{
-
-    			if ((d_last_frame_counter-numframebyte)>1)
-    			{
-    				int missing_frames=abs(d_last_frame_counter-numframebyte);
-    				if (missing_frames!=255 )
-    				{
-    					//fake samples generation to help tracking loops
-    					std::complex<float> last_sample[DBFCTTC_NUM_CHANNELS];
-    					if (fifo_write_ptr == 0)
-    					{
-								for (int ch=0;ch<number_of_channels;ch++)
-								{
-									last_sample[ch]=fifo_buff_ch[ch][FIFO_SIZE];
-								}
-    					}else{
-								for (int ch=0;ch<number_of_channels;ch++)
-								{
-									last_sample[ch]=fifo_buff_ch[ch][fifo_write_ptr-1];
-								}
-    					}
-    					for(int i=0;i<(snapshots_per_frame*missing_frames);i++)
-    					{
-    						if (fifo_items <= FIFO_SIZE) {
-    							for (int ch=0;ch<number_of_channels;ch++)
-    							{
-    								fifo_buff_ch[ch][fifo_write_ptr] = last_sample[ch];
-    							}
-    							fifo_write_ptr++;
-    							if (fifo_write_ptr == FIFO_SIZE) fifo_write_ptr = 0;
-    							fifo_items++;
-    							if (d_fifo_full==true)
-    							{
-    								d_fifo_full=false;
-    							}
-    						}else{
-    							if (d_fifo_full==false)
-    							{
-    								printf("FIFO full\n");
-    								fflush(stdout);
-    								d_fifo_full=true;
-    							}
-    						}
-    					}
-    					d_num_rx_errors=d_num_rx_errors + 1;
-    					printf("RAW Array driver overflow RX %d\n",numframebyte);
-    				}
-    			}
-    		}
-    		d_last_frame_counter=numframebyte;
-
-    	};
-
-
-    	//snapshots reading..
-    	for(int i=0;i<snapshots_per_frame;i++)
-    	{
-    		if (fifo_items <= FIFO_SIZE) {
-    			for (int ch=0;ch<number_of_channels;ch++)
-    			{
-    				if (flag_16_bits_sample==true)
-    				{
-    					//(2i+2q)*8channels =32 bytes
-    					real=(signed short int)(packet[17 + ch*4 + i * 32] << 8 | packet[17 + ch*4 + 1 + i * 32]);
-    					imag=(signed short int)(packet[17 + ch*4 + 2 + i * 32] << 8 | packet[17 + ch*4 + 3 + i * 32]);
-    				}else{
-    					//(1i+1q)*8channels =16 bytes
-						real = (signed char)packet[17 + ch*2 + i * 16];
-						imag = (signed char)packet[17 + ch*2 + 1 + i * 16];
-    				}
-    				//todo: invert IQ in FPGA
-    				//fifo_buff_ch[ch][fifo_write_ptr] = std::complex<float>(real, imag);
-    				fifo_buff_ch[ch][fifo_write_ptr] = std::complex<float>(imag, real); //inverted due to inversion in front-end
-    				//std::cout<<"["<<ch<<"]["<<fifo_write_ptr<<"]"<<fifo_buff_ch[ch][fifo_write_ptr]<<std::endl;
-    			}
-    			fifo_write_ptr++;
-    			if (fifo_write_ptr == FIFO_SIZE) fifo_write_ptr = 0;
-    			fifo_items++;
-    			if (d_fifo_full==true)
-    			{
-    				d_fifo_full=false;
-    			}
-    		}else{
-    			if (d_fifo_full==false)
-    			{
-    				printf("FIFO full\n");
-    				fflush(stdout);
-    				d_fifo_full=true;
-    			}
-    		}
-
-    	}
-
-
-    	//test RX
-
-    	// **** CTTC DBF PACKET DECODER ***
-    	//else{
-    	//std::cout<<"RX PKT ID="<<(int)packet[12]<<","<<(int)packet[13]<<std::endl;
-    	//}
-
-    	//           	        // *** END CTTC DBF PACKET DECODER ***
-    }
-
-
-    void raw_array_impl::my_pcap_loop_thread(pcap_t *pcap_handle)
-
-    {
-
-        pcap_loop(pcap_handle, -1, raw_array_impl::static_pcap_callback, (u_char *)this);
-
-    }
-
-
-
-    int
-    raw_array_impl::work(int noutput_items,
-			  gr_vector_const_void_star &input_items,
-			  gr_vector_void_star &output_items)
-    {
-
-        //gr_complex *out = (gr_complex *) output_items[0];
-    	  // channel output buffers
-    	//  gr_complex *ch1 = (gr_complex *) output_items[0];
-    	//  gr_complex *ch2 = (gr_complex *) output_items[1];
-    	//  gr_complex *ch3 = (gr_complex *) output_items[2];
-    	//  gr_complex *ch4 = (gr_complex *) output_items[3];
-    	//  gr_complex *ch5 = (gr_complex *) output_items[4];
-    	//  gr_complex *ch6 = (gr_complex *) output_items[5];
-    	//  gr_complex *ch7 = (gr_complex *) output_items[6];
-    	//  gr_complex *ch8 = (gr_complex *) output_items[7];
-
-    	    // send samples to next GNU Radio block
-
-          boost::mutex::scoped_lock lock(d_mutex); 	// hold mutex for duration of this function
-     	  int num_samples_readed;
-
-     	  if (noutput_items<fifo_items)
-     	  {
-     		  num_samples_readed=noutput_items;//read all
-     	  }else{
-     		  num_samples_readed=fifo_items;//read what we have
-     	  }
-
-
-     	  int aligned_read_items=FIFO_SIZE-fifo_read_ptr;
-
-     	  if (aligned_read_items>=num_samples_readed)
-     	  {
-     		  //read all in a single memcpy
-         	  for (int ch=0;ch<DBFCTTC_NUM_CHANNELS;ch++)
-         	  {
-         		  //((gr_complex*)output_items[ch])[i]=fifo_buff_ch[ch][fifo_read_ptr];
-         		  memcpy(&((gr_complex*)output_items[ch])[0],&fifo_buff_ch[ch][fifo_read_ptr],sizeof(std::complex<float> )*num_samples_readed);
-         	  }
-         	  fifo_read_ptr=fifo_read_ptr+num_samples_readed; //increase the fifo pointer
-         	  if (fifo_read_ptr==FIFO_SIZE) fifo_read_ptr=0;
-     	  }else{
-     		  //two step wrap read
-         	  for (int ch=0;ch<DBFCTTC_NUM_CHANNELS;ch++)
-         	  {
-         		  //((gr_complex*)output_items[ch])[i]=fifo_buff_ch[ch][fifo_read_ptr];
-         		  memcpy(&((gr_complex*)output_items[ch])[0],&fifo_buff_ch[ch][fifo_read_ptr],sizeof(std::complex<float> )*aligned_read_items);
-         	  }
-         	  fifo_read_ptr=fifo_read_ptr+aligned_read_items; //increase the fifo pointer
-
-         	  if (fifo_read_ptr==FIFO_SIZE) fifo_read_ptr=0;
-
-         	  for (int ch=0;ch<DBFCTTC_NUM_CHANNELS;ch++)
-         	  {
-         		  //((gr_complex*)output_items[ch])[i]=fifo_buff_ch[ch][fifo_read_ptr];
-         		  memcpy(&((gr_complex*)output_items[ch])[aligned_read_items],&fifo_buff_ch[ch][fifo_read_ptr],sizeof(std::complex<float>)*(num_samples_readed-aligned_read_items));
-         	  }
-         	  fifo_read_ptr=fifo_read_ptr+(num_samples_readed-aligned_read_items); //increase the fifo pointer
-     	  }
-
-     	  fifo_items=fifo_items-num_samples_readed;
-
-
-//          int num_samples_readed=0;
-//    	      for(int i=0;i<noutput_items;i++)
-//    	  {
-//
-//    	          if (fifo_items > 0) {
-//    	        	  //TODO: optimize-me with memcpy!!
-//    	        	  for (int ch=0;ch<DBFCTTC_NUM_CHANNELS;ch++)
-//    	        	  {
-//    	        		  ((gr_complex*)output_items[ch])[i]=fifo_buff_ch[ch][fifo_read_ptr];
-//    	        	  }
-//    					  fifo_read_ptr++;
-//    					  if (fifo_read_ptr==FIFO_SIZE) fifo_read_ptr=0;
-//    					  fifo_items--;
-//    					  num_samples_readed++;
-//    	          } else {
-//    	              break;
-//    	          }
-//
-//    	       }
-
-        // Tell runtime system how many output items we produced.
-        return num_samples_readed;
-    }
-
-  } /* namespace dbfcttc */
-} /* namespace gr */
-
diff --git a/drivers/gr-dbfcttc/lib/raw_array_impl.h b/drivers/gr-dbfcttc/lib/raw_array_impl.h
deleted file mode 100644
index 2148aed..0000000
--- a/drivers/gr-dbfcttc/lib/raw_array_impl.h
+++ /dev/null
@@ -1,116 +0,0 @@
-/*!
- * \file raw_array_impl.h
- * \brief GNU Radio source block to acces to experimental GNSS Array platform.
- * \author Javier Arribas, 2014. jarribas(at)cttc.es
- *
- * -------------------------------------------------------------------------
- *
- * Copyright (C) 2010-2015  (see AUTHORS file for a list of contributors)
- *
- * GNSS-SDR is a software defined Global Navigation
- *          Satellite Systems receiver
- *
- * This file is part of GNSS-SDR.
- *
- * GNSS-SDR 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 3 of the License, or
- * (at your option) any later version.
- *
- * GNSS-SDR 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 GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
- *
- * -------------------------------------------------------------------------
- */
-
-
-#ifndef INCLUDED_DBFCTTC_RAW_ARRAY_IMPL_H
-#define INCLUDED_DBFCTTC_RAW_ARRAY_IMPL_H
-
-#include <dbfcttc/raw_array.h>
-//#include <boost/thread/mutex.hpp>
-#include <boost/thread.hpp>
-#include <pcap.h>
-
-namespace gr {
-namespace dbfcttc {
-
-class raw_array_impl : public raw_array
-{
-private:
-	//omni_mutex	d_mutex; // no longer available in GNU Radio
-	boost::mutex d_mutex;
-
-	pcap_t*       descr; //ethernet pcap device descriptor
-	int fifo_pipe[2];
-
-	gr_complex **fifo_buff_ch;
-
-	int    fifo_read_ptr;
-	int    fifo_write_ptr;
-	int    fifo_items;
-
-	const char *d_src_device;
-	short d_number_of_channels;
-	int d_snapshots_per_frame;
-	int d_inter_frame_delay;
-	int d_sampling_freq;
-
-	bool flag_16_bits_sample;
-	bool d_flag_start_frame;
-	bool d_fifo_full;
-
-	int d_last_frame_counter;
-	int  d_num_rx_errors;
-
-
-	boost::thread *d_pcap_thread;
-	/*!
-	 * \brief
-	 * Opens the ethernet device using libpcap raw capture mode
-	 * If any of these fail, the fuction retuns the error and exits.
-	 */
-	bool open();
-	/*!
-	 * \brief
-	 * Configure the Array hardware platform with the selected parameters. Uses the same ethernet connection
-	 */
-	bool configure_array();
-	/*!
-	 * \brief
-	 * Start the array operation. Uses the same ethernet connection
-	 */
-	bool start_array();
-	/*!
-	 * \brief
-	 * Stop the array operation. Uses the same ethernet connection
-	 */
-	bool stop_array();
-
-    void my_pcap_loop_thread(pcap_t *pcap_handle);
-
-    void pcap_callback(u_char *args, const struct pcap_pkthdr* pkthdr, const u_char* packet);
-
-    static void static_pcap_callback(u_char *args, const struct pcap_pkthdr* pkthdr, const u_char* packet);
-
-
-public:
-	raw_array_impl(const char *src_device,short number_of_channels, int snapshots_per_frame, int inter_frame_delay, int sampling_freq);
-	~raw_array_impl();
-
-	// Where all the action really happens
-	int work(int noutput_items,
-			gr_vector_const_void_star &input_items,
-			gr_vector_void_star &output_items);
-};
-
-} // namespace dbfcttc
-} // namespace gr
-
-#endif /* INCLUDED_DBFCTTC_RAW_ARRAY_IMPL_H */
-
diff --git a/drivers/gr-dbfcttc/lib/test_dbfcttc.cc b/drivers/gr-dbfcttc/lib/test_dbfcttc.cc
deleted file mode 100644
index 36741cd..0000000
--- a/drivers/gr-dbfcttc/lib/test_dbfcttc.cc
+++ /dev/null
@@ -1,55 +0,0 @@
-/*!
- * \file test_dbfcttc.cc
- * \brief GNSS Array platform driver test.
- * \author Javier Arribas, 2014. jarribas(at)cttc.es
- *
- * -------------------------------------------------------------------------
- *
- * Copyright (C) 2010-2015  (see AUTHORS file for a list of contributors)
- *
- * GNSS-SDR is a software defined Global Navigation
- *          Satellite Systems receiver
- *
- * This file is part of GNSS-SDR.
- *
- * GNSS-SDR 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 3 of the License, or
- * (at your option) any later version.
- *
- * GNSS-SDR 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 GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
- *
- * -------------------------------------------------------------------------
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <cppunit/TextTestRunner.h>
-#include <cppunit/XmlOutputter.h>
-
-#include <gnuradio/unittests.h>
-#include "qa_dbfcttc.h"
-#include <iostream>
-
-int
-main (int argc, char **argv)
-{
-  CppUnit::TextTestRunner runner;
-  std::ofstream xmlfile(get_unittest_path("dbfcttc.xml").c_str());
-  CppUnit::XmlOutputter *xmlout = new CppUnit::XmlOutputter(&runner.result(), xmlfile);
-
-  runner.addTest(qa_dbfcttc::suite());
-  runner.setOutputter(xmlout);
-
-  bool was_successful = runner.run("", false);
-
-  return was_successful ? 0 : 1;
-}
diff --git a/drivers/gr-dbfcttc/python/.unittests/python/qa_raw_array.xml b/drivers/gr-dbfcttc/python/.unittests/python/qa_raw_array.xml
deleted file mode 100644
index 9490b1b..0000000
--- a/drivers/gr-dbfcttc/python/.unittests/python/qa_raw_array.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<testsuite errors="0" failures="0" name="unittest.suite.TestSuite" tests="1" time="0.002">
-  <testcase classname="__main__.qa_raw_array" name="test_001_t" time="0.0016"></testcase>
-  <system-out><![CDATA[]]></system-out>
-  <system-err><![CDATA[]]></system-err>
-</testsuite>
diff --git a/drivers/gr-dbfcttc/python/CMakeLists.txt b/drivers/gr-dbfcttc/python/CMakeLists.txt
deleted file mode 100644
index 97f3049..0000000
--- a/drivers/gr-dbfcttc/python/CMakeLists.txt
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright (C) 2012-2015  (see AUTHORS file for a list of contributors)
-#
-# This file is part of GNSS-SDR.
-#
-# GNSS-SDR 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 3 of the License, or
-# (at your option) any later version.
-#
-# GNSS-SDR 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 GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
-#
-
-########################################################################
-# Include python install macros
-########################################################################
-include(GrPython)
-if(NOT PYTHONINTERP_FOUND)
-    return()
-endif()
-
-########################################################################
-# Install python sources
-########################################################################
-GR_PYTHON_INSTALL(
-    FILES
-    __init__.py
-    DESTINATION ${GR_PYTHON_DIR}/dbfcttc
-	)
-
-########################################################################
-# Handle the unit tests
-########################################################################
-include(GrTest)
-
-set(GR_TEST_TARGET_DEPS gnuradio-dbfcttc)
-set(GR_TEST_PYTHON_DIRS ${CMAKE_BINARY_DIR}/swig)
-GR_ADD_TEST(qa_raw_array ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_raw_array.py)
diff --git a/drivers/gr-dbfcttc/python/__init__.py b/drivers/gr-dbfcttc/python/__init__.py
deleted file mode 100644
index 9b312f9..0000000
--- a/drivers/gr-dbfcttc/python/__init__.py
+++ /dev/null
@@ -1,54 +0,0 @@
-#
-# Copyright 2008,2009 Free Software Foundation, Inc.
-#
-# This application 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 3, or (at your option)
-# any later version.
-#
-# This application 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 Street, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-
-# The presence of this file turns this directory into a Python package
-
-'''
-This is the GNU Radio DBFCTTC module. Place your Python package
-description here (python/__init__.py).
-'''
-
-# ----------------------------------------------------------------
-# Temporary workaround for ticket:181 (swig+python problem)
-import sys
-_RTLD_GLOBAL = 0
-try:
-    from dl import RTLD_GLOBAL as _RTLD_GLOBAL
-except ImportError:
-    try:
-	from DLFCN import RTLD_GLOBAL as _RTLD_GLOBAL
-    except ImportError:
-	pass
-
-if _RTLD_GLOBAL != 0:
-    _dlopenflags = sys.getdlopenflags()
-    sys.setdlopenflags(_dlopenflags|_RTLD_GLOBAL)
-# ----------------------------------------------------------------
-
-
-# import swig generated symbols into the dbfcttc namespace
-from dbfcttc_swig import *
-
-# import any pure python here
-#
-
-# ----------------------------------------------------------------
-# Tail of workaround
-if _RTLD_GLOBAL != 0:
-    sys.setdlopenflags(_dlopenflags)      # Restore original flags
-# ----------------------------------------------------------------
diff --git a/drivers/gr-dbfcttc/python/build_utils.py b/drivers/gr-dbfcttc/python/build_utils.py
deleted file mode 100644
index cf58a97..0000000
--- a/drivers/gr-dbfcttc/python/build_utils.py
+++ /dev/null
@@ -1,226 +0,0 @@
-#
-# Copyright 2004,2009,2012 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio 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 3, or (at your option)
-# any later version.
-#
-# GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-#
-
-"""Misc utilities used at build time
-"""
-
-import re, os, os.path
-from build_utils_codes import *
-
-
-# set srcdir to the directory that contains Makefile.am
-try:
-    srcdir = os.environ['srcdir']
-except KeyError, e:
-    srcdir = "."
-srcdir = srcdir + '/'
-
-# set do_makefile to either true or false dependeing on the environment
-try:
-    if os.environ['do_makefile'] == '0':
-        do_makefile = False
-    else:
-        do_makefile = True
-except KeyError, e:
-    do_makefile = False
-
-# set do_sources to either true or false dependeing on the environment
-try:
-    if os.environ['do_sources'] == '0':
-        do_sources = False
-    else:
-        do_sources = True
-except KeyError, e:
-    do_sources = True
-
-name_dict = {}
-
-def log_output_name (name):
-    (base, ext) = os.path.splitext (name)
-    ext = ext[1:]                       # drop the leading '.'
-
-    entry = name_dict.setdefault (ext, [])
-    entry.append (name)
-
-def open_and_log_name (name, dir):
-    global do_sources
-    if do_sources:
-        f = open (name, dir)
-    else:
-        f = None
-    log_output_name (name)
-    return f
-
-def expand_template (d, template_filename, extra = ""):
-    '''Given a dictionary D and a TEMPLATE_FILENAME, expand template into output file
-    '''
-    global do_sources
-    output_extension = extract_extension (template_filename)
-    template = open_src (template_filename, 'r')
-    output_name = d['NAME'] + extra + '.' + output_extension
-    log_output_name (output_name)
-    if do_sources:
-        output = open (output_name, 'w')
-        do_substitution (d, template, output)
-        output.close ()
-    template.close ()
-
-def output_glue (dirname):
-    output_makefile_fragment ()
-    output_ifile_include (dirname)
-
-def output_makefile_fragment ():
-    global do_makefile
-    if not do_makefile:
-        return
-# overwrite the source, which must be writable; this should have been
-# checked for beforehand in the top-level Makefile.gen.gen .
-    f = open (os.path.join (os.environ.get('gendir', os.environ.get('srcdir', '.')), 'Makefile.gen'), 'w')
-    f.write ('#\n# This file is machine generated.  All edits will be overwritten\n#\n')
-    output_subfrag (f, 'h')
-    output_subfrag (f, 'i')
-    output_subfrag (f, 'cc')
-    f.close ()
-
-def output_ifile_include (dirname):
-    global do_sources
-    if do_sources:
-        f = open ('%s_generated.i' % (dirname,), 'w')
-        f.write ('//\n// This file is machine generated.  All edits will be overwritten\n//\n')
-        files = name_dict.setdefault ('i', [])
-        files.sort ()
-        f.write ('%{\n')
-        for file in files:
-            f.write ('#include <%s>\n' % (file[0:-1] + 'h',))
-        f.write ('%}\n\n')
-        for file in files:
-            f.write ('%%include <%s>\n' % (file,))
-
-def output_subfrag (f, ext):
-    files = name_dict.setdefault (ext, [])
-    files.sort ()
-    f.write ("GENERATED_%s =" % (ext.upper ()))
-    for file in files:
-        f.write (" \\\n\t%s" % (file,))
-    f.write ("\n\n")
-
-def extract_extension (template_name):
-    # template name is something like: GrFIRfilterXXX.h.t
-    # we return everything between the penultimate . and .t
-    mo = re.search (r'\.([a-z]+)\.t$', template_name)
-    if not mo:
-        raise ValueError, "Incorrectly formed template_name '%s'" % (template_name,)
-    return mo.group (1)
-
-def open_src (name, mode):
-    global srcdir
-    return open (os.path.join (srcdir, name), mode)
-
-def do_substitution (d, in_file, out_file):
-    def repl (match_obj):
-        key = match_obj.group (1)
-        # print key
-        return d[key]
-
-    inp = in_file.read ()
-    out = re.sub (r"@([a-zA-Z0-9_]+)@", repl, inp)
-    out_file.write (out)
-
-
-
-copyright = '''/* -*- c++ -*- */
-/*
- * Copyright 2003,2004 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * GNU Radio 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 3, or (at your option)
- * any later version.
- *
- * GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street,
- * Boston, MA 02110-1301, USA.
- */
-'''
-
-def is_complex (code3):
-    if i_code (code3) == 'c' or o_code (code3) == 'c':
-        return '1'
-    else:
-        return '0'
-
-
-def standard_dict (name, code3, package='gr'):
-    d = {}
-    d['NAME'] = name
-    d['NAME_IMPL'] = name+'_impl'
-    d['GUARD_NAME'] = 'INCLUDED_%s_%s_H' % (package.upper(), name.upper())
-    d['GUARD_NAME_IMPL'] = 'INCLUDED_%s_%s_IMPL_H' % (package.upper(), name.upper())
-    d['BASE_NAME'] = re.sub ('^' + package + '_', '', name)
-    d['SPTR_NAME'] = '%s_sptr' % name
-    d['WARNING'] = 'WARNING: this file is machine generated. Edits will be overwritten'
-    d['COPYRIGHT'] = copyright
-    d['TYPE'] = i_type (code3)
-    d['I_TYPE'] = i_type (code3)
-    d['O_TYPE'] = o_type (code3)
-    d['TAP_TYPE'] = tap_type (code3)
-    d['IS_COMPLEX'] = is_complex (code3)
-    return d
-
-
-def standard_dict2 (name, code3, package):
-    d = {}
-    d['NAME'] = name
-    d['BASE_NAME'] = name
-    d['GUARD_NAME'] = 'INCLUDED_%s_%s_H' % (package.upper(), name.upper())
-    d['WARNING'] = 'WARNING: this file is machine generated. Edits will be overwritten'
-    d['COPYRIGHT'] = copyright
-    d['TYPE'] = i_type (code3)
-    d['I_TYPE'] = i_type (code3)
-    d['O_TYPE'] = o_type (code3)
-    d['TAP_TYPE'] = tap_type (code3)
-    d['IS_COMPLEX'] = is_complex (code3)
-    return d
-
-def standard_impl_dict2 (name, code3, package):
-    d = {}
-    d['NAME'] = name
-    d['IMPL_NAME'] = name
-    d['BASE_NAME'] = name.rstrip("impl").rstrip("_")
-    d['GUARD_NAME'] = 'INCLUDED_%s_%s_H' % (package.upper(), name.upper())
-    d['WARNING'] = 'WARNING: this file is machine generated. Edits will be overwritten'
-    d['COPYRIGHT'] = copyright
-    d['FIR_TYPE'] = "fir_filter_" + code3
-    d['CFIR_TYPE'] = "fir_filter_" + code3[0:2] + 'c'
-    d['TYPE'] = i_type (code3)
-    d['I_TYPE'] = i_type (code3)
-    d['O_TYPE'] = o_type (code3)
-    d['TAP_TYPE'] = tap_type (code3)
-    d['IS_COMPLEX'] = is_complex (code3)
-    return d
diff --git a/drivers/gr-dbfcttc/python/build_utils_codes.py b/drivers/gr-dbfcttc/python/build_utils_codes.py
deleted file mode 100644
index 9ea96ba..0000000
--- a/drivers/gr-dbfcttc/python/build_utils_codes.py
+++ /dev/null
@@ -1,52 +0,0 @@
-#
-# Copyright 2004 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio 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 3, or (at your option)
-# any later version.
-#
-# GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-#
-
-def i_code (code3):
-    return code3[0]
-
-def o_code (code3):
-    if len (code3) >= 2:
-        return code3[1]
-    else:
-        return code3[0]
-
-def tap_code (code3):
-    if len (code3) >= 3:
-        return code3[2]
-    else:
-        return code3[0]
-
-def i_type (code3):
-    return char_to_type[i_code (code3)]
-
-def o_type (code3):
-    return char_to_type[o_code (code3)]
-
-def tap_type (code3):
-    return char_to_type[tap_code (code3)]
-
-
-char_to_type = {}
-char_to_type['s'] = 'short'
-char_to_type['i'] = 'int'
-char_to_type['f'] = 'float'
-char_to_type['c'] = 'gr_complex'
-char_to_type['b'] = 'unsigned char'
diff --git a/drivers/gr-dbfcttc/python/qa_raw_array.py b/drivers/gr-dbfcttc/python/qa_raw_array.py
deleted file mode 100755
index 20cde84..0000000
--- a/drivers/gr-dbfcttc/python/qa_raw_array.py
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
-# 
-# Copyright 2014 <+YOU OR YOUR COMPANY+>.
-# 
-# This 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 3, or (at your option)
-# any later version.
-# 
-# This software 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 software; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-# 
-
-from gnuradio import gr, gr_unittest
-from gnuradio import blocks
-import dbfcttc_swig as dbfcttc
-
-class qa_raw_array (gr_unittest.TestCase):
-
-    def setUp (self):
-        self.tb = gr.top_block ()
-
-    def tearDown (self):
-        self.tb = None
-
-    def test_001_t (self):
-        my_array=dbfcttc.raw_array("en4",8,70,5,5000000)
-        # set up fg
-        self.tb.run ()
-        # check data
-
-
-if __name__ == '__main__':
-    gr_unittest.run(qa_raw_array, "qa_raw_array.xml")
diff --git a/drivers/gr-dbfcttc/swig/CMakeLists.txt b/drivers/gr-dbfcttc/swig/CMakeLists.txt
deleted file mode 100644
index cd6707f..0000000
--- a/drivers/gr-dbfcttc/swig/CMakeLists.txt
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright (C) 2012-2015  (see AUTHORS file for a list of contributors)
-#
-# This file is part of GNSS-SDR.
-#
-# GNSS-SDR 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 3 of the License, or
-# (at your option) any later version.
-#
-# GNSS-SDR 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 GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
-#
-
-########################################################################
-# Include swig generation macros
-########################################################################
-#set(PYTHON_EXECUTABLE "/opt/local/bin/python" )
-#set(CMAKE_LIBRARY_PATH /opt/local/lib ${CMAKE_LIBRARY_PATH})
-find_package(SWIG)
-find_package(PythonLibs 2)
-if(NOT SWIG_FOUND OR NOT PYTHONLIBS_FOUND)
-    return()
-endif()
-include(GrSwig)
-include(GrPython)
-
-########################################################################
-# Setup swig generation
-########################################################################
-foreach(incdir ${GNURADIO_RUNTIME_INCLUDE_DIRS})
-    list(APPEND GR_SWIG_INCLUDE_DIRS ${incdir}/gnuradio/swig)
-endforeach(incdir)
-
-set(GR_SWIG_LIBRARIES gnuradio-dbfcttc)
-set(GR_SWIG_DOC_FILE ${CMAKE_CURRENT_BINARY_DIR}/dbfcttc_swig_doc.i)
-set(GR_SWIG_DOC_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/../include)
-
-GR_SWIG_MAKE(dbfcttc_swig dbfcttc_swig.i)
-
-########################################################################
-# Install the build swig module
-########################################################################
-GR_SWIG_INSTALL(TARGETS dbfcttc_swig DESTINATION ${GR_PYTHON_DIR}/dbfcttc)
-
-
-########################################################################
-# Install swig .i files for development
-########################################################################
-install(
-    FILES
-    dbfcttc_swig.i
-    ${CMAKE_CURRENT_BINARY_DIR}/dbfcttc_swig_doc.i
-    DESTINATION ${GR_INCLUDE_DIR}/dbfcttc/swig
-)
diff --git a/drivers/gr-dbfcttc/swig/dbfcttc_swig.i b/drivers/gr-dbfcttc/swig/dbfcttc_swig.i
deleted file mode 100644
index 0b78d4c..0000000
--- a/drivers/gr-dbfcttc/swig/dbfcttc_swig.i
+++ /dev/null
@@ -1,16 +0,0 @@
-/* -*- c++ -*- */
-
-#define DBFCTTC_API
-
-%include "gnuradio.i"			// the common stuff
-
-//load generated python docstrings
-%include "dbfcttc_swig_doc.i"
-
-%{
-#include "dbfcttc/raw_array.h"
-%}
-
-
-%include "dbfcttc/raw_array.h"
-GR_SWIG_BLOCK_MAGIC2(dbfcttc, raw_array);
diff --git a/drivers/gr-gn3s/CMakeLists.txt b/drivers/gr-gn3s/CMakeLists.txt
deleted file mode 100644
index c5ee3ef..0000000
--- a/drivers/gr-gn3s/CMakeLists.txt
+++ /dev/null
@@ -1,143 +0,0 @@
-# Copyright (C) 2010-2015  (see AUTHORS file for a list of contributors)
-#
-# This file is part of GNSS-SDR.
-#
-# GNSS-SDR 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 3 of the License, or
-# at your option) any later version.
-#
-# GNSS-SDR 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 GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
-#
-
-
-########################################################################
-# Project setup
-########################################################################
-cmake_minimum_required(VERSION 2.8)
-project(gr-gn3s CXX C)
-enable_testing()
-
-#select the release build type by default to get optimization flags
-if(NOT CMAKE_BUILD_TYPE)
-   set(CMAKE_BUILD_TYPE "Release")
-   message(STATUS "Build type not specified: defaulting to release.")
-endif(NOT CMAKE_BUILD_TYPE)
-set(CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE} CACHE STRING "")
-
-list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/Modules)
-
-########################################################################
-# Compiler specific setup
-########################################################################
-if(CMAKE_COMPILER_IS_GNUCXX AND NOT WIN32)
-    #http://gcc.gnu.org/wiki/Visibility
-    add_definitions(-fvisibility=hidden)
-endif()
-
-########################################################################
-# Find boost
-########################################################################
-if(UNIX AND EXISTS "/usr/lib64")
-    list(APPEND BOOST_LIBRARYDIR "/usr/lib64") #fedora 64-bit fix
-endif(UNIX AND EXISTS "/usr/lib64")
-set(Boost_ADDITIONAL_VERSIONS
-    "1.35.0" "1.35" "1.36.0" "1.36" "1.37.0" "1.37" "1.38.0" "1.38" "1.39.0" "1.39"
-    "1.40.0" "1.40" "1.41.0" "1.41" "1.42.0" "1.42" "1.43.0" "1.43" "1.44.0" "1.44"
-    "1.45.0" "1.45" "1.46.0" "1.46" "1.47.0" "1.47" "1.48.0" "1.48" "1.49.0" "1.49"
-    "1.50.0" "1.50" "1.51.0" "1.51" "1.52.0" "1.52" "1.53.0" "1.53" "1.54.0" "1.54"
-    "1.55.0" "1.55" "1.56.0" "1.56" "1.57.0" "1.57" "1.58.0" "1.58" "1.59.0" "1.59"
-    "1.60.0" "1.60" "1.61.0" "1.61" "1.62.0" "1.62" "1.63.0" "1.63" "1.64.0" "1.64"
-    "1.65.0" "1.65" "1.66.0" "1.66" "1.67.0" "1.67" "1.68.0" "1.68" "1.69.0" "1.69"
-)
-find_package(Boost "1.35")
-
-if(NOT Boost_FOUND)
-    message(FATAL_ERROR "Boost required to compile gn3s")
-endif()
-
-########################################################################
-# Find libUSB
-########################################################################
-find_package(USB)
-if(NOT LIBUSB_FOUND)
-    message(FATAL_ERROR "libusb required to compile gn3s")
-endif(NOT LIBUSB_FOUND)
-include_directories(${LIBUSB_INCLUDE_DIR})
-
-
-########################################################################
-# Install directories
-########################################################################
-include(GrPlatform) #define LIB_SUFFIX
-set(GR_RUNTIME_DIR      bin)
-set(GR_LIBRARY_DIR      lib${LIB_SUFFIX})
-set(GR_INCLUDE_DIR      include)
-set(GR_DATA_DIR         share)
-set(GR_PKG_DATA_DIR     ${GR_DATA_DIR}/${CMAKE_PROJECT_NAME})
-set(GR_DOC_DIR          ${GR_DATA_DIR}/doc)
-set(GR_PKG_DOC_DIR      ${GR_DOC_DIR}/${CMAKE_PROJECT_NAME})
-set(GR_CONF_DIR         etc)
-set(GR_PKG_CONF_DIR     ${GR_CONF_DIR}/${CMAKE_PROJECT_NAME}/conf.d)
-set(GR_LIBEXEC_DIR      libexec)
-set(GR_PKG_LIBEXEC_DIR  ${GR_LIBEXEC_DIR}/${CMAKE_PROJECT_NAME})
-set(GRC_BLOCKS_DIR      ${GR_PKG_DATA_DIR}/grc/blocks)
-
-########################################################################
-# Find gnuradio build dependencies
-########################################################################
-find_package(GnuradioRuntime)
-
-
-if(NOT GNURADIO_RUNTIME_FOUND)
-    message(FATAL_ERROR "gnuradio-runtime 3.7 or later is required to compile gr-gn3s")
-endif()
-
-
-########################################################################
-# Setup the include and linker paths
-########################################################################
-include_directories(
-    ${CMAKE_SOURCE_DIR}/include
-    ${Boost_INCLUDE_DIRS}
-    ${GNURADIO_RUNTIME_INCLUDE_DIRS}
-    ${LIBUSB_INCLUDE_DIR}
-)
-
-link_directories(
-    ${Boost_LIBRARY_DIRS}
-    ${GNURADIO_RUNTIME_LIBRARY_DIRS}
-)
-
-# Set component parameters
-set(GR_GN3S_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/include CACHE INTERNAL "" FORCE)
-set(GR_GN3S_SWIG_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/swig CACHE INTERNAL "" FORCE)
-
-########################################################################
-# Create uninstall target
-########################################################################
-configure_file(
-    ${CMAKE_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in
-    ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake
- at ONLY)
-
-add_custom_target(uninstall
-    ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake
-)
-
-########################################################################
-# Add subdirectories
-########################################################################
-add_subdirectory(include)
-add_subdirectory(lib)
-add_subdirectory(swig)
-add_subdirectory(python)
-add_subdirectory(grc)
-#add_subdirectory(apps)
-#add_subdirectory(docs)
diff --git a/drivers/gr-gn3s/README.md b/drivers/gr-gn3s/README.md
deleted file mode 100644
index b44b33c..0000000
--- a/drivers/gr-gn3s/README.md
+++ /dev/null
@@ -1,222 +0,0 @@
-# How to build gr-gn3s
-
-Source maintainer: Javier Arribas (jarribas at cttc.es)
-
-This document describes how to build the GN3S V2 GPS Sampler GNU Radio Source USB 2.0 driver. 
-
-More information on the device (not available anymore) can be found at http://www.sparkfun.com/products/8238
-
-The driver core is based on Gregory W. Hecker driver available at http://github.com/gps-sdr/gps-sdr.
-
-GR-GN3S is a GNU Radio's compliant signal source block intended to be used either with GNSS-SDR as a signal source, or as standalone signal source block instantiated from a GNU Radio flow graph from C++ or using Python (also includes a gnuradio-companion interface).
-
-## Install GNU Radio:
-
-You can install GNU Radio through a .deb package *or* by using pybombs. Please choose only **one** of these two procedures.
-
-- In Ubuntu 12.10 and later, or Debian Jessie or later, install GNU Radio and other dependencies through a .deb package:
-
-~~~~~~ 
-$ sudo apt-get install gnuradio-dev libusb-dev
-~~~~~~
-
-
-- Semi-automatic installation of GNU Radio using PyBOMBS:
-
-Downloading, building and installing [GNU Radio](http://gnuradio.org "GNU Radio's Homepage") and all its dependencies is not a simple task. We recommend to use [PyBOMBS](http://gnuradio.org/redmine/projects/pybombs/wiki "Python Build Overlay Managed Bundle System wiki") (Python Build Overlay Managed Bundle System), the GNU Radio install management system that automatically does all the work for you. In a terminal, type:
-
-First of all, install some basic packages:
-
-~~~~~~ 
-$ sudo apt-get install git python-pip
-~~~~~~ 
-
-Download, build and install PyBOMBS:
-
-~~~~~~ 
-$ sudo pip install git+https://github.com/gnuradio/pybombs.git
-~~~~~~ 
-
-Add some software recipes (i.e., instructions on how to install software dependencies):
-
-~~~~~~ 
-$ pybombs recipes add gr-recipes git+https://github.com/gnuradio/gr-recipes.git
-$ pybombs recipes add gr-etcetera git+https://github.com/gnuradio/gr-etcetera.git
-~~~~~~ 
-
-Download, build and install GNU Radio, related drivers and some other extra modules into the directory ```/path/to/prefix``` (replace this path by your preferred one, for instance ```$HOME/sdr```):
-
-~~~~~~ 
-$ pybombs prefix init /path/to/prefix -a myprefix -R gnuradio-default
-~~~~~~ 
-
-This will perform a local installation of the dependencies under ```/path/to/prefix```, so they will not be visible when opening a new terminal. In order to make them available, you will need to set up the adequate environment variables:
-
-~~~~~~ 
-$ cd /path/to/prefix
-$ . ./setup_env.sh
-~~~~~~ 
-
-In case you do not want to use PyBOMBS and prefer to build and install GNU Radio step by step, follow instructions at the [GNU Radio Build Guide](http://gnuradio.org/redmine/projects/gnuradio/wiki/BuildGuide).
-
-
-## Get the latest version of GNSS-SDR:
-
-~~~~~~
-$ git clone git://github.com/gnss-sdr/gnss-sdr
-$ cd gnss-sdr
-$ git checkout next
-~~~~~~
-
-## Build GR-GN3S:
-
-- Go to GR-GN3S root directory and compile the driver:
-
-~~~~~~
-$ cd drivers/gr-gn3s
-$ cd build
-$ cmake ../
-$ make
-~~~~~~
-
-NOTE: If you have installed GNU Radio via the gnuradio-dev package, you might need to use ```cmake -DCMAKE_INSTALL_PREFIX=/usr ../``` instead of ```cmake ../``` in order to make the module visible from gnuradio-companion once installed.
-
-
-- If everything went fine, install the driver as root
-
-~~~~~~
-$ sudo make install
-$ sudo ldconfig
-~~~~~~
-
-## Check that the module is usable by gnuradio-companion
- 
-Open gnuradio-companion and check the gn3s_source module under the GN3S tab. In order to gain access to USB ports, gnuradio-companion should be used as root. In addition, the driver requires access to the GN3S firmware binary file. It should be available in the same path where the application is called. GNSS-SDR comes with a pre-compiled custom GN3S firmware available at gnss-sdr/firmware/GN3S_v2/bin/gn3s_firmware.ihx. Please copy this file to the application path.
-
-## Build gnss-sdr with the GN3S option enabled:
-
-~~~~~~
-$ cd gnss-sdr/build
-$ cmake -DENABLE_GN3S=ON ../
-$ make
-$ sudo make install
-~~~~~~
-
-This will enable the *GN3S_Signal_Source* implementation, which is able to read from the GN3S V2 GPS Sampler in real-time. 
-
-
-# Using the GN3S V2 GPS Sampler as a signal source with GNSS-SDR
-
-GN3S V2's sampling frequency is 8.1838 Msps, delivering a signal with an intermediate frequency of 38400 Hz. This is an example of a gnss-sdr configuration file for a GPS L1 C/A receiver using the *GN3S_Signal_Source* implementation:
-
-~~~~~~
-GNSS-SDR.internal_fs_hz=2727933.33  ; 8183800/3 
-
-;######### SIGNAL_SOURCE CONFIG ############
-SignalSource.implementation=GN3S_Signal_Source
-SignalSource.item_type=gr_complex
-SignalSource.sampling_frequency=8183800
-SignalSource.dump=false
-SignalSource.dump_filename=../signal_source.dat
-
-;######### SIGNAL_CONDITIONER CONFIG ############
-SignalConditioner.implementation=Signal_Conditioner
-
-;######### DATA_TYPE_ADAPTER CONFIG ############
-DataTypeAdapter.implementation=Pass_Through
-
-;######### INPUT_FILTER CONFIG ############
-InputFilter.implementation=Freq_Xlating_Fir_Filter
-InputFilter.dump=false
-InputFilter.dump_filename=../data/input_filter.dat
-InputFilter.input_item_type=gr_complex
-InputFilter.output_item_type=gr_complex
-InputFilter.taps_item_type=float
-InputFilter.number_of_taps=5
-InputFilter.number_of_bands=2
-InputFilter.band1_begin=0.0
-InputFilter.band1_end=0.45
-InputFilter.band2_begin=0.55
-InputFilter.band2_end=1.0
-InputFilter.ampl1_begin=1.0
-InputFilter.ampl1_end=1.0
-InputFilter.ampl2_begin=0.0
-InputFilter.ampl2_end=0.0
-InputFilter.band1_error=1.0
-InputFilter.band2_error=1.0
-InputFilter.filter_type=bandpass
-InputFilter.grid_density=16
-InputFilter.sampling_frequency=8183800
-InputFilter.IF=38400
-InputFilter.decimation_factor=3
-
-;######### RESAMPLER CONFIG ############
-Resampler.implementation=Pass_Through
-Resampler.dump=false
-Resampler.dump_filename=../data/resampler.dat
-
-
-;######### CHANNELS GLOBAL CONFIG ############
-Channels_1C.count=8
-Channels.in_acquisition=1
-Channel.signal=1C
-
-;######### ACQUISITION GLOBAL CONFIG ############
-Acquisition_1C.dump=false
-Acquisition_1C.dump_filename=./acq_dump.dat
-Acquisition_1C.item_type=gr_complex
-Acquisition_1C.if=0
-Acquisition_1C.sampled_ms=1
-Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
-Acquisition_1C.threshold=0.008
-Acquisition_1C.doppler_max=10000
-Acquisition_1C.doppler_step=500
-
-;######### TRACKING GLOBAL CONFIG ############
-Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
-Tracking_1C.item_type=gr_complex
-Tracking_1C.if=0 
-Tracking_1C.dump=false
-Tracking_1C.dump_filename=../data/epl_tracking_ch_
-Tracking_1C.pll_bw_hz=45.0;
-Tracking_1C.dll_bw_hz=2.0;
-Tracking_1C.order=3;
-
-;######### TELEMETRY DECODER GPS CONFIG ############
-TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
-TelemetryDecoder_1C.dump=false
-TelemetryDecoder_1C.decimation_factor=1;
-
-;######### OBSERVABLES CONFIG ############
-Observables.implementation=GPS_L1_CA_Observables
-Observables.dump=false.
-Observables.dump_filename=./observables.dat
-
-;######### PVT CONFIG ############
-PVT.implementation=GPS_L1_CA_PVT
-PVT.averaging_depth=100
-PVT.flag_averaging=false
-PVT.output_rate_ms=10
-PVT.display_rate_ms=500
-PVT.dump_filename=./PVT
-PVT.nmea_dump_filename=./gnss_sdr_pvt.nmea
-PVT.flag_nmea_tty_port=false;
-PVT.nmea_dump_devname=/dev/pts/4
-PVT.dump=false
-
-;######### OUTPUT_FILTER CONFIG ############
-OutputFilter.implementation=Null_Sink_Output_Filter
-OutputFilter.filename=data/gnss-sdr.dat
-OutputFilter.item_type=gr_complex
-~~~~~~
-
-Save this configuration in a file, for instance ```my_GN3S_receiver.conf```,  copy the file located at ```install/gn3s_firmware.ihx``` to your working directory, and instantiate gnss-sdr by doing:
-
-~~~~~~
-$ gnss-sdr --config_file=./my_GN3S_receiver.conf
-~~~~~~
-
-
-
-
-
diff --git a/drivers/gr-gn3s/build/.gitignore b/drivers/gr-gn3s/build/.gitignore
deleted file mode 100644
index 86d0cb2..0000000
--- a/drivers/gr-gn3s/build/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-# Ignore everything in this directory
-*
-# Except this file
-!.gitignore
\ No newline at end of file
diff --git a/drivers/gr-gn3s/cmake/Modules/CMakeParseArgumentsCopy.cmake b/drivers/gr-gn3s/cmake/Modules/CMakeParseArgumentsCopy.cmake
deleted file mode 100644
index 7ce4c49..0000000
--- a/drivers/gr-gn3s/cmake/Modules/CMakeParseArgumentsCopy.cmake
+++ /dev/null
@@ -1,138 +0,0 @@
-# CMAKE_PARSE_ARGUMENTS(<prefix> <options> <one_value_keywords> <multi_value_keywords> args...)
-#
-# CMAKE_PARSE_ARGUMENTS() is intended to be used in macros or functions for
-# parsing the arguments given to that macro or function.
-# It processes the arguments and defines a set of variables which hold the
-# values of the respective options.
-#
-# The <options> argument contains all options for the respective macro,
-# i.e. keywords which can be used when calling the macro without any value
-# following, like e.g. the OPTIONAL keyword of the install() command.
-#
-# The <one_value_keywords> argument contains all keywords for this macro
-# which are followed by one value, like e.g. DESTINATION keyword of the
-# install() command.
-#
-# The <multi_value_keywords> argument contains all keywords for this macro
-# which can be followed by more than one value, like e.g. the TARGETS or
-# FILES keywords of the install() command.
-#
-# When done, CMAKE_PARSE_ARGUMENTS() will have defined for each of the
-# keywords listed in <options>, <one_value_keywords> and
-# <multi_value_keywords> a variable composed of the given <prefix>
-# followed by "_" and the name of the respective keyword.
-# These variables will then hold the respective value from the argument list.
-# For the <options> keywords this will be TRUE or FALSE.
-#
-# All remaining arguments are collected in a variable
-# <prefix>_UNPARSED_ARGUMENTS, this can be checked afterwards to see whether
-# your macro was called with unrecognized parameters.
-#
-# As an example here a my_install() macro, which takes similar arguments as the
-# real install() command:
-#
-#   function(MY_INSTALL)
-#     set(options OPTIONAL FAST)
-#     set(oneValueArgs DESTINATION RENAME)
-#     set(multiValueArgs TARGETS CONFIGURATIONS)
-#     cmake_parse_arguments(MY_INSTALL "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
-#     ...
-#
-# Assume my_install() has been called like this:
-#   my_install(TARGETS foo bar DESTINATION bin OPTIONAL blub)
-#
-# After the cmake_parse_arguments() call the macro will have set the following
-# variables:
-#   MY_INSTALL_OPTIONAL = TRUE
-#   MY_INSTALL_FAST = FALSE (this option was not used when calling my_install()
-#   MY_INSTALL_DESTINATION = "bin"
-#   MY_INSTALL_RENAME = "" (was not used)
-#   MY_INSTALL_TARGETS = "foo;bar"
-#   MY_INSTALL_CONFIGURATIONS = "" (was not used)
-#   MY_INSTALL_UNPARSED_ARGUMENTS = "blub" (no value expected after "OPTIONAL"
-#
-# You can the continue and process these variables.
-#
-# Keywords terminate lists of values, e.g. if directly after a one_value_keyword
-# another recognized keyword follows, this is interpreted as the beginning of
-# the new option.
-# E.g. my_install(TARGETS foo DESTINATION OPTIONAL) would result in
-# MY_INSTALL_DESTINATION set to "OPTIONAL", but MY_INSTALL_DESTINATION would
-# be empty and MY_INSTALL_OPTIONAL would be set to TRUE therefor.
-
-#=============================================================================
-# Copyright 2010 Alexander Neundorf <neundorf at kde.org>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-
-if(__CMAKE_PARSE_ARGUMENTS_INCLUDED)
-  return()
-endif()
-set(__CMAKE_PARSE_ARGUMENTS_INCLUDED TRUE)
-
-
-function(CMAKE_PARSE_ARGUMENTS prefix _optionNames _singleArgNames _multiArgNames)
-  # first set all result variables to empty/FALSE
-  foreach(arg_name ${_singleArgNames} ${_multiArgNames})
-    set(${prefix}_${arg_name})
-  endforeach(arg_name)
-
-  foreach(option ${_optionNames})
-    set(${prefix}_${option} FALSE)
-  endforeach(option)
-
-  set(${prefix}_UNPARSED_ARGUMENTS)
-
-  set(insideValues FALSE)
-  set(currentArgName)
-
-  # now iterate over all arguments and fill the result variables
-  foreach(currentArg ${ARGN})
-    list(FIND _optionNames "${currentArg}" optionIndex)  # ... then this marks the end of the arguments belonging to this keyword
-    list(FIND _singleArgNames "${currentArg}" singleArgIndex)  # ... then this marks the end of the arguments belonging to this keyword
-    list(FIND _multiArgNames "${currentArg}" multiArgIndex)  # ... then this marks the end of the arguments belonging to this keyword
-
-    if(${optionIndex} EQUAL -1  AND  ${singleArgIndex} EQUAL -1  AND  ${multiArgIndex} EQUAL -1)
-      if(insideValues)
-        if("${insideValues}" STREQUAL "SINGLE")
-          set(${prefix}_${currentArgName} ${currentArg})
-          set(insideValues FALSE)
-        elseif("${insideValues}" STREQUAL "MULTI")
-          list(APPEND ${prefix}_${currentArgName} ${currentArg})
-        endif()
-      else(insideValues)
-        list(APPEND ${prefix}_UNPARSED_ARGUMENTS ${currentArg})
-      endif(insideValues)
-    else()
-      if(NOT ${optionIndex} EQUAL -1)
-        set(${prefix}_${currentArg} TRUE)
-        set(insideValues FALSE)
-      elseif(NOT ${singleArgIndex} EQUAL -1)
-        set(currentArgName ${currentArg})
-        set(${prefix}_${currentArgName})
-        set(insideValues "SINGLE")
-      elseif(NOT ${multiArgIndex} EQUAL -1)
-        set(currentArgName ${currentArg})
-        set(${prefix}_${currentArgName})
-        set(insideValues "MULTI")
-      endif()
-    endif()
-
-  endforeach(currentArg)
-
-  # propagate the result variables to the caller:
-  foreach(arg_name ${_singleArgNames} ${_multiArgNames} ${_optionNames})
-    set(${prefix}_${arg_name}  ${${prefix}_${arg_name}} PARENT_SCOPE)
-  endforeach(arg_name)
-  set(${prefix}_UNPARSED_ARGUMENTS ${${prefix}_UNPARSED_ARGUMENTS} PARENT_SCOPE)
-
-endfunction(CMAKE_PARSE_ARGUMENTS _options _singleArgs _multiArgs)
diff --git a/drivers/gr-gn3s/cmake/Modules/FindGnuradioRuntime.cmake b/drivers/gr-gn3s/cmake/Modules/FindGnuradioRuntime.cmake
deleted file mode 100644
index 08ee505..0000000
--- a/drivers/gr-gn3s/cmake/Modules/FindGnuradioRuntime.cmake
+++ /dev/null
@@ -1,130 +0,0 @@
-########################################################################
-# Find GNU Radio
-########################################################################
-
-INCLUDE(FindPkgConfig)
-INCLUDE(FindPackageHandleStandardArgs)
-
-# if GR_REQUIRED_COMPONENTS is not defined, it will be set to the following list 
-if(NOT GR_REQUIRED_COMPONENTS)
-  set(GR_REQUIRED_COMPONENTS RUNTIME BLOCKS PMT)
-endif()
-
-
-# Allows us to use all .cmake files in this directory
-list(INSERT CMAKE_MODULE_PATH 0 ${CMAKE_CURRENT_LIST_DIR})
-
-# Easily access all libraries and includes of GNU Radio
-set(GNURADIO_ALL_LIBRARIES "")
-set(GNURADIO_ALL_INCLUDE_DIRS "")
-
-MACRO(LIST_CONTAINS var value)
-  SET(${var})
-  FOREACH(value2 ${ARGN})
-    IF (${value} STREQUAL ${value2})
-      SET(${var} TRUE)
-    ENDIF(${value} STREQUAL ${value2})
-  ENDFOREACH(value2)
-ENDMACRO(LIST_CONTAINS)
-
-function(GR_MODULE EXTVAR PCNAME INCFILE LIBFILE)
-
-    LIST_CONTAINS(REQUIRED_MODULE ${EXTVAR} ${GR_REQUIRED_COMPONENTS})
-    if(NOT REQUIRED_MODULE)
-        #message("Ignoring GNU Radio Module ${EXTVAR}")
-        return()
-    endif()
-
-    message(STATUS "Checking for GNU Radio Module: ${EXTVAR}")
-
-    # check for .pc hints
-    PKG_CHECK_MODULES(PC_GNURADIO_${EXTVAR} ${PCNAME})
-
-    if(NOT PC_GNURADIO_${EXTVAR}_FOUND)
-        set(PC_GNURADIO_${EXTVAR}_LIBRARIES ${LIBFILE})
-    endif()
-
-    set(INCVAR_NAME "GNURADIO_${EXTVAR}_INCLUDE_DIRS")
-    set(LIBVAR_NAME "GNURADIO_${EXTVAR}_LIBRARIES")
-    set(PC_INCDIR ${PC_GNURADIO_${EXTVAR}_INCLUDEDIR})
-    set(PC_LIBDIR ${PC_GNURADIO_${EXTVAR}_LIBDIR})
-
-    # look for include files
-    FIND_PATH(
-        ${INCVAR_NAME}
-        NAMES ${INCFILE}
-        HINTS $ENV{GNURADIO_RUNTIME_DIR}/include
-            ${PC_INCDIR}
-            ${CMAKE_INSTALL_PREFIX}/include
-            ${GNURADIO_INSTALL_PREFIX}/include
-        PATHS /usr/local/include
-              /usr/include
-              ${GNURADIO_INSTALL_PREFIX}/include
-    )
-
-    # look for libs
-    foreach(libname ${PC_GNURADIO_${EXTVAR}_LIBRARIES})
-        FIND_LIBRARY(
-            ${LIBVAR_NAME}_${libname}
-            NAMES ${libname}
-            HINTS $ENV{GNURADIO_RUNTIME_DIR}/lib
-                ${PC_LIBDIR}
-                ${CMAKE_INSTALL_PREFIX}/lib/
-                ${CMAKE_INSTALL_PREFIX}/lib64/
-                ${GNURADIO_INSTALL_PREFIX}/lib/
-                 ${GNURADIO_INSTALL_PREFIX}/lib64
-            PATHS /usr/local/lib
-                  /usr/local/lib64
-                  /usr/lib
-                  /usr/lib64
-                  ${GNURADIO_INSTALL_PREFIX}/lib
-        )
-	list(APPEND ${LIBVAR_NAME} ${${LIBVAR_NAME}_${libname}})
-    endforeach(libname)
-
-    set(${LIBVAR_NAME} ${${LIBVAR_NAME}} PARENT_SCOPE)
-
-    # show results
-    # message(STATUS " * INCLUDES=${GNURADIO_${EXTVAR}_INCLUDE_DIRS}")
-    # message(STATUS " * LIBS=${GNURADIO_${EXTVAR}_LIBRARIES}")
-
-    # append to all includes and libs list
-    set(GNURADIO_ALL_INCLUDE_DIRS ${GNURADIO_ALL_INCLUDE_DIRS} ${GNURADIO_${EXTVAR}_INCLUDE_DIRS} PARENT_SCOPE)
-    set(GNURADIO_ALL_LIBRARIES    ${GNURADIO_ALL_LIBRARIES}    ${GNURADIO_${EXTVAR}_LIBRARIES}    PARENT_SCOPE)
-
-    FIND_PACKAGE_HANDLE_STANDARD_ARGS(GNURADIO_${EXTVAR} DEFAULT_MSG GNURADIO_${EXTVAR}_LIBRARIES GNURADIO_${EXTVAR}_INCLUDE_DIRS)
-    message(STATUS "GNURADIO_${EXTVAR}_FOUND = ${GNURADIO_${EXTVAR}_FOUND}")
-    set(GNURADIO_${EXTVAR}_FOUND ${GNURADIO_${EXTVAR}_FOUND} PARENT_SCOPE)
-
-    # generate an error if the module is missing
-    if(NOT GNURADIO_${EXTVAR}_FOUND)
-       message(STATUS "Required GNU Radio Component: ${EXTVAR} missing!")
-    endif()
-
-    MARK_AS_ADVANCED(GNURADIO_${EXTVAR}_LIBRARIES GNURADIO_${EXTVAR}_INCLUDE_DIRS)
-
-endfunction()
-
-GR_MODULE(RUNTIME gnuradio-runtime gnuradio/top_block.h gnuradio-runtime)
-GR_MODULE(ANALOG gnuradio-analog gnuradio/analog/api.h gnuradio-analog)
-GR_MODULE(ATSC gnuradio-atsc gnuradio/atsc/api.h gnuradio-atsc)
-GR_MODULE(AUDIO gnuradio-audio gnuradio/audio/api.h gnuradio-audio)
-GR_MODULE(BLOCKS gnuradio-blocks gnuradio/blocks/api.h gnuradio-blocks)
-GR_MODULE(CHANNELS gnuradio-channels gnuradio/channels/api.h gnuradio-channels)
-GR_MODULE(DIGITAL gnuradio-digital gnuradio/digital/api.h gnuradio-digital)
-GR_MODULE(FCD gnuradio-fcd gnuradio/fcd_api.h gnuradio-fcd)
-GR_MODULE(FEC gnuradio-fec gnuradio/fec/api.h gnuradio-fec)
-GR_MODULE(FFT gnuradio-fft gnuradio/fft/api.h gnuradio-fft)
-GR_MODULE(FILTER gnuradio-filter gnuradio/filter/api.h gnuradio-filter)
-GR_MODULE(NOAA gnuradio-noaa gnuradio/noaa/api.h gnuradio-noaa)
-GR_MODULE(PAGER gnuradio-pager gnuradio/pager/api.h gnuradio-pager)
-GR_MODULE(QTGUI gnuradio-qtgui gnuradio/qtgui/api.h gnuradio-qtgui)
-GR_MODULE(TRELLIS gnuradio-trellis gnuradio/trellis/api.h gnuradio-trellis)
-GR_MODULE(UHD gnuradio-uhd gnuradio/uhd/api.h gnuradio-uhd)
-GR_MODULE(VOCODER gnuradio-vocoder gnuradio/vocoder/api.h gnuradio-vocoder)
-GR_MODULE(WAVELET gnuradio-wavelet gnuradio/wavelet/api.h gnuradio-wavelet)
-GR_MODULE(WXGUI gnuradio-wxgui gnuradio/wxgui/api.h gnuradio-wxgui)
-GR_MODULE(PMT gnuradio-runtime pmt/pmt.h gnuradio-pmt)
-
-list(REMOVE_DUPLICATES GNURADIO_ALL_INCLUDE_DIRS)
-list(REMOVE_DUPLICATES GNURADIO_ALL_LIBRARIES)
diff --git a/drivers/gr-gn3s/cmake/Modules/FindUSB.cmake b/drivers/gr-gn3s/cmake/Modules/FindUSB.cmake
deleted file mode 100644
index f40d65a..0000000
--- a/drivers/gr-gn3s/cmake/Modules/FindUSB.cmake
+++ /dev/null
@@ -1,45 +0,0 @@
-
-
-find_path(USB_INCLUDE_DIR NAMES usb.h
-          PATHS /usr/include
-                /usr/local/include
-)
-
-if(NOT USB_INCLUDE_DIR)
-   message(STATUS "libusb has not been found.")
-   message(STATUS "You can install it by 'sudo apt-get install libusb-dev' ")
-   message(FATAL_ERROR "libusb is required for building gr-gn3s")
-endif(NOT USB_INCLUDE_DIR)
-
-
-INCLUDE(FindPkgConfig)
-
-if(NOT LIBUSB_FOUND)
-   pkg_check_modules (LIBUSB_PKG libusb-1.0)
-   find_path(LIBUSB_INCLUDE_DIR NAMES libusb.h
-             PATHS ${LIBUSB_PKG_INCLUDE_DIRS}
-                   /usr/include/libusb-1.0
-                   /usr/include
-                   /usr/local/include
-                   /opt/local/include/libusb-1.0
-   )
-
-   find_library(LIBUSB_LIBRARIES NAMES usb-1.0
-                PATHS ${LIBUSB_PKG_LIBRARY_DIRS}
-                      /usr/lib
-                      /usr/local/lib
-                      /opt/local/lib
-   )
-
-   if(LIBUSB_INCLUDE_DIR AND LIBUSB_LIBRARIES)
-      set(LIBUSB_FOUND TRUE CACHE INTERNAL "libusb-1.0 found")
-      message(STATUS "Found libusb-1.0: ${LIBUSB_INCLUDE_DIR}, ${LIBUSB_LIBRARIES}")
-   else(LIBUSB_INCLUDE_DIR AND LIBUSB_LIBRARIES)
-      set(LIBUSB_FOUND FALSE CACHE INTERNAL "libusb-1.0 found")
-      message(STATUS "libusb-1.0 not found.")
-      message(STATUS "You can install it by 'sudo apt-get install libusb-1.0-0-dev'")
-   endif(LIBUSB_INCLUDE_DIR AND LIBUSB_LIBRARIES)
-
-   mark_as_advanced(LIBUSB_INCLUDE_DIR LIBUSB_LIBRARIES)
-
-endif(NOT LIBUSB_FOUND)
diff --git a/drivers/gr-gn3s/cmake/Modules/GrMiscUtils.cmake b/drivers/gr-gn3s/cmake/Modules/GrMiscUtils.cmake
deleted file mode 100644
index 883ca51..0000000
--- a/drivers/gr-gn3s/cmake/Modules/GrMiscUtils.cmake
+++ /dev/null
@@ -1,347 +0,0 @@
-# Copyright 2010-2011 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio 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 3, or (at your option)
-# any later version.
-#
-# GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-
-if(DEFINED __INCLUDED_GR_MISC_UTILS_CMAKE)
-    return()
-endif()
-set(__INCLUDED_GR_MISC_UTILS_CMAKE TRUE)
-
-########################################################################
-# Set global variable macro.
-# Used for subdirectories to export settings.
-# Example: include and library paths.
-########################################################################
-function(GR_SET_GLOBAL var)
-    set(${var} ${ARGN} CACHE INTERNAL "" FORCE)
-endfunction(GR_SET_GLOBAL)
-
-########################################################################
-# Set the pre-processor definition if the condition is true.
-#  - def the pre-processor definition to set and condition name
-########################################################################
-function(GR_ADD_COND_DEF def)
-    if(${def})
-        add_definitions(-D${def})
-    endif(${def})
-endfunction(GR_ADD_COND_DEF)
-
-########################################################################
-# Check for a header and conditionally set a compile define.
-#  - hdr the relative path to the header file
-#  - def the pre-processor definition to set
-########################################################################
-function(GR_CHECK_HDR_N_DEF hdr def)
-    include(CheckIncludeFileCXX)
-    CHECK_INCLUDE_FILE_CXX(${hdr} ${def})
-    GR_ADD_COND_DEF(${def})
-endfunction(GR_CHECK_HDR_N_DEF)
-
-########################################################################
-# Include subdirectory macro.
-# Sets the CMake directory variables,
-# includes the subdirectory CMakeLists.txt,
-# resets the CMake directory variables.
-#
-# This macro includes subdirectories rather than adding them
-# so that the subdirectory can affect variables in the level above.
-# This provides a work-around for the lack of convenience libraries.
-# This way a subdirectory can append to the list of library sources.
-########################################################################
-macro(GR_INCLUDE_SUBDIRECTORY subdir)
-    #insert the current directories on the front of the list
-    list(INSERT _cmake_source_dirs 0 ${CMAKE_CURRENT_SOURCE_DIR})
-    list(INSERT _cmake_binary_dirs 0 ${CMAKE_CURRENT_BINARY_DIR})
-
-    #set the current directories to the names of the subdirs
-    set(CMAKE_CURRENT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/${subdir})
-    set(CMAKE_CURRENT_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/${subdir})
-
-    #include the subdirectory CMakeLists to run it
-    file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
-    include(${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt)
-
-    #reset the value of the current directories
-    list(GET _cmake_source_dirs 0 CMAKE_CURRENT_SOURCE_DIR)
-    list(GET _cmake_binary_dirs 0 CMAKE_CURRENT_BINARY_DIR)
-
-    #pop the subdir names of the front of the list
-    list(REMOVE_AT _cmake_source_dirs 0)
-    list(REMOVE_AT _cmake_binary_dirs 0)
-endmacro(GR_INCLUDE_SUBDIRECTORY)
-
-########################################################################
-# Check if a compiler flag works and conditionally set a compile define.
-#  - flag the compiler flag to check for
-#  - have the variable to set with result
-########################################################################
-macro(GR_ADD_CXX_COMPILER_FLAG_IF_AVAILABLE flag have)
-    include(CheckCXXCompilerFlag)
-    CHECK_CXX_COMPILER_FLAG(${flag} ${have})
-    if(${have})
-        add_definitions(${flag})
-    endif(${have})
-endmacro(GR_ADD_CXX_COMPILER_FLAG_IF_AVAILABLE)
-
-########################################################################
-# Generates the .la libtool file
-# This appears to generate libtool files that cannot be used by auto*.
-# Usage GR_LIBTOOL(TARGET [target] DESTINATION [dest])
-# Notice: there is not COMPONENT option, these will not get distributed.
-########################################################################
-function(GR_LIBTOOL)
-    if(NOT DEFINED GENERATE_LIBTOOL)
-        set(GENERATE_LIBTOOL OFF) #disabled by default
-    endif()
-
-    if(GENERATE_LIBTOOL)
-        include(CMakeParseArgumentsCopy)
-        CMAKE_PARSE_ARGUMENTS(GR_LIBTOOL "" "TARGET;DESTINATION" "" ${ARGN})
-
-        find_program(LIBTOOL libtool)
-        if(LIBTOOL)
-            include(CMakeMacroLibtoolFile)
-            CREATE_LIBTOOL_FILE(${GR_LIBTOOL_TARGET} /${GR_LIBTOOL_DESTINATION})
-        endif(LIBTOOL)
-    endif(GENERATE_LIBTOOL)
-
-endfunction(GR_LIBTOOL)
-
-########################################################################
-# Do standard things to the library target
-# - set target properties
-# - make install rules
-# Also handle gnuradio custom naming conventions w/ extras mode.
-########################################################################
-function(GR_LIBRARY_FOO target)
-    #parse the arguments for component names
-    include(CMakeParseArgumentsCopy)
-    CMAKE_PARSE_ARGUMENTS(GR_LIBRARY "" "RUNTIME_COMPONENT;DEVEL_COMPONENT" "" ${ARGN})
-
-    #set additional target properties
-    set_target_properties(${target} PROPERTIES SOVERSION ${LIBVER})
-
-    #install the generated files like so...
-    install(TARGETS ${target}
-        LIBRARY DESTINATION ${GR_LIBRARY_DIR} COMPONENT ${GR_LIBRARY_RUNTIME_COMPONENT} # .so/.dylib file
-        ARCHIVE DESTINATION ${GR_LIBRARY_DIR} COMPONENT ${GR_LIBRARY_DEVEL_COMPONENT}   # .lib file
-        RUNTIME DESTINATION ${GR_RUNTIME_DIR} COMPONENT ${GR_LIBRARY_RUNTIME_COMPONENT} # .dll file
-    )
-
-    #extras mode enabled automatically on linux
-    if(NOT DEFINED LIBRARY_EXTRAS)
-        set(LIBRARY_EXTRAS ${LINUX})
-    endif()
-
-    #special extras mode to enable alternative naming conventions
-    if(LIBRARY_EXTRAS)
-
-        #create .la file before changing props
-        GR_LIBTOOL(TARGET ${target} DESTINATION ${GR_LIBRARY_DIR})
-
-        #give the library a special name with ultra-zero soversion
-        set_target_properties(${target} PROPERTIES OUTPUT_NAME ${target}-${LIBVER} SOVERSION "0.0.0")
-        set(target_name lib${target}-${LIBVER}.so.0.0.0)
-
-        #custom command to generate symlinks
-        add_custom_command(
-            TARGET ${target}
-            POST_BUILD
-            COMMAND ${CMAKE_COMMAND} -E create_symlink ${target_name} ${CMAKE_CURRENT_BINARY_DIR}/lib${target}.so
-            COMMAND ${CMAKE_COMMAND} -E create_symlink ${target_name} ${CMAKE_CURRENT_BINARY_DIR}/lib${target}-${LIBVER}.so.0
-            COMMAND ${CMAKE_COMMAND} -E touch ${target_name} #so the symlinks point to something valid so cmake 2.6 will install
-        )
-
-        #and install the extra symlinks
-        install(
-            FILES
-            ${CMAKE_CURRENT_BINARY_DIR}/lib${target}.so
-            ${CMAKE_CURRENT_BINARY_DIR}/lib${target}-${LIBVER}.so.0
-            DESTINATION ${GR_LIBRARY_DIR} COMPONENT ${GR_LIBRARY_RUNTIME_COMPONENT}
-        )
-
-    endif(LIBRARY_EXTRAS)
-endfunction(GR_LIBRARY_FOO)
-
-########################################################################
-# Create a dummy custom command that depends on other targets.
-# Usage:
-#   GR_GEN_TARGET_DEPS(unique_name target_deps <target1> <target2> ...)
-#   ADD_CUSTOM_COMMAND(<the usual args> ${target_deps})
-#
-# Custom command cant depend on targets, but can depend on executables,
-# and executables can depend on targets. So this is the process:
-########################################################################
-function(GR_GEN_TARGET_DEPS name var)
-    file(
-        WRITE ${CMAKE_CURRENT_BINARY_DIR}/${name}.cpp.in
-        "int main(void){return 0;}\n"
-    )
-    execute_process(
-        COMMAND ${CMAKE_COMMAND} -E copy_if_different
-        ${CMAKE_CURRENT_BINARY_DIR}/${name}.cpp.in
-        ${CMAKE_CURRENT_BINARY_DIR}/${name}.cpp
-    )
-    add_executable(${name} ${CMAKE_CURRENT_BINARY_DIR}/${name}.cpp)
-    if(ARGN)
-        add_dependencies(${name} ${ARGN})
-    endif(ARGN)
-
-    if(CMAKE_CROSSCOMPILING)
-        set(${var} "DEPENDS;${name}" PARENT_SCOPE) #cant call command when cross
-    else()
-        set(${var} "DEPENDS;${name};COMMAND;${name}" PARENT_SCOPE)
-    endif()
-endfunction(GR_GEN_TARGET_DEPS)
-
-########################################################################
-# Control use of gr_logger
-# Usage:
-#   GR_LOGGING()
-#
-# Will set ENABLE_GR_LOG to 1 by default.
-# Can manually set with -DENABLE_GR_LOG=0|1
-########################################################################
-function(GR_LOGGING)
-  find_package(Log4cpp)
-
-  OPTION(ENABLE_GR_LOG "Use gr_logger" ON)
-  if(ENABLE_GR_LOG)
-    # If gr_logger is enabled, make it usable
-    add_definitions( -DENABLE_GR_LOG )
-
-    # also test LOG4CPP; if we have it, use this version of the logger
-    # otherwise, default to the stdout/stderr model.
-    if(LOG4CPP_FOUND)
-      SET(HAVE_LOG4CPP True CACHE INTERNAL "" FORCE)
-      add_definitions( -DHAVE_LOG4CPP )
-    else(not LOG4CPP_FOUND)
-      SET(HAVE_LOG4CPP False CACHE INTERNAL "" FORCE)
-      SET(LOG4CPP_INCLUDE_DIRS "" CACHE INTERNAL "" FORCE)
-      SET(LOG4CPP_LIBRARY_DIRS "" CACHE INTERNAL "" FORCE)
-      SET(LOG4CPP_LIBRARIES "" CACHE INTERNAL "" FORCE)
-    endif(LOG4CPP_FOUND)
-
-    SET(ENABLE_GR_LOG ${ENABLE_GR_LOG} CACHE INTERNAL "" FORCE)
-
-  else(ENABLE_GR_LOG)
-    SET(HAVE_LOG4CPP False CACHE INTERNAL "" FORCE)
-    SET(LOG4CPP_INCLUDE_DIRS "" CACHE INTERNAL "" FORCE)
-    SET(LOG4CPP_LIBRARY_DIRS "" CACHE INTERNAL "" FORCE)
-    SET(LOG4CPP_LIBRARIES "" CACHE INTERNAL "" FORCE)
-  endif(ENABLE_GR_LOG)
-
-  message(STATUS "ENABLE_GR_LOG set to ${ENABLE_GR_LOG}.")
-  message(STATUS "HAVE_LOG4CPP set to ${HAVE_LOG4CPP}.")
-  message(STATUS "LOG4CPP_LIBRARIES set to ${LOG4CPP_LIBRARIES}.")
-
-endfunction(GR_LOGGING)
-
-########################################################################
-# Run GRCC to compile .grc files into .py files.
-#
-# Usage: GRCC(filename, directory)
-#    - filenames: List of file name of .grc file
-#    - directory: directory of built .py file - usually in
-#                 ${CMAKE_CURRENT_BINARY_DIR}
-#    - Sets PYFILES: output converted GRC file names to Python files.
-########################################################################
-function(GRCC)
-  # Extract directory from list of args, remove it for the list of filenames.
-  list(GET ARGV -1 directory)
-  list(REMOVE_AT ARGV -1)
-  set(filenames ${ARGV})
-  file(MAKE_DIRECTORY ${directory})
-
-  SET(GRCC_COMMAND ${CMAKE_SOURCE_DIR}/gr-utils/python/grcc)
-
-  # GRCC uses some stuff in grc and gnuradio-runtime, so we force
-  # the known paths here
-  list(APPEND PYTHONPATHS
-    ${CMAKE_SOURCE_DIR}
-    ${CMAKE_SOURCE_DIR}/gnuradio-runtime/python
-    ${CMAKE_SOURCE_DIR}/gnuradio-runtime/lib/swig
-    ${CMAKE_BINARY_DIR}/gnuradio-runtime/lib/swig
-    )
-
-  if(WIN32)
-    #SWIG generates the python library files into a subdirectory.
-    #Therefore, we must append this subdirectory into PYTHONPATH.
-    #Only do this for the python directories matching the following:
-    foreach(pydir ${PYTHONPATHS})
-      get_filename_component(name ${pydir} NAME)
-      if(name MATCHES "^(swig|lib|src)$")
-        list(APPEND PYTHONPATHS ${pydir}/${CMAKE_BUILD_TYPE})
-      endif()
-    endforeach(pydir)
-  endif(WIN32)
-
-  file(TO_NATIVE_PATH "${PYTHONPATHS}" pypath)
-
-  if(UNIX)
-    list(APPEND pypath "$PYTHONPATH")
-    string(REPLACE ";" ":" pypath "${pypath}")
-    set(ENV{PYTHONPATH} ${pypath})
-  endif(UNIX)
-
-  if(WIN32)
-    list(APPEND pypath "%PYTHONPATH%")
-    string(REPLACE ";" "\\;" pypath "${pypath}")
-    #list(APPEND environs "PYTHONPATH=${pypath}")
-    set(ENV{PYTHONPATH} ${pypath})
-  endif(WIN32)
-
-  foreach(f ${filenames})
-    execute_process(
-      COMMAND ${GRCC_COMMAND} -d ${directory} ${f}
-      )
-    string(REPLACE ".grc" ".py" pyfile "${f}")
-    string(REPLACE "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_BINARY_DIR}" pyfile "${pyfile}")
-    list(APPEND pyfiles ${pyfile})
-  endforeach(f)
-
-  set(PYFILES ${pyfiles} PARENT_SCOPE)
-endfunction(GRCC)
-
-########################################################################
-# Check if HAVE_PTHREAD_SETSCHEDPARAM and HAVE_SCHED_SETSCHEDULER
-#  should be defined
-########################################################################
-macro(GR_CHECK_LINUX_SCHED_AVAIL)
-set(CMAKE_REQUIRED_LIBRARIES -lpthread)
-    CHECK_CXX_SOURCE_COMPILES("
-        #include <pthread.h>
-        int main(){
-            pthread_t pthread;
-            pthread_setschedparam(pthread,  0, 0);
-            return 0;
-        } " HAVE_PTHREAD_SETSCHEDPARAM
-    )
-    GR_ADD_COND_DEF(HAVE_PTHREAD_SETSCHEDPARAM)
-    
-    CHECK_CXX_SOURCE_COMPILES("
-        #include <sched.h>
-        int main(){
-            pid_t pid;
-            sched_setscheduler(pid, 0, 0);
-            return 0;
-        } " HAVE_SCHED_SETSCHEDULER
-    )
-    GR_ADD_COND_DEF(HAVE_SCHED_SETSCHEDULER)
-endmacro(GR_CHECK_LINUX_SCHED_AVAIL)
-
diff --git a/drivers/gr-gn3s/cmake/Modules/GrPlatform.cmake b/drivers/gr-gn3s/cmake/Modules/GrPlatform.cmake
deleted file mode 100644
index fbbea5f..0000000
--- a/drivers/gr-gn3s/cmake/Modules/GrPlatform.cmake
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 2011 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio 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 3, or (at your option)
-# any later version.
-#
-# GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-
-if(DEFINED __INCLUDED_GR_PLATFORM_CMAKE)
-    return()
-endif()
-set(__INCLUDED_GR_PLATFORM_CMAKE TRUE)
-
-########################################################################
-# Setup additional defines for OS types
-########################################################################
-if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
-    set(LINUX TRUE)
-endif()
-
-if(NOT CMAKE_CROSSCOMPILING AND LINUX AND EXISTS "/etc/debian_version")
-    set(DEBIAN TRUE)
-endif()
-
-if(NOT CMAKE_CROSSCOMPILING AND LINUX AND EXISTS "/etc/redhat-release")
-    set(REDHAT TRUE)
-endif()
-
-if(NOT CMAKE_CROSSCOMPILING AND LINUX AND EXISTS "/etc/slackware-version")
-    set(SLACKWARE TRUE)
-endif()
-
-########################################################################
-# when the library suffix should be 64 (applies to redhat linux family)
-########################################################################
-if (REDHAT OR SLACKWARE)
-    set(LIB64_CONVENTION TRUE)
-endif()
-
-if(NOT DEFINED LIB_SUFFIX AND LIB64_CONVENTION AND CMAKE_SYSTEM_PROCESSOR MATCHES "64$")
-    set(LIB_SUFFIX 64)
-endif()
-set(LIB_SUFFIX ${LIB_SUFFIX} CACHE STRING "lib directory suffix")
diff --git a/drivers/gr-gn3s/cmake/Modules/GrPython.cmake b/drivers/gr-gn3s/cmake/Modules/GrPython.cmake
deleted file mode 100644
index 395faff..0000000
--- a/drivers/gr-gn3s/cmake/Modules/GrPython.cmake
+++ /dev/null
@@ -1,242 +0,0 @@
-# Copyright 2010-2011 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio 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 3, or (at your option)
-# any later version.
-#
-# GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-
-if(DEFINED __INCLUDED_GR_PYTHON_CMAKE)
-    return()
-endif()
-set(__INCLUDED_GR_PYTHON_CMAKE TRUE)
-
-########################################################################
-# Setup the python interpreter:
-# This allows the user to specify a specific interpreter,
-# or finds the interpreter via the built-in cmake module.
-########################################################################
-#this allows the user to override PYTHON_EXECUTABLE
-if(PYTHON_EXECUTABLE)
-
-    set(PYTHONINTERP_FOUND TRUE)
-
-#otherwise if not set, try to automatically find it
-else(PYTHON_EXECUTABLE)
-
-    #use the built-in find script
-    find_package(PythonInterp 2)
-
-    #and if that fails use the find program routine
-    if(NOT PYTHONINTERP_FOUND)
-        find_program(PYTHON_EXECUTABLE NAMES python python2 python2.7 python2.6 python2.5)
-        if(PYTHON_EXECUTABLE)
-            set(PYTHONINTERP_FOUND TRUE)
-        endif(PYTHON_EXECUTABLE)
-    endif(NOT PYTHONINTERP_FOUND)
-
-endif(PYTHON_EXECUTABLE)
-
-if (CMAKE_CROSSCOMPILING)
-    set(QA_PYTHON_EXECUTABLE "/usr/bin/python")
-else (CMAKE_CROSSCOMPILING)
-    set(QA_PYTHON_EXECUTABLE ${PYTHON_EXECUTABLE})
-endif(CMAKE_CROSSCOMPILING)
-
-#make the path to the executable appear in the cmake gui
-set(PYTHON_EXECUTABLE ${PYTHON_EXECUTABLE} CACHE FILEPATH "python interpreter")
-set(QA_PYTHON_EXECUTABLE ${QA_PYTHON_EXECUTABLE} CACHE FILEPATH "python interpreter for QA tests")
-
-#make sure we can use -B with python (introduced in 2.6)
-if(PYTHON_EXECUTABLE)
-    execute_process(
-        COMMAND ${PYTHON_EXECUTABLE} -B -c ""
-        OUTPUT_QUIET ERROR_QUIET
-        RESULT_VARIABLE PYTHON_HAS_DASH_B_RESULT
-    )
-    if(PYTHON_HAS_DASH_B_RESULT EQUAL 0)
-        set(PYTHON_DASH_B "-B")
-    endif()
-endif(PYTHON_EXECUTABLE)
-
-########################################################################
-# Check for the existence of a python module:
-# - desc a string description of the check
-# - mod the name of the module to import
-# - cmd an additional command to run
-# - have the result variable to set
-########################################################################
-macro(GR_PYTHON_CHECK_MODULE desc mod cmd have)
-    message(STATUS "")
-    message(STATUS "Python checking for ${desc}")
-    execute_process(
-        COMMAND ${PYTHON_EXECUTABLE} -c "
-#########################################
-try:
-    import ${mod}
-    assert ${cmd}
-except ImportError, AssertionError: exit(-1)
-except: pass
-#########################################"
-        RESULT_VARIABLE ${have}
-    )
-    if(${have} EQUAL 0)
-        message(STATUS "Python checking for ${desc} - found")
-        set(${have} TRUE)
-    else(${have} EQUAL 0)
-        message(STATUS "Python checking for ${desc} - not found")
-        set(${have} FALSE)
-    endif(${have} EQUAL 0)
-endmacro(GR_PYTHON_CHECK_MODULE)
-
-########################################################################
-# Sets the python installation directory GR_PYTHON_DIR
-########################################################################
-if(NOT DEFINED GR_PYTHON_DIR)
-execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "
-from distutils import sysconfig
-print sysconfig.get_python_lib(plat_specific=True, prefix='')
-" OUTPUT_VARIABLE GR_PYTHON_DIR OUTPUT_STRIP_TRAILING_WHITESPACE
-)
-endif()
-file(TO_CMAKE_PATH ${GR_PYTHON_DIR} GR_PYTHON_DIR)
-
-########################################################################
-# Create an always-built target with a unique name
-# Usage: GR_UNIQUE_TARGET(<description> <dependencies list>)
-########################################################################
-function(GR_UNIQUE_TARGET desc)
-    file(RELATIVE_PATH reldir ${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR})
-    execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import re, hashlib
-unique = hashlib.md5('${reldir}${ARGN}').hexdigest()[:5]
-print(re.sub('\\W', '_', '${desc} ${reldir} ' + unique))"
-    OUTPUT_VARIABLE _target OUTPUT_STRIP_TRAILING_WHITESPACE)
-    add_custom_target(${_target} ALL DEPENDS ${ARGN})
-endfunction(GR_UNIQUE_TARGET)
-
-########################################################################
-# Install python sources (also builds and installs byte-compiled python)
-########################################################################
-function(GR_PYTHON_INSTALL)
-    include(CMakeParseArgumentsCopy)
-    CMAKE_PARSE_ARGUMENTS(GR_PYTHON_INSTALL "" "DESTINATION;COMPONENT" "FILES;PROGRAMS" ${ARGN})
-
-    ####################################################################
-    if(GR_PYTHON_INSTALL_FILES)
-    ####################################################################
-        install(${ARGN}) #installs regular python files
-
-        #create a list of all generated files
-        unset(pysrcfiles)
-        unset(pycfiles)
-        unset(pyofiles)
-        foreach(pyfile ${GR_PYTHON_INSTALL_FILES})
-            get_filename_component(pyfile ${pyfile} ABSOLUTE)
-            list(APPEND pysrcfiles ${pyfile})
-
-            #determine if this file is in the source or binary directory
-            file(RELATIVE_PATH source_rel_path ${CMAKE_CURRENT_SOURCE_DIR} ${pyfile})
-            string(LENGTH "${source_rel_path}" source_rel_path_len)
-            file(RELATIVE_PATH binary_rel_path ${CMAKE_CURRENT_BINARY_DIR} ${pyfile})
-            string(LENGTH "${binary_rel_path}" binary_rel_path_len)
-
-            #and set the generated path appropriately
-            if(${source_rel_path_len} GREATER ${binary_rel_path_len})
-                set(pygenfile ${CMAKE_CURRENT_BINARY_DIR}/${binary_rel_path})
-            else()
-                set(pygenfile ${CMAKE_CURRENT_BINARY_DIR}/${source_rel_path})
-            endif()
-            list(APPEND pycfiles ${pygenfile}c)
-            list(APPEND pyofiles ${pygenfile}o)
-
-            #ensure generation path exists
-            get_filename_component(pygen_path ${pygenfile} PATH)
-            file(MAKE_DIRECTORY ${pygen_path})
-
-        endforeach(pyfile)
-
-        #the command to generate the pyc files
-        add_custom_command(
-            DEPENDS ${pysrcfiles} OUTPUT ${pycfiles}
-            COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_BINARY_DIR}/python_compile_helper.py ${pysrcfiles} ${pycfiles}
-        )
-
-        #the command to generate the pyo files
-        add_custom_command(
-            DEPENDS ${pysrcfiles} OUTPUT ${pyofiles}
-            COMMAND ${PYTHON_EXECUTABLE} -O ${CMAKE_BINARY_DIR}/python_compile_helper.py ${pysrcfiles} ${pyofiles}
-        )
-
-        #create install rule and add generated files to target list
-        set(python_install_gen_targets ${pycfiles} ${pyofiles})
-        install(FILES ${python_install_gen_targets}
-            DESTINATION ${GR_PYTHON_INSTALL_DESTINATION}
-            COMPONENT ${GR_PYTHON_INSTALL_COMPONENT}
-        )
-
-
-    ####################################################################
-    elseif(GR_PYTHON_INSTALL_PROGRAMS)
-    ####################################################################
-        file(TO_NATIVE_PATH ${PYTHON_EXECUTABLE} pyexe_native)
-
-        if (CMAKE_CROSSCOMPILING)
-           set(pyexe_native "/usr/bin/env python")
-        endif()
-
-        foreach(pyfile ${GR_PYTHON_INSTALL_PROGRAMS})
-            get_filename_component(pyfile_name ${pyfile} NAME)
-            get_filename_component(pyfile ${pyfile} ABSOLUTE)
-            string(REPLACE "${CMAKE_SOURCE_DIR}" "${CMAKE_BINARY_DIR}" pyexefile "${pyfile}.exe")
-            list(APPEND python_install_gen_targets ${pyexefile})
-
-            get_filename_component(pyexefile_path ${pyexefile} PATH)
-            file(MAKE_DIRECTORY ${pyexefile_path})
-
-            add_custom_command(
-                OUTPUT ${pyexefile} DEPENDS ${pyfile}
-                COMMAND ${PYTHON_EXECUTABLE} -c
-                "open('${pyexefile}','w').write('\#!${pyexe_native}\\n'+open('${pyfile}').read())"
-                COMMENT "Shebangin ${pyfile_name}"
-                VERBATIM
-            )
-
-            #on windows, python files need an extension to execute
-            get_filename_component(pyfile_ext ${pyfile} EXT)
-            if(WIN32 AND NOT pyfile_ext)
-                set(pyfile_name "${pyfile_name}.py")
-            endif()
-
-            install(PROGRAMS ${pyexefile} RENAME ${pyfile_name}
-                DESTINATION ${GR_PYTHON_INSTALL_DESTINATION}
-                COMPONENT ${GR_PYTHON_INSTALL_COMPONENT}
-            )
-        endforeach(pyfile)
-
-    endif()
-
-    GR_UNIQUE_TARGET("pygen" ${python_install_gen_targets})
-
-endfunction(GR_PYTHON_INSTALL)
-
-########################################################################
-# Write the python helper script that generates byte code files
-########################################################################
-file(WRITE ${CMAKE_BINARY_DIR}/python_compile_helper.py "
-import sys, py_compile
-files = sys.argv[1:]
-srcs, gens = files[:len(files)/2], files[len(files)/2:]
-for src, gen in zip(srcs, gens):
-    py_compile.compile(file=src, cfile=gen, doraise=True)
-")
diff --git a/drivers/gr-gn3s/cmake/Modules/GrSwig.cmake b/drivers/gr-gn3s/cmake/Modules/GrSwig.cmake
deleted file mode 100644
index c5cbc5f..0000000
--- a/drivers/gr-gn3s/cmake/Modules/GrSwig.cmake
+++ /dev/null
@@ -1,265 +0,0 @@
-# Copyright 2010-2011 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio 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 3, or (at your option)
-# any later version.
-#
-# GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-
-if(DEFINED __INCLUDED_GR_SWIG_CMAKE)
-    return()
-endif()
-set(__INCLUDED_GR_SWIG_CMAKE TRUE)
-
-include(GrPython)
-
-########################################################################
-# Builds a swig documentation file to be generated into python docstrings
-# Usage: GR_SWIG_MAKE_DOCS(output_file input_path input_path....)
-#
-# Set the following variable to specify extra dependent targets:
-#   - GR_SWIG_DOCS_SOURCE_DEPS
-#   - GR_SWIG_DOCS_TARGET_DEPS
-########################################################################
-function(GR_SWIG_MAKE_DOCS output_file)
-    if(ENABLE_DOXYGEN)
-
-        #setup the input files variable list, quote formated
-        set(input_files)
-        unset(INPUT_PATHS)
-        foreach(input_path ${ARGN})
-            if(IS_DIRECTORY ${input_path}) #when input path is a directory
-                file(GLOB input_path_h_files ${input_path}/*.h)
-            else() #otherwise its just a file, no glob
-                set(input_path_h_files ${input_path})
-            endif()
-            list(APPEND input_files ${input_path_h_files})
-            set(INPUT_PATHS "${INPUT_PATHS} \"${input_path}\"")
-        endforeach(input_path)
-
-        #determine the output directory
-        get_filename_component(name ${output_file} NAME_WE)
-        get_filename_component(OUTPUT_DIRECTORY ${output_file} PATH)
-        set(OUTPUT_DIRECTORY ${OUTPUT_DIRECTORY}/${name}_swig_docs)
-        make_directory(${OUTPUT_DIRECTORY})
-
-        #generate the Doxyfile used by doxygen
-        configure_file(
-            ${CMAKE_SOURCE_DIR}/docs/doxygen/Doxyfile.swig_doc.in
-            ${OUTPUT_DIRECTORY}/Doxyfile
-        @ONLY)
-
-        #Create a dummy custom command that depends on other targets
-        include(GrMiscUtils)
-        GR_GEN_TARGET_DEPS(_${name}_tag tag_deps ${GR_SWIG_DOCS_TARGET_DEPS})
-
-        #call doxygen on the Doxyfile + input headers
-        add_custom_command(
-            OUTPUT ${OUTPUT_DIRECTORY}/xml/index.xml
-            DEPENDS ${input_files} ${GR_SWIG_DOCS_SOURCE_DEPS} ${tag_deps}
-            COMMAND ${DOXYGEN_EXECUTABLE} ${OUTPUT_DIRECTORY}/Doxyfile
-            COMMENT "Generating doxygen xml for ${name} docs"
-        )
-
-        #call the swig_doc script on the xml files
-        add_custom_command(
-            OUTPUT ${output_file}
-            DEPENDS ${input_files} ${stamp-file} ${OUTPUT_DIRECTORY}/xml/index.xml
-            COMMAND ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B}
-                ${CMAKE_SOURCE_DIR}/docs/doxygen/swig_doc.py
-                ${OUTPUT_DIRECTORY}/xml
-                ${output_file}
-            COMMENT "Generating python docstrings for ${name}"
-            WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/docs/doxygen
-        )
-
-    else(ENABLE_DOXYGEN)
-        file(WRITE ${output_file} "\n") #no doxygen -> empty file
-    endif(ENABLE_DOXYGEN)
-endfunction(GR_SWIG_MAKE_DOCS)
-
-########################################################################
-# Build a swig target for the common gnuradio use case. Usage:
-# GR_SWIG_MAKE(target ifile ifile ifile...)
-#
-# Set the following variables before calling:
-#   - GR_SWIG_FLAGS
-#   - GR_SWIG_INCLUDE_DIRS
-#   - GR_SWIG_LIBRARIES
-#   - GR_SWIG_SOURCE_DEPS
-#   - GR_SWIG_TARGET_DEPS
-#   - GR_SWIG_DOC_FILE
-#   - GR_SWIG_DOC_DIRS
-########################################################################
-macro(GR_SWIG_MAKE name)
-    set(ifiles ${ARGN})
-
-    # Take care of a SWIG < 3.0 bug with handling std::vector<size_t>,
-    # by mapping to the correct sized type on the runtime system, one
-    # of "unsigned int", "unsigned long", or "unsigned long long".
-    # Compare the sizeof(size_t) with the sizeof the other types, and
-    # pick the first one in the list with the same sizeof. The logic
-    # in gnuradio-runtime/swig/gr_types.i handles the rest. It is
-    # probably not necessary to do this assignment all of the time,
-    # but it's easier to do it this way than to figure out the
-    # conditions when it is necessary -- and doing it this way won't
-    # hurt.  This bug seems to have been fixed with SWIG >= 3.0, and
-    # mostly happens when not doing a native build (e.g., on Mac OS X
-    # when using a 64-bit CPU but building for 32-bit).
-
-    if(SWIG_VERSION VERSION_LESS "3.0.0")
-        include(CheckTypeSize)
-        check_type_size("size_t" SIZEOF_SIZE_T)
-        check_type_size("unsigned int" SIZEOF_UINT)
-        check_type_size("unsigned long" SIZEOF_UL)
-        check_type_size("unsigned long long" SIZEOF_ULL)
-
-        if(${SIZEOF_SIZE_T} EQUAL ${SIZEOF_UINT})
-            list(APPEND GR_SWIG_FLAGS -DSIZE_T_UINT)
-        elseif(${SIZEOF_SIZE_T} EQUAL ${SIZEOF_UL})
-            list(APPEND GR_SWIG_FLAGS -DSIZE_T_UL)
-        elseif(${SIZEOF_SIZE_T} EQUAL ${SIZEOF_ULL})
-            list(APPEND GR_SWIG_FLAGS -DSIZE_T_ULL)
-        else()
-            message(FATAL_ERROR "GrSwig: Unable to find replace for std::vector<size_t>; this should never happen!")
-        endif()
-    endif()
-
-    #do swig doc generation if specified
-    if(GR_SWIG_DOC_FILE)
-        set(GR_SWIG_DOCS_SOURCE_DEPS ${GR_SWIG_SOURCE_DEPS})
-        list(APPEND GR_SWIG_DOCS_TARGET_DEPS ${GR_SWIG_TARGET_DEPS})
-        GR_SWIG_MAKE_DOCS(${GR_SWIG_DOC_FILE} ${GR_SWIG_DOC_DIRS})
-        add_custom_target(${name}_swig_doc DEPENDS ${GR_SWIG_DOC_FILE})
-        list(APPEND GR_SWIG_TARGET_DEPS ${name}_swig_doc ${GR_RUNTIME_SWIG_DOC_FILE})
-    endif()
-
-    #append additional include directories
-    find_package(PythonLibs 2)
-    list(APPEND GR_SWIG_INCLUDE_DIRS ${PYTHON_INCLUDE_PATH}) #deprecated name (now dirs)
-    list(APPEND GR_SWIG_INCLUDE_DIRS ${PYTHON_INCLUDE_DIRS})
-
-    #prepend local swig directories
-    list(INSERT GR_SWIG_INCLUDE_DIRS 0 ${CMAKE_CURRENT_SOURCE_DIR})
-    list(INSERT GR_SWIG_INCLUDE_DIRS 0 ${CMAKE_CURRENT_BINARY_DIR})
-
-    #determine include dependencies for swig file
-    execute_process(
-        COMMAND ${PYTHON_EXECUTABLE}
-            ${CMAKE_BINARY_DIR}/get_swig_deps.py
-            "${ifiles}" "${GR_SWIG_INCLUDE_DIRS}"
-        OUTPUT_STRIP_TRAILING_WHITESPACE
-        OUTPUT_VARIABLE SWIG_MODULE_${name}_EXTRA_DEPS
-        WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
-    )
-
-    #Create a dummy custom command that depends on other targets
-    include(GrMiscUtils)
-    GR_GEN_TARGET_DEPS(_${name}_swig_tag tag_deps ${GR_SWIG_TARGET_DEPS})
-    set(tag_file ${CMAKE_CURRENT_BINARY_DIR}/${name}.tag)
-    add_custom_command(
-        OUTPUT ${tag_file}
-        DEPENDS ${GR_SWIG_SOURCE_DEPS} ${tag_deps}
-        COMMAND ${CMAKE_COMMAND} -E touch ${tag_file}
-    )
-
-    #append the specified include directories
-    include_directories(${GR_SWIG_INCLUDE_DIRS})
-    list(APPEND SWIG_MODULE_${name}_EXTRA_DEPS ${tag_file})
-
-    #setup the swig flags with flags and include directories
-    set(CMAKE_SWIG_FLAGS -fvirtual -modern -keyword -w511 -module ${name} ${GR_SWIG_FLAGS})
-    foreach(dir ${GR_SWIG_INCLUDE_DIRS})
-        list(APPEND CMAKE_SWIG_FLAGS "-I${dir}")
-    endforeach(dir)
-
-    #set the C++ property on the swig .i file so it builds
-    set_source_files_properties(${ifiles} PROPERTIES CPLUSPLUS ON)
-
-    #setup the actual swig library target to be built
-    include(UseSWIG)
-    SWIG_ADD_MODULE(${name} python ${ifiles})
-    SWIG_LINK_LIBRARIES(${name} ${PYTHON_LIBRARIES} ${GR_SWIG_LIBRARIES})
-    if(${name} STREQUAL "runtime_swig")
-        SET_TARGET_PROPERTIES(${SWIG_MODULE_runtime_swig_REAL_NAME} PROPERTIES DEFINE_SYMBOL "gnuradio_runtime_EXPORTS")
-    endif(${name} STREQUAL "runtime_swig")
-
-endmacro(GR_SWIG_MAKE)
-
-########################################################################
-# Install swig targets generated by GR_SWIG_MAKE. Usage:
-# GR_SWIG_INSTALL(
-#   TARGETS target target target...
-#   [DESTINATION destination]
-#   [COMPONENT component]
-# )
-########################################################################
-macro(GR_SWIG_INSTALL)
-
-    include(CMakeParseArgumentsCopy)
-    CMAKE_PARSE_ARGUMENTS(GR_SWIG_INSTALL "" "DESTINATION;COMPONENT" "TARGETS" ${ARGN})
-
-    foreach(name ${GR_SWIG_INSTALL_TARGETS})
-        install(TARGETS ${SWIG_MODULE_${name}_REAL_NAME}
-            DESTINATION ${GR_SWIG_INSTALL_DESTINATION}
-            COMPONENT ${GR_SWIG_INSTALL_COMPONENT}
-        )
-
-        include(GrPython)
-        GR_PYTHON_INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${name}.py
-            DESTINATION ${GR_SWIG_INSTALL_DESTINATION}
-            COMPONENT ${GR_SWIG_INSTALL_COMPONENT}
-        )
-
-        GR_LIBTOOL(
-            TARGET ${SWIG_MODULE_${name}_REAL_NAME}
-            DESTINATION ${GR_SWIG_INSTALL_DESTINATION}
-        )
-
-    endforeach(name)
-
-endmacro(GR_SWIG_INSTALL)
-
-########################################################################
-# Generate a python file that can determine swig dependencies.
-# Used by the make macro above to determine extra dependencies.
-# When you build C++, CMake figures out the header dependencies.
-# This code essentially performs that logic for swig includes.
-########################################################################
-file(WRITE ${CMAKE_BINARY_DIR}/get_swig_deps.py "
-import os, sys, re
-i_include_matcher = re.compile('%(include|import)\\s*[<|\"](.*)[>|\"]')
-h_include_matcher = re.compile('#(include)\\s*[<|\"](.*)[>|\"]')
-include_dirs = sys.argv[2].split(';')
-def get_swig_incs(file_path):
-    if file_path.endswith('.i'): matcher = i_include_matcher
-    else: matcher = h_include_matcher
-    file_contents = open(file_path, 'r').read()
-    return matcher.findall(file_contents, re.MULTILINE)
-def get_swig_deps(file_path, level):
-    deps = [file_path]
-    if level == 0: return deps
-    for keyword, inc_file in get_swig_incs(file_path):
-        for inc_dir in include_dirs:
-            inc_path = os.path.join(inc_dir, inc_file)
-            if not os.path.exists(inc_path): continue
-            deps.extend(get_swig_deps(inc_path, level-1))
-            break #found, we dont search in lower prio inc dirs
-    return deps
-if __name__ == '__main__':
-    ifiles = sys.argv[1].split(';')
-    deps = sum([get_swig_deps(ifile, 3) for ifile in ifiles], [])
-    #sys.stderr.write(';'.join(set(deps)) + '\\n\\n')
-    print(';'.join(set(deps)))
-")
diff --git a/drivers/gr-gn3s/cmake/Modules/GrTest.cmake b/drivers/gr-gn3s/cmake/Modules/GrTest.cmake
deleted file mode 100644
index ff78ed2..0000000
--- a/drivers/gr-gn3s/cmake/Modules/GrTest.cmake
+++ /dev/null
@@ -1,144 +0,0 @@
-# Copyright 2010-2011 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio 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 3, or (at your option)
-# any later version.
-#
-# GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-
-if(DEFINED __INCLUDED_GR_TEST_CMAKE)
-    return()
-endif()
-set(__INCLUDED_GR_TEST_CMAKE TRUE)
-
-########################################################################
-# Add a unit test and setup the environment for a unit test.
-# Takes the same arguments as the ADD_TEST function.
-#
-# Before calling set the following variables:
-# GR_TEST_TARGET_DEPS  - built targets for the library path
-# GR_TEST_LIBRARY_DIRS - directories for the library path
-# GR_TEST_PYTHON_DIRS  - directories for the python path
-# GR_TEST_ENVIRONS  - other environment key/value pairs
-########################################################################
-function(GR_ADD_TEST test_name)
-
-        #Ensure that the build exe also appears in the PATH.
-        list(APPEND GR_TEST_TARGET_DEPS ${ARGN})
-
-        #In the land of windows, all libraries must be in the PATH.
-        #Since the dependent libraries are not yet installed,
-        #we must manually set them in the PATH to run tests.
-        #The following appends the path of a target dependency.
-        foreach(target ${GR_TEST_TARGET_DEPS})
-            get_target_property(location ${target} LOCATION)
-            if(location)
-                get_filename_component(path ${location} PATH)
-                string(REGEX REPLACE "\\$\\(.*\\)" ${CMAKE_BUILD_TYPE} path ${path})
-                list(APPEND GR_TEST_LIBRARY_DIRS ${path})
-            endif(location)
-        endforeach(target)
-
-    if(WIN32)
-        #SWIG generates the python library files into a subdirectory.
-        #Therefore, we must append this subdirectory into PYTHONPATH.
-        #Only do this for the python directories matching the following:
-        foreach(pydir ${GR_TEST_PYTHON_DIRS})
-            get_filename_component(name ${pydir} NAME)
-            if(name MATCHES "^(swig|lib|src)$")
-                list(APPEND GR_TEST_PYTHON_DIRS ${pydir}/${CMAKE_BUILD_TYPE})
-            endif()
-        endforeach(pydir)
-    endif(WIN32)
-
-    file(TO_NATIVE_PATH ${CMAKE_CURRENT_SOURCE_DIR} srcdir)
-    file(TO_NATIVE_PATH "${GR_TEST_LIBRARY_DIRS}" libpath) #ok to use on dir list?
-    file(TO_NATIVE_PATH "${GR_TEST_PYTHON_DIRS}" pypath) #ok to use on dir list?
-
-    set(environs "VOLK_GENERIC=1" "GR_DONT_LOAD_PREFS=1" "srcdir=${srcdir}"
-        "GR_CONF_CONTROLPORT_ON=False")
-    list(APPEND environs ${GR_TEST_ENVIRONS})
-
-    #http://www.cmake.org/pipermail/cmake/2009-May/029464.html
-    #Replaced this add test + set environs code with the shell script generation.
-    #Its nicer to be able to manually run the shell script to diagnose problems.
-    #ADD_TEST(${ARGV})
-    #SET_TESTS_PROPERTIES(${test_name} PROPERTIES ENVIRONMENT "${environs}")
-
-    if(UNIX)
-        set(LD_PATH_VAR "LD_LIBRARY_PATH")
-        if(APPLE)
-            set(LD_PATH_VAR "DYLD_LIBRARY_PATH")
-        endif()
-
-        set(binpath "${CMAKE_CURRENT_BINARY_DIR}:$PATH")
-        list(APPEND libpath "$${LD_PATH_VAR}")
-        list(APPEND pypath "$PYTHONPATH")
-
-        #replace list separator with the path separator
-        string(REPLACE ";" ":" libpath "${libpath}")
-        string(REPLACE ";" ":" pypath "${pypath}")
-        list(APPEND environs "PATH=${binpath}" "${LD_PATH_VAR}=${libpath}" "PYTHONPATH=${pypath}")
-
-        #generate a bat file that sets the environment and runs the test
-	if (CMAKE_CROSSCOMPILING)
-                set(SHELL "/bin/sh")
-        else(CMAKE_CROSSCOMPILING)
-                find_program(SHELL sh)
-        endif(CMAKE_CROSSCOMPILING)
-        set(sh_file ${CMAKE_CURRENT_BINARY_DIR}/${test_name}_test.sh)
-        file(WRITE ${sh_file} "#!${SHELL}\n")
-        #each line sets an environment variable
-        foreach(environ ${environs})
-            file(APPEND ${sh_file} "export ${environ}\n")
-        endforeach(environ)
-        #load the command to run with its arguments
-        foreach(arg ${ARGN})
-            file(APPEND ${sh_file} "${arg} ")
-        endforeach(arg)
-        file(APPEND ${sh_file} "\n")
-
-        #make the shell file executable
-        execute_process(COMMAND chmod +x ${sh_file})
-
-        add_test(${test_name} ${SHELL} ${sh_file})
-
-    endif(UNIX)
-
-    if(WIN32)
-        list(APPEND libpath ${DLL_PATHS} "%PATH%")
-        list(APPEND pypath "%PYTHONPATH%")
-
-        #replace list separator with the path separator (escaped)
-        string(REPLACE ";" "\\;" libpath "${libpath}")
-        string(REPLACE ";" "\\;" pypath "${pypath}")
-        list(APPEND environs "PATH=${libpath}" "PYTHONPATH=${pypath}")
-
-        #generate a bat file that sets the environment and runs the test
-        set(bat_file ${CMAKE_CURRENT_BINARY_DIR}/${test_name}_test.bat)
-        file(WRITE ${bat_file} "@echo off\n")
-        #each line sets an environment variable
-        foreach(environ ${environs})
-            file(APPEND ${bat_file} "SET ${environ}\n")
-        endforeach(environ)
-        #load the command to run with its arguments
-        foreach(arg ${ARGN})
-            file(APPEND ${bat_file} "${arg} ")
-        endforeach(arg)
-        file(APPEND ${bat_file} "\n")
-
-        add_test(${test_name} ${bat_file})
-    endif(WIN32)
-
-endfunction(GR_ADD_TEST)
diff --git a/drivers/gr-gn3s/cmake/cmake_uninstall.cmake.in b/drivers/gr-gn3s/cmake/cmake_uninstall.cmake.in
deleted file mode 100644
index 9ae1ae4..0000000
--- a/drivers/gr-gn3s/cmake/cmake_uninstall.cmake.in
+++ /dev/null
@@ -1,32 +0,0 @@
-# http://www.vtk.org/Wiki/CMake_FAQ#Can_I_do_.22make_uninstall.22_with_CMake.3F
-
-IF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
-  MESSAGE(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"")
-ENDIF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
-
-FILE(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files)
-STRING(REGEX REPLACE "\n" ";" files "${files}")
-FOREACH(file ${files})
-  MESSAGE(STATUS "Uninstalling \"$ENV{DESTDIR}${file}\"")
-  IF(EXISTS "$ENV{DESTDIR}${file}")
-    EXEC_PROGRAM(
-      "@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\""
-      OUTPUT_VARIABLE rm_out
-      RETURN_VALUE rm_retval
-      )
-    IF(NOT "${rm_retval}" STREQUAL 0)
-      MESSAGE(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"")
-    ENDIF(NOT "${rm_retval}" STREQUAL 0)
-  ELSEIF(IS_SYMLINK "$ENV{DESTDIR}${file}")
-    EXEC_PROGRAM(
-      "@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\""
-      OUTPUT_VARIABLE rm_out
-      RETURN_VALUE rm_retval
-      )
-    IF(NOT "${rm_retval}" STREQUAL 0)
-      MESSAGE(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"")
-    ENDIF(NOT "${rm_retval}" STREQUAL 0)
-  ELSE(EXISTS "$ENV{DESTDIR}${file}")
-    MESSAGE(STATUS "File \"$ENV{DESTDIR}${file}\" does not exist.")
-  ENDIF(EXISTS "$ENV{DESTDIR}${file}")
-ENDFOREACH(file)
diff --git a/drivers/gr-gn3s/docs/CMakeLists.txt b/drivers/gr-gn3s/docs/CMakeLists.txt
deleted file mode 100644
index f16fbf6..0000000
--- a/drivers/gr-gn3s/docs/CMakeLists.txt
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2011 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio 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 3, or (at your option)
-# any later version.
-#
-# GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-
-########################################################################
-# Setup dependencies
-########################################################################
-find_package(Doxygen)
-
-########################################################################
-# Begin conditional configuration
-########################################################################
-if(ENABLE_DOXYGEN)
-
-########################################################################
-# Add subdirectories
-########################################################################
-add_subdirectory(doxygen)
-
-endif(ENABLE_DOXYGEN)
diff --git a/drivers/gr-gn3s/docs/doxygen/CMakeLists.txt b/drivers/gr-gn3s/docs/doxygen/CMakeLists.txt
deleted file mode 100644
index 1b44799..0000000
--- a/drivers/gr-gn3s/docs/doxygen/CMakeLists.txt
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 2011 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio 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 3, or (at your option)
-# any later version.
-#
-# GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-
-########################################################################
-# Create the doxygen configuration file
-########################################################################
-file(TO_NATIVE_PATH ${CMAKE_SOURCE_DIR} top_srcdir)
-file(TO_NATIVE_PATH ${CMAKE_BINARY_DIR} top_builddir)
-file(TO_NATIVE_PATH ${CMAKE_SOURCE_DIR} abs_top_srcdir)
-file(TO_NATIVE_PATH ${CMAKE_BINARY_DIR} abs_top_builddir)
-
-set(HAVE_DOT ${DOXYGEN_DOT_FOUND})
-set(enable_html_docs YES)
-set(enable_latex_docs NO)
-set(enable_xml_docs YES)
-
-configure_file(
-    ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in
-    ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
- at ONLY)
-
-set(BUILT_DIRS ${CMAKE_CURRENT_BINARY_DIR}/xml ${CMAKE_CURRENT_BINARY_DIR}/html)
-
-########################################################################
-# Make and install doxygen docs
-########################################################################
-add_custom_command(
-    OUTPUT ${BUILT_DIRS}
-    COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
-    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
-    COMMENT "Generating documentation with doxygen"
-)
-
-add_custom_target(doxygen_target ALL DEPENDS ${BUILT_DIRS})
-
-install(DIRECTORY ${BUILT_DIRS} DESTINATION ${GR_PKG_DOC_DIR})
diff --git a/drivers/gr-gn3s/docs/doxygen/Doxyfile.in b/drivers/gr-gn3s/docs/doxygen/Doxyfile.in
deleted file mode 100644
index cb6a913..0000000
--- a/drivers/gr-gn3s/docs/doxygen/Doxyfile.in
+++ /dev/null
@@ -1,1504 +0,0 @@
-# Doxyfile 1.5.7.1
-
-# This file describes the settings to be used by the documentation system
-# doxygen (www.doxygen.org) for a project
-#
-# All text after a hash (#) is considered a comment and will be ignored
-# The format is:
-#       TAG = value [value, ...]
-# For lists items can also be appended using:
-#       TAG += value [value, ...]
-# Values that contain spaces should be placed between quotes (" ")
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-
-# This tag specifies the encoding used for all characters in the config file
-# that follow. The default is UTF-8 which is also the encoding used for all
-# text before the first occurrence of this tag. Doxygen uses libiconv (or the
-# iconv built into libc) for the transcoding. See
-# http://www.gnu.org/software/libiconv for the list of possible encodings.
-
-DOXYFILE_ENCODING      = UTF-8
-
-# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
-# by quotes) that should identify the project.
-
-PROJECT_NAME           = "GNU Radio's HOWTO Package"
-
-# The PROJECT_NUMBER tag can be used to enter a project or revision number.
-# This could be handy for archiving the generated documentation or
-# if some version control system is used.
-
-PROJECT_NUMBER         =
-
-# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
-# base path where the generated documentation will be put.
-# If a relative path is entered, it will be relative to the location
-# where doxygen was started. If left blank the current directory will be used.
-
-OUTPUT_DIRECTORY       =
-
-# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
-# 4096 sub-directories (in 2 levels) under the output directory of each output
-# format and will distribute the generated files over these directories.
-# Enabling this option can be useful when feeding doxygen a huge amount of
-# source files, where putting all generated files in the same directory would
-# otherwise cause performance problems for the file system.
-
-CREATE_SUBDIRS         = NO
-
-# The OUTPUT_LANGUAGE tag is used to specify the language in which all
-# documentation generated by doxygen is written. Doxygen will use this
-# information to generate all constant output in the proper language.
-# The default language is English, other supported languages are:
-# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
-# Croatian, Czech, Danish, Dutch, Farsi, Finnish, French, German, Greek,
-# Hungarian, Italian, Japanese, Japanese-en (Japanese with English messages),
-# Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, Polish,
-# Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, Slovene,
-# Spanish, Swedish, and Ukrainian.
-
-OUTPUT_LANGUAGE        = English
-
-# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
-# include brief member descriptions after the members that are listed in
-# the file and class documentation (similar to JavaDoc).
-# Set to NO to disable this.
-
-BRIEF_MEMBER_DESC      = YES
-
-# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
-# the brief description of a member or function before the detailed description.
-# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
-# brief descriptions will be completely suppressed.
-
-REPEAT_BRIEF           = YES
-
-# This tag implements a quasi-intelligent brief description abbreviator
-# that is used to form the text in various listings. Each string
-# in this list, if found as the leading text of the brief description, will be
-# stripped from the text and the result after processing the whole list, is
-# used as the annotated text. Otherwise, the brief description is used as-is.
-# If left blank, the following values are used ("$name" is automatically
-# replaced with the name of the entity): "The $name class" "The $name widget"
-# "The $name file" "is" "provides" "specifies" "contains"
-# "represents" "a" "an" "the"
-
-ABBREVIATE_BRIEF       =
-
-# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
-# Doxygen will generate a detailed section even if there is only a brief
-# description.
-
-ALWAYS_DETAILED_SEC    = YES
-
-# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
-# inherited members of a class in the documentation of that class as if those
-# members were ordinary class members. Constructors, destructors and assignment
-# operators of the base classes will not be shown.
-
-INLINE_INHERITED_MEMB  = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
-# path before files name in the file list and in the header files. If set
-# to NO the shortest path that makes the file name unique will be used.
-
-FULL_PATH_NAMES        = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
-# can be used to strip a user-defined part of the path. Stripping is
-# only done if one of the specified strings matches the left-hand part of
-# the path. The tag can be used to show relative paths in the file list.
-# If left blank the directory from which doxygen is run is used as the
-# path to strip.
-
-STRIP_FROM_PATH        =
-
-# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
-# the path mentioned in the documentation of a class, which tells
-# the reader which header file to include in order to use a class.
-# If left blank only the name of the header file containing the class
-# definition is used. Otherwise one should specify the include paths that
-# are normally passed to the compiler using the -I flag.
-
-STRIP_FROM_INC_PATH    =
-
-# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
-# (but less readable) file names. This can be useful is your file systems
-# doesn't support long names like on DOS, Mac, or CD-ROM.
-
-SHORT_NAMES            = NO
-
-# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
-# will interpret the first line (until the first dot) of a JavaDoc-style
-# comment as the brief description. If set to NO, the JavaDoc
-# comments will behave just like regular Qt-style comments
-# (thus requiring an explicit @brief command for a brief description.)
-
-JAVADOC_AUTOBRIEF      = NO
-
-# If the QT_AUTOBRIEF tag is set to YES then Doxygen will
-# interpret the first line (until the first dot) of a Qt-style
-# comment as the brief description. If set to NO, the comments
-# will behave just like regular Qt-style comments (thus requiring
-# an explicit \brief command for a brief description.)
-
-QT_AUTOBRIEF           = NO
-
-# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
-# treat a multi-line C++ special comment block (i.e. a block of //! or ///
-# comments) as a brief description. This used to be the default behaviour.
-# The new default is to treat a multi-line C++ comment block as a detailed
-# description. Set this tag to YES if you prefer the old behaviour instead.
-
-MULTILINE_CPP_IS_BRIEF = YES
-
-# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
-# member inherits the documentation from any documented member that it
-# re-implements.
-
-INHERIT_DOCS           = YES
-
-# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
-# a new page for each member. If set to NO, the documentation of a member will
-# be part of the file/class/namespace that contains it.
-
-SEPARATE_MEMBER_PAGES  = NO
-
-# The TAB_SIZE tag can be used to set the number of spaces in a tab.
-# Doxygen uses this value to replace tabs by spaces in code fragments.
-
-TAB_SIZE               = 8
-
-# This tag can be used to specify a number of aliases that acts
-# as commands in the documentation. An alias has the form "name=value".
-# For example adding "sideeffect=\par Side Effects:\n" will allow you to
-# put the command \sideeffect (or @sideeffect) in the documentation, which
-# will result in a user-defined paragraph with heading "Side Effects:".
-# You can put \n's in the value part of an alias to insert newlines.
-
-ALIASES                =
-
-# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
-# sources only. Doxygen will then generate output that is more tailored for C.
-# For instance, some of the names that are used will be different. The list
-# of all members will be omitted, etc.
-
-OPTIMIZE_OUTPUT_FOR_C  = NO
-
-# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
-# sources only. Doxygen will then generate output that is more tailored for
-# Java. For instance, namespaces will be presented as packages, qualified
-# scopes will look different, etc.
-
-OPTIMIZE_OUTPUT_JAVA   = NO
-
-# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
-# sources only. Doxygen will then generate output that is more tailored for
-# Fortran.
-
-OPTIMIZE_FOR_FORTRAN   = NO
-
-# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
-# sources. Doxygen will then generate output that is tailored for
-# VHDL.
-
-OPTIMIZE_OUTPUT_VHDL   = NO
-
-# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
-# to include (a tag file for) the STL sources as input, then you should
-# set this tag to YES in order to let doxygen match functions declarations and
-# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
-# func(std::string) {}). This also make the inheritance and collaboration
-# diagrams that involve STL classes more complete and accurate.
-
-BUILTIN_STL_SUPPORT    = YES
-
-# If you use Microsoft's C++/CLI language, you should set this option to YES to
-# enable parsing support.
-
-CPP_CLI_SUPPORT        = NO
-
-# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only.
-# Doxygen will parse them like normal C++ but will assume all classes use public
-# instead of private inheritance when no explicit protection keyword is present.
-
-SIP_SUPPORT            = NO
-
-# For Microsoft's IDL there are propget and propput attributes to indicate getter
-# and setter methods for a property. Setting this option to YES (the default)
-# will make doxygen to replace the get and set methods by a property in the
-# documentation. This will only work if the methods are indeed getting or
-# setting a simple type. If this is not the case, or you want to show the
-# methods anyway, you should set this option to NO.
-
-IDL_PROPERTY_SUPPORT   = YES
-
-# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
-# tag is set to YES, then doxygen will reuse the documentation of the first
-# member in the group (if any) for the other members of the group. By default
-# all members of a group must be documented explicitly.
-
-DISTRIBUTE_GROUP_DOC   = NO
-
-# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
-# the same type (for instance a group of public functions) to be put as a
-# subgroup of that type (e.g. under the Public Functions section). Set it to
-# NO to prevent subgrouping. Alternatively, this can be done per class using
-# the \nosubgrouping command.
-
-SUBGROUPING            = YES
-
-# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
-# is documented as struct, union, or enum with the name of the typedef. So
-# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
-# with name TypeT. When disabled the typedef will appear as a member of a file,
-# namespace, or class. And the struct will be named TypeS. This can typically
-# be useful for C code in case the coding convention dictates that all compound
-# types are typedef'ed and only the typedef is referenced, never the tag name.
-
-TYPEDEF_HIDES_STRUCT   = NO
-
-# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to
-# determine which symbols to keep in memory and which to flush to disk.
-# When the cache is full, less often used symbols will be written to disk.
-# For small to medium size projects (<1000 input files) the default value is
-# probably good enough. For larger projects a too small cache size can cause
-# doxygen to be busy swapping symbols to and from disk most of the time
-# causing a significant performance penality.
-# If the system has enough physical memory increasing the cache will improve the
-# performance by keeping more symbols in memory. Note that the value works on
-# a logarithmic scale so increasing the size by one will rougly double the
-# memory usage. The cache size is given by this formula:
-# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
-# corresponding to a cache size of 2^16 = 65536 symbols
-
-SYMBOL_CACHE_SIZE      = 4
-
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-
-# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
-# documentation are documented, even if no documentation was available.
-# Private class members and static file members will be hidden unless
-# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
-
-EXTRACT_ALL            = YES
-
-# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
-# will be included in the documentation.
-
-EXTRACT_PRIVATE        = NO
-
-# If the EXTRACT_STATIC tag is set to YES all static members of a file
-# will be included in the documentation.
-
-EXTRACT_STATIC         = YES
-
-# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
-# defined locally in source files will be included in the documentation.
-# If set to NO only classes defined in header files are included.
-
-EXTRACT_LOCAL_CLASSES  = YES
-
-# This flag is only useful for Objective-C code. When set to YES local
-# methods, which are defined in the implementation section but not in
-# the interface are included in the documentation.
-# If set to NO (the default) only methods in the interface are included.
-
-EXTRACT_LOCAL_METHODS  = NO
-
-# If this flag is set to YES, the members of anonymous namespaces will be
-# extracted and appear in the documentation as a namespace called
-# 'anonymous_namespace{file}', where file will be replaced with the base
-# name of the file that contains the anonymous namespace. By default
-# anonymous namespace are hidden.
-
-EXTRACT_ANON_NSPACES   = NO
-
-# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
-# undocumented members of documented classes, files or namespaces.
-# If set to NO (the default) these members will be included in the
-# various overviews, but no documentation section is generated.
-# This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_MEMBERS     = NO
-
-# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
-# undocumented classes that are normally visible in the class hierarchy.
-# If set to NO (the default) these classes will be included in the various
-# overviews. This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_CLASSES     = NO
-
-# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
-# friend (class|struct|union) declarations.
-# If set to NO (the default) these declarations will be included in the
-# documentation.
-
-HIDE_FRIEND_COMPOUNDS  = NO
-
-# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
-# documentation blocks found inside the body of a function.
-# If set to NO (the default) these blocks will be appended to the
-# function's detailed documentation block.
-
-HIDE_IN_BODY_DOCS      = NO
-
-# The INTERNAL_DOCS tag determines if documentation
-# that is typed after a \internal command is included. If the tag is set
-# to NO (the default) then the documentation will be excluded.
-# Set it to YES to include the internal documentation.
-
-INTERNAL_DOCS          = NO
-
-# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
-# file names in lower-case letters. If set to YES upper-case letters are also
-# allowed. This is useful if you have classes or files whose names only differ
-# in case and if your file system supports case sensitive file names. Windows
-# and Mac users are advised to set this option to NO.
-
-CASE_SENSE_NAMES       = YES
-
-# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
-# will show members with their full class and namespace scopes in the
-# documentation. If set to YES the scope will be hidden.
-
-HIDE_SCOPE_NAMES       = NO
-
-# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
-# will put a list of the files that are included by a file in the documentation
-# of that file.
-
-SHOW_INCLUDE_FILES     = YES
-
-# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
-# is inserted in the documentation for inline members.
-
-INLINE_INFO            = YES
-
-# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
-# will sort the (detailed) documentation of file and class members
-# alphabetically by member name. If set to NO the members will appear in
-# declaration order.
-
-SORT_MEMBER_DOCS       = YES
-
-# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
-# brief documentation of file, namespace and class members alphabetically
-# by member name. If set to NO (the default) the members will appear in
-# declaration order.
-
-SORT_BRIEF_DOCS        = NO
-
-# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the
-# hierarchy of group names into alphabetical order. If set to NO (the default)
-# the group names will appear in their defined order.
-
-SORT_GROUP_NAMES       = NO
-
-# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
-# sorted by fully-qualified names, including namespaces. If set to
-# NO (the default), the class list will be sorted only by class name,
-# not including the namespace part.
-# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
-# Note: This option applies only to the class list, not to the
-# alphabetical list.
-
-SORT_BY_SCOPE_NAME     = NO
-
-# The GENERATE_TODOLIST tag can be used to enable (YES) or
-# disable (NO) the todo list. This list is created by putting \todo
-# commands in the documentation.
-
-GENERATE_TODOLIST      = NO
-
-# The GENERATE_TESTLIST tag can be used to enable (YES) or
-# disable (NO) the test list. This list is created by putting \test
-# commands in the documentation.
-
-GENERATE_TESTLIST      = NO
-
-# The GENERATE_BUGLIST tag can be used to enable (YES) or
-# disable (NO) the bug list. This list is created by putting \bug
-# commands in the documentation.
-
-GENERATE_BUGLIST       = NO
-
-# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
-# disable (NO) the deprecated list. This list is created by putting
-# \deprecated commands in the documentation.
-
-GENERATE_DEPRECATEDLIST= NO
-
-# The ENABLED_SECTIONS tag can be used to enable conditional
-# documentation sections, marked by \if sectionname ... \endif.
-
-ENABLED_SECTIONS       =
-
-# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
-# the initial value of a variable or define consists of for it to appear in
-# the documentation. If the initializer consists of more lines than specified
-# here it will be hidden. Use a value of 0 to hide initializers completely.
-# The appearance of the initializer of individual variables and defines in the
-# documentation can be controlled using \showinitializer or \hideinitializer
-# command in the documentation regardless of this setting.
-
-MAX_INITIALIZER_LINES  = 30
-
-# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
-# at the bottom of the documentation of classes and structs. If set to YES the
-# list will mention the files that were used to generate the documentation.
-
-SHOW_USED_FILES        = YES
-
-# If the sources in your project are distributed over multiple directories
-# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
-# in the documentation. The default is NO.
-
-SHOW_DIRECTORIES       = NO
-
-# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
-# This will remove the Files entry from the Quick Index and from the
-# Folder Tree View (if specified). The default is YES.
-
-SHOW_FILES             = YES
-
-# Set the SHOW_NAMESPACES tag to NO to disable the generation of the
-# Namespaces page.  This will remove the Namespaces entry from the Quick Index
-# and from the Folder Tree View (if specified). The default is YES.
-
-SHOW_NAMESPACES        = NO
-
-# The FILE_VERSION_FILTER tag can be used to specify a program or script that
-# doxygen should invoke to get the current version for each file (typically from
-# the version control system). Doxygen will invoke the program by executing (via
-# popen()) the command <command> <input-file>, where <command> is the value of
-# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file
-# provided by doxygen. Whatever the program writes to standard output
-# is used as the file version. See the manual for examples.
-
-FILE_VERSION_FILTER    =
-
-# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by
-# doxygen. The layout file controls the global structure of the generated output files
-# in an output format independent way. The create the layout file that represents
-# doxygen's defaults, run doxygen with the -l option. You can optionally specify a
-# file name after the option, if omitted DoxygenLayout.xml will be used as the name
-# of the layout file.
-
-LAYOUT_FILE            =
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-# The QUIET tag can be used to turn on/off the messages that are generated
-# by doxygen. Possible values are YES and NO. If left blank NO is used.
-
-QUIET                  = YES
-
-# The WARNINGS tag can be used to turn on/off the warning messages that are
-# generated by doxygen. Possible values are YES and NO. If left blank
-# NO is used.
-
-WARNINGS               = YES
-
-# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
-# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
-# automatically be disabled.
-
-WARN_IF_UNDOCUMENTED   = YES
-
-# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
-# potential errors in the documentation, such as not documenting some
-# parameters in a documented function, or documenting parameters that
-# don't exist or using markup commands wrongly.
-
-WARN_IF_DOC_ERROR      = YES
-
-# This WARN_NO_PARAMDOC option can be abled to get warnings for
-# functions that are documented, but have no documentation for their parameters
-# or return value. If set to NO (the default) doxygen will only warn about
-# wrong or incomplete parameter documentation, but not about the absence of
-# documentation.
-
-WARN_NO_PARAMDOC       = NO
-
-# The WARN_FORMAT tag determines the format of the warning messages that
-# doxygen can produce. The string should contain the $file, $line, and $text
-# tags, which will be replaced by the file and line number from which the
-# warning originated and the warning text. Optionally the format may contain
-# $version, which will be replaced by the version of the file (if it could
-# be obtained via FILE_VERSION_FILTER)
-
-WARN_FORMAT            = "$file:$line: $text  "
-
-# The WARN_LOGFILE tag can be used to specify a file to which warning
-# and error messages should be written. If left blank the output is written
-# to stderr.
-
-WARN_LOGFILE           =
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-# The INPUT tag can be used to specify the files and/or directories that contain
-# documented source files. You may enter file names like "myfile.cpp" or
-# directories like "/usr/src/myproject". Separate the files or directories
-# with spaces.
-
-INPUT                  = @top_srcdir@ @top_builddir@
-
-# This tag can be used to specify the character encoding of the source files
-# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
-# also the default input encoding. Doxygen uses libiconv (or the iconv built
-# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for
-# the list of possible encodings.
-
-INPUT_ENCODING         = UTF-8
-
-# If the value of the INPUT tag contains directories, you can use the
-# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank the following patterns are tested:
-# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx
-# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90
-
-FILE_PATTERNS          = *.h \
-                         *.dox
-
-# The RECURSIVE tag can be used to turn specify whether or not subdirectories
-# should be searched for input files as well. Possible values are YES and NO.
-# If left blank NO is used.
-
-RECURSIVE              = YES
-
-# The EXCLUDE tag can be used to specify files and/or directories that should
-# excluded from the INPUT source files. This way you can easily exclude a
-# subdirectory from a directory tree whose root is specified with the INPUT tag.
-
-EXCLUDE                = @abs_top_builddir@/docs/doxygen/html \
-		         @abs_top_builddir@/docs/doxygen/xml \
-                         @abs_top_builddir@/docs/doxygen/other/doxypy.py \
-			 @abs_top_builddir@/_CPack_Packages \
-                         @abs_top_srcdir@/cmake
-
-# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
-# directories that are symbolic links (a Unix filesystem feature) are excluded
-# from the input.
-
-EXCLUDE_SYMLINKS       = NO
-
-# If the value of the INPUT tag contains directories, you can use the
-# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
-# certain files from those directories. Note that the wildcards are matched
-# against the file with absolute path, so to exclude all test directories
-# for example use the pattern */test/*
-
-EXCLUDE_PATTERNS       = */.deps/* \
-                         */.libs/* \
-                         */.svn/* \
-                         */CVS/* \
-                         */__init__.py \
-                         */qa_*.cc \
-                         */qa_*.h \
-                         */qa_*.py
-
-# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
-# (namespaces, classes, functions, etc.) that should be excluded from the
-# output. The symbol name can be a fully qualified name, a word, or if the
-# wildcard * is used, a substring. Examples: ANamespace, AClass,
-# AClass::ANamespace, ANamespace::*Test
-
-EXCLUDE_SYMBOLS        = ad9862 \
-                         numpy \
-                         *swig* \
-                         *Swig* \
-                         *my_top_block* \
-                         *my_graph* \
-                         *app_top_block* \
-                         *am_rx_graph* \
-                         *_queue_watcher_thread* \
-                         *parse* \
-                         *MyFrame* \
-                         *MyApp* \
-                         *PyObject* \
-                         *wfm_rx_block* \
-                         *_sptr* \
-                         *debug* \
-                         *wfm_rx_sca_block* \
-                         *tv_rx_block* \
-                         *wxapt_rx_block* \
-                         *example_signal*
-
-# The EXAMPLE_PATH tag can be used to specify one or more files or
-# directories that contain example code fragments that are included (see
-# the \include command).
-
-EXAMPLE_PATH           =
-
-# If the value of the EXAMPLE_PATH tag contains directories, you can use the
-# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank all files are included.
-
-EXAMPLE_PATTERNS       =
-
-# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
-# searched for input files to be used with the \include or \dontinclude
-# commands irrespective of the value of the RECURSIVE tag.
-# Possible values are YES and NO. If left blank NO is used.
-
-EXAMPLE_RECURSIVE      = NO
-
-# The IMAGE_PATH tag can be used to specify one or more files or
-# directories that contain image that are included in the documentation (see
-# the \image command).
-
-IMAGE_PATH             =
-
-# The INPUT_FILTER tag can be used to specify a program that doxygen should
-# invoke to filter for each input file. Doxygen will invoke the filter program
-# by executing (via popen()) the command <filter> <input-file>, where <filter>
-# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
-# input file. Doxygen will then use the output that the filter program writes
-# to standard output.  If FILTER_PATTERNS is specified, this tag will be
-# ignored.
-
-INPUT_FILTER           =
-
-# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
-# basis.  Doxygen will compare the file name with each pattern and apply the
-# filter if there is a match.  The filters are a list of the form:
-# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
-# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER
-# is applied to all files.
-
-FILTER_PATTERNS        = *.py=@top_srcdir@/gnuradio-core/doc/other/doxypy.py
-
-# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
-# INPUT_FILTER) will be used to filter the input files when producing source
-# files to browse (i.e. when SOURCE_BROWSER is set to YES).
-
-FILTER_SOURCE_FILES    = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-
-# If the SOURCE_BROWSER tag is set to YES then a list of source files will
-# be generated. Documented entities will be cross-referenced with these sources.
-# Note: To get rid of all source code in the generated output, make sure also
-# VERBATIM_HEADERS is set to NO.
-
-SOURCE_BROWSER         = NO
-
-# Setting the INLINE_SOURCES tag to YES will include the body
-# of functions and classes directly in the documentation.
-
-INLINE_SOURCES         = NO
-
-# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
-# doxygen to hide any special comment blocks from generated source code
-# fragments. Normal C and C++ comments will always remain visible.
-
-STRIP_CODE_COMMENTS    = NO
-
-# If the REFERENCED_BY_RELATION tag is set to YES
-# then for each documented function all documented
-# functions referencing it will be listed.
-
-REFERENCED_BY_RELATION = YES
-
-# If the REFERENCES_RELATION tag is set to YES
-# then for each documented function all documented entities
-# called/used by that function will be listed.
-
-REFERENCES_RELATION    = YES
-
-# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
-# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
-# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
-# link to the source code.  Otherwise they will link to the documentstion.
-
-REFERENCES_LINK_SOURCE = YES
-
-# If the USE_HTAGS tag is set to YES then the references to source code
-# will point to the HTML generated by the htags(1) tool instead of doxygen
-# built-in source browser. The htags tool is part of GNU's global source
-# tagging system (see http://www.gnu.org/software/global/global.html). You
-# will need version 4.8.6 or higher.
-
-USE_HTAGS              = NO
-
-# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
-# will generate a verbatim copy of the header file for each class for
-# which an include is specified. Set to NO to disable this.
-
-VERBATIM_HEADERS       = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
-# of all compounds will be generated. Enable this if the project
-# contains a lot of classes, structs, unions or interfaces.
-
-ALPHABETICAL_INDEX     = YES
-
-# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
-# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
-# in which this list will be split (can be a number in the range [1..20])
-
-COLS_IN_ALPHA_INDEX    = 5
-
-# In case all classes in a project start with a common prefix, all
-# classes will be put under the same header in the alphabetical index.
-# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
-# should be ignored while generating the index headers.
-
-IGNORE_PREFIX          =
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
-# generate HTML output.
-
-GENERATE_HTML          = @enable_html_docs@
-
-# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `html' will be used as the default path.
-
-HTML_OUTPUT            = html
-
-# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
-# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
-# doxygen will generate files with .html extension.
-
-HTML_FILE_EXTENSION    = .html
-
-# The HTML_HEADER tag can be used to specify a personal HTML header for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard header.
-
-HTML_HEADER            =
-
-# The HTML_FOOTER tag can be used to specify a personal HTML footer for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard footer.
-
-HTML_FOOTER            =
-
-# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
-# style sheet that is used by each HTML page. It can be used to
-# fine-tune the look of the HTML output. If the tag is left blank doxygen
-# will generate a default style sheet. Note that doxygen will try to copy
-# the style sheet file to the HTML output directory, so don't put your own
-# stylesheet in the HTML output directory as well, or it will be erased!
-
-HTML_STYLESHEET        =
-
-# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
-# files or namespaces will be aligned in HTML using tables. If set to
-# NO a bullet list will be used.
-
-HTML_ALIGN_MEMBERS     = YES
-
-# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
-# documentation will contain sections that can be hidden and shown after the
-# page has loaded. For this to work a browser that supports
-# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
-# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
-
-HTML_DYNAMIC_SECTIONS  = NO
-
-# If the GENERATE_DOCSET tag is set to YES, additional index files
-# will be generated that can be used as input for Apple's Xcode 3
-# integrated development environment, introduced with OSX 10.5 (Leopard).
-# To create a documentation set, doxygen will generate a Makefile in the
-# HTML output directory. Running make will produce the docset in that
-# directory and running "make install" will install the docset in
-# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find
-# it at startup.
-# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information.
-
-GENERATE_DOCSET        = NO
-
-# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the
-# feed. A documentation feed provides an umbrella under which multiple
-# documentation sets from a single provider (such as a company or product suite)
-# can be grouped.
-
-DOCSET_FEEDNAME        = "Doxygen generated docs"
-
-# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that
-# should uniquely identify the documentation set bundle. This should be a
-# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen
-# will append .docset to the name.
-
-DOCSET_BUNDLE_ID       = org.doxygen.Project
-
-# If the GENERATE_HTMLHELP tag is set to YES, additional index files
-# will be generated that can be used as input for tools like the
-# Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
-# of the generated HTML documentation.
-
-GENERATE_HTMLHELP      = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
-# be used to specify the file name of the resulting .chm file. You
-# can add a path in front of the file if the result should not be
-# written to the html output directory.
-
-CHM_FILE               =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
-# be used to specify the location (absolute path including file name) of
-# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
-# the HTML help compiler on the generated index.hhp.
-
-HHC_LOCATION           =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
-# controls if a separate .chi index file is generated (YES) or that
-# it should be included in the master .chm file (NO).
-
-GENERATE_CHI           = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING
-# is used to encode HtmlHelp index (hhk), content (hhc) and project file
-# content.
-
-CHM_INDEX_ENCODING     =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
-# controls whether a binary table of contents is generated (YES) or a
-# normal table of contents (NO) in the .chm file.
-
-BINARY_TOC             = NO
-
-# The TOC_EXPAND flag can be set to YES to add extra items for group members
-# to the contents of the HTML help documentation and to the tree view.
-
-TOC_EXPAND             = YES
-
-# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER
-# are set, an additional index file will be generated that can be used as input for
-# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated
-# HTML documentation.
-
-GENERATE_QHP           = NO
-
-# If the QHG_LOCATION tag is specified, the QCH_FILE tag can
-# be used to specify the file name of the resulting .qch file.
-# The path specified is relative to the HTML output folder.
-
-QCH_FILE               =
-
-# The QHP_NAMESPACE tag specifies the namespace to use when generating
-# Qt Help Project output. For more information please see
-# <a href="http://doc.trolltech.com/qthelpproject.html#namespace">Qt Help Project / Namespace</a>.
-
-QHP_NAMESPACE          = org.doxygen.Project
-
-# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating
-# Qt Help Project output. For more information please see
-# <a href="http://doc.trolltech.com/qthelpproject.html#virtual-folders">Qt Help Project / Virtual Folders</a>.
-
-QHP_VIRTUAL_FOLDER     = doc
-
-# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can
-# be used to specify the location of Qt's qhelpgenerator.
-# If non-empty doxygen will try to run qhelpgenerator on the generated
-# .qhp file .
-
-QHG_LOCATION           =
-
-# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
-# top of each HTML page. The value NO (the default) enables the index and
-# the value YES disables it.
-
-DISABLE_INDEX          = YES
-
-# This tag can be used to set the number of enum values (range [1..20])
-# that doxygen will group on one line in the generated HTML documentation.
-
-ENUM_VALUES_PER_LINE   = 4
-
-# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
-# structure should be generated to display hierarchical information.
-# If the tag value is set to FRAME, a side panel will be generated
-# containing a tree-like index structure (just like the one that
-# is generated for HTML Help). For this to work a browser that supports
-# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+,
-# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are
-# probably better off using the HTML help feature. Other possible values
-# for this tag are: HIERARCHIES, which will generate the Groups, Directories,
-# and Class Hierarchy pages using a tree view instead of an ordered list;
-# ALL, which combines the behavior of FRAME and HIERARCHIES; and NONE, which
-# disables this behavior completely. For backwards compatibility with previous
-# releases of Doxygen, the values YES and NO are equivalent to FRAME and NONE
-# respectively.
-
-GENERATE_TREEVIEW      = YES
-
-# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
-# used to set the initial width (in pixels) of the frame in which the tree
-# is shown.
-
-TREEVIEW_WIDTH         = 180
-
-# Use this tag to change the font size of Latex formulas included
-# as images in the HTML documentation. The default is 10. Note that
-# when you change the font size after a successful doxygen run you need
-# to manually remove any form_*.png images from the HTML output directory
-# to force them to be regenerated.
-
-FORMULA_FONTSIZE       = 10
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
-# generate Latex output.
-
-GENERATE_LATEX         = @enable_latex_docs@
-
-# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `latex' will be used as the default path.
-
-LATEX_OUTPUT           = latex
-
-# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
-# invoked. If left blank `latex' will be used as the default command name.
-
-LATEX_CMD_NAME         = latex
-
-# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
-# generate index for LaTeX. If left blank `makeindex' will be used as the
-# default command name.
-
-MAKEINDEX_CMD_NAME     = makeindex
-
-# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
-# LaTeX documents. This may be useful for small projects and may help to
-# save some trees in general.
-
-COMPACT_LATEX          = NO
-
-# The PAPER_TYPE tag can be used to set the paper type that is used
-# by the printer. Possible values are: a4, a4wide, letter, legal and
-# executive. If left blank a4wide will be used.
-
-PAPER_TYPE             = letter
-
-# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
-# packages that should be included in the LaTeX output.
-
-EXTRA_PACKAGES         =
-
-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
-# the generated latex document. The header should contain everything until
-# the first chapter. If it is left blank doxygen will generate a
-# standard header. Notice: only use this tag if you know what you are doing!
-
-LATEX_HEADER           =
-
-# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
-# is prepared for conversion to pdf (using ps2pdf). The pdf file will
-# contain links (just like the HTML output) instead of page references
-# This makes the output suitable for online browsing using a pdf viewer.
-
-PDF_HYPERLINKS         = YES
-
-# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
-# plain latex in the generated Makefile. Set this option to YES to get a
-# higher quality PDF documentation.
-
-USE_PDFLATEX           = NO
-
-# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
-# command to the generated LaTeX files. This will instruct LaTeX to keep
-# running if errors occur, instead of asking the user for help.
-# This option is also used when generating formulas in HTML.
-
-LATEX_BATCHMODE        = NO
-
-# If LATEX_HIDE_INDICES is set to YES then doxygen will not
-# include the index chapters (such as File Index, Compound Index, etc.)
-# in the output.
-
-LATEX_HIDE_INDICES     = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
-# The RTF output is optimized for Word 97 and may not look very pretty with
-# other RTF readers or editors.
-
-GENERATE_RTF           = NO
-
-# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `rtf' will be used as the default path.
-
-RTF_OUTPUT             = rtf
-
-# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
-# RTF documents. This may be useful for small projects and may help to
-# save some trees in general.
-
-COMPACT_RTF            = NO
-
-# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
-# will contain hyperlink fields. The RTF file will
-# contain links (just like the HTML output) instead of page references.
-# This makes the output suitable for online browsing using WORD or other
-# programs which support those fields.
-# Note: wordpad (write) and others do not support links.
-
-RTF_HYPERLINKS         = NO
-
-# Load stylesheet definitions from file. Syntax is similar to doxygen's
-# config file, i.e. a series of assignments. You only have to provide
-# replacements, missing definitions are set to their default value.
-
-RTF_STYLESHEET_FILE    =
-
-# Set optional variables used in the generation of an rtf document.
-# Syntax is similar to doxygen's config file.
-
-RTF_EXTENSIONS_FILE    =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
-# generate man pages
-
-GENERATE_MAN           = NO
-
-# The MAN_OUTPUT tag is used to specify where the man pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `man' will be used as the default path.
-
-MAN_OUTPUT             = man
-
-# The MAN_EXTENSION tag determines the extension that is added to
-# the generated man pages (default is the subroutine's section .3)
-
-MAN_EXTENSION          = .3
-
-# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
-# then it will generate one additional man file for each entity
-# documented in the real man page(s). These additional files
-# only source the real man page, but without them the man command
-# would be unable to find the correct page. The default is NO.
-
-MAN_LINKS              = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_XML tag is set to YES Doxygen will
-# generate an XML file that captures the structure of
-# the code including all documentation.
-
-GENERATE_XML           = @enable_xml_docs@
-
-# The XML_OUTPUT tag is used to specify where the XML pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `xml' will be used as the default path.
-
-XML_OUTPUT             = xml
-
-# The XML_SCHEMA tag can be used to specify an XML schema,
-# which can be used by a validating XML parser to check the
-# syntax of the XML files.
-
-XML_SCHEMA             =
-
-# The XML_DTD tag can be used to specify an XML DTD,
-# which can be used by a validating XML parser to check the
-# syntax of the XML files.
-
-XML_DTD                =
-
-# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
-# dump the program listings (including syntax highlighting
-# and cross-referencing information) to the XML output. Note that
-# enabling this will significantly increase the size of the XML output.
-
-XML_PROGRAMLISTING     = NO
-
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
-# generate an AutoGen Definitions (see autogen.sf.net) file
-# that captures the structure of the code including all
-# documentation. Note that this feature is still experimental
-# and incomplete at the moment.
-
-GENERATE_AUTOGEN_DEF   = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_PERLMOD tag is set to YES Doxygen will
-# generate a Perl module file that captures the structure of
-# the code including all documentation. Note that this
-# feature is still experimental and incomplete at the
-# moment.
-
-GENERATE_PERLMOD       = NO
-
-# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
-# the necessary Makefile rules, Perl scripts and LaTeX code to be able
-# to generate PDF and DVI output from the Perl module output.
-
-PERLMOD_LATEX          = NO
-
-# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
-# nicely formatted so it can be parsed by a human reader.  This is useful
-# if you want to understand what is going on.  On the other hand, if this
-# tag is set to NO the size of the Perl module output will be much smaller
-# and Perl will parse it just the same.
-
-PERLMOD_PRETTY         = YES
-
-# The names of the make variables in the generated doxyrules.make file
-# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
-# This is useful so different doxyrules.make files included by the same
-# Makefile don't overwrite each other's variables.
-
-PERLMOD_MAKEVAR_PREFIX =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
-# evaluate all C-preprocessor directives found in the sources and include
-# files.
-
-ENABLE_PREPROCESSING   = YES
-
-# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
-# names in the source code. If set to NO (the default) only conditional
-# compilation will be performed. Macro expansion can be done in a controlled
-# way by setting EXPAND_ONLY_PREDEF to YES.
-
-MACRO_EXPANSION        = NO
-
-# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
-# then the macro expansion is limited to the macros specified with the
-# PREDEFINED and EXPAND_AS_DEFINED tags.
-
-EXPAND_ONLY_PREDEF     = NO
-
-# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
-# in the INCLUDE_PATH (see below) will be search if a #include is found.
-
-SEARCH_INCLUDES        = YES
-
-# The INCLUDE_PATH tag can be used to specify one or more directories that
-# contain include files that are not input files but should be processed by
-# the preprocessor.
-
-INCLUDE_PATH           =
-
-# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
-# patterns (like *.h and *.hpp) to filter out the header-files in the
-# directories. If left blank, the patterns specified with FILE_PATTERNS will
-# be used.
-
-INCLUDE_FILE_PATTERNS  =
-
-# The PREDEFINED tag can be used to specify one or more macro names that
-# are defined before the preprocessor is started (similar to the -D option of
-# gcc). The argument of the tag is a list of macros of the form: name
-# or name=definition (no spaces). If the definition and the = are
-# omitted =1 is assumed. To prevent a macro definition from being
-# undefined via #undef or recursively expanded use the := operator
-# instead of the = operator.
-
-PREDEFINED             =
-
-# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
-# this tag can be used to specify a list of macro names that should be expanded.
-# The macro definition that is found in the sources will be used.
-# Use the PREDEFINED tag if you want to use a different macro definition.
-
-EXPAND_AS_DEFINED      =
-
-# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
-# doxygen's preprocessor will remove all function-like macros that are alone
-# on a line, have an all uppercase name, and do not end with a semicolon. Such
-# function macros are typically used for boiler-plate code, and will confuse
-# the parser if not removed.
-
-SKIP_FUNCTION_MACROS   = YES
-
-#---------------------------------------------------------------------------
-# Configuration::additions related to external references
-#---------------------------------------------------------------------------
-
-# The TAGFILES option can be used to specify one or more tagfiles.
-# Optionally an initial location of the external documentation
-# can be added for each tagfile. The format of a tag file without
-# this location is as follows:
-#   TAGFILES = file1 file2 ...
-# Adding location for the tag files is done as follows:
-#   TAGFILES = file1=loc1 "file2 = loc2" ...
-# where "loc1" and "loc2" can be relative or absolute paths or
-# URLs. If a location is present for each tag, the installdox tool
-# does not have to be run to correct the links.
-# Note that each tag file must have a unique name
-# (where the name does NOT include the path)
-# If a tag file is not located in the directory in which doxygen
-# is run, you must also specify the path to the tagfile here.
-
-TAGFILES               =
-
-# When a file name is specified after GENERATE_TAGFILE, doxygen will create
-# a tag file that is based on the input files it reads.
-
-GENERATE_TAGFILE       =
-
-# If the ALLEXTERNALS tag is set to YES all external classes will be listed
-# in the class index. If set to NO only the inherited external classes
-# will be listed.
-
-ALLEXTERNALS           = NO
-
-# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
-# in the modules index. If set to NO, only the current project's groups will
-# be listed.
-
-EXTERNAL_GROUPS        = YES
-
-# The PERL_PATH should be the absolute path and name of the perl script
-# interpreter (i.e. the result of `which perl').
-
-PERL_PATH              = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
-# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base
-# or super classes. Setting the tag to NO turns the diagrams off. Note that
-# this option is superseded by the HAVE_DOT option below. This is only a
-# fallback. It is recommended to install and use dot, since it yields more
-# powerful graphs.
-
-CLASS_DIAGRAMS         = YES
-
-# You can define message sequence charts within doxygen comments using the \msc
-# command. Doxygen will then run the mscgen tool (see
-# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the
-# documentation. The MSCGEN_PATH tag allows you to specify the directory where
-# the mscgen tool resides. If left empty the tool is assumed to be found in the
-# default search path.
-
-MSCGEN_PATH            =
-
-# If set to YES, the inheritance and collaboration graphs will hide
-# inheritance and usage relations if the target is undocumented
-# or is not a class.
-
-HIDE_UNDOC_RELATIONS   = YES
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz, a graph visualization
-# toolkit from AT&T and Lucent Bell Labs. The other options in this section
-# have no effect if this option is set to NO (the default)
-
-HAVE_DOT               = @HAVE_DOT@
-
-# By default doxygen will write a font called FreeSans.ttf to the output
-# directory and reference it in all dot files that doxygen generates. This
-# font does not include all possible unicode characters however, so when you need
-# these (or just want a differently looking font) you can specify the font name
-# using DOT_FONTNAME. You need need to make sure dot is able to find the font,
-# which can be done by putting it in a standard location or by setting the
-# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory
-# containing the font.
-
-DOT_FONTNAME           = FreeSans
-
-# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs.
-# The default size is 10pt.
-
-DOT_FONTSIZE           = 10
-
-# By default doxygen will tell dot to use the output directory to look for the
-# FreeSans.ttf font (which doxygen will put there itself). If you specify a
-# different font using DOT_FONTNAME you can set the path where dot
-# can find it using this tag.
-
-DOT_FONTPATH           =
-
-# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect inheritance relations. Setting this tag to YES will force the
-# the CLASS_DIAGRAMS tag to NO.
-
-CLASS_GRAPH            = YES
-
-# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect implementation dependencies (inheritance, containment, and
-# class references variables) of the class with other documented classes.
-
-COLLABORATION_GRAPH    = NO
-
-# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for groups, showing the direct groups dependencies
-
-GROUP_GRAPHS           = YES
-
-# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
-# collaboration diagrams in a style similar to the OMG's Unified Modeling
-# Language.
-
-UML_LOOK               = NO
-
-# If set to YES, the inheritance and collaboration graphs will show the
-# relations between templates and their instances.
-
-TEMPLATE_RELATIONS     = NO
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
-# tags are set to YES then doxygen will generate a graph for each documented
-# file showing the direct and indirect include dependencies of the file with
-# other documented files.
-
-INCLUDE_GRAPH          = YES
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
-# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
-# documented header file showing the documented files that directly or
-# indirectly include this file.
-
-INCLUDED_BY_GRAPH      = YES
-
-# If the CALL_GRAPH and HAVE_DOT options are set to YES then
-# doxygen will generate a call dependency graph for every global function
-# or class method. Note that enabling this option will significantly increase
-# the time of a run. So in most cases it will be better to enable call graphs
-# for selected functions only using the \callgraph command.
-
-CALL_GRAPH             = NO
-
-# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then
-# doxygen will generate a caller dependency graph for every global function
-# or class method. Note that enabling this option will significantly increase
-# the time of a run. So in most cases it will be better to enable caller
-# graphs for selected functions only using the \callergraph command.
-
-CALLER_GRAPH           = NO
-
-# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
-# will graphical hierarchy of all classes instead of a textual one.
-
-GRAPHICAL_HIERARCHY    = YES
-
-# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES
-# then doxygen will show the dependencies a directory has on other directories
-# in a graphical way. The dependency relations are determined by the #include
-# relations between the files in the directories.
-
-DIRECTORY_GRAPH        = YES
-
-# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
-# generated by dot. Possible values are png, jpg, or gif
-# If left blank png will be used.
-
-DOT_IMAGE_FORMAT       = png
-
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found in the path.
-
-DOT_PATH               =
-
-# The DOTFILE_DIRS tag can be used to specify one or more directories that
-# contain dot files that are included in the documentation (see the
-# \dotfile command).
-
-DOTFILE_DIRS           =
-
-# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
-# nodes that will be shown in the graph. If the number of nodes in a graph
-# becomes larger than this value, doxygen will truncate the graph, which is
-# visualized by representing a node as a red box. Note that doxygen if the
-# number of direct children of the root node in a graph is already larger than
-# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note
-# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
-
-DOT_GRAPH_MAX_NODES    = 50
-
-# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
-# graphs generated by dot. A depth value of 3 means that only nodes reachable
-# from the root by following a path via at most 3 edges will be shown. Nodes
-# that lay further from the root node will be omitted. Note that setting this
-# option to 1 or 2 may greatly reduce the computation time needed for large
-# code bases. Also note that the size of a graph can be further restricted by
-# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
-
-MAX_DOT_GRAPH_DEPTH    = 0
-
-# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
-# background. This is disabled by default, because dot on Windows does not
-# seem to support this out of the box. Warning: Depending on the platform used,
-# enabling this option may lead to badly anti-aliased labels on the edges of
-# a graph (i.e. they become hard to read).
-
-DOT_TRANSPARENT        = NO
-
-# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
-# files in one run (i.e. multiple -o and -T options on the command line). This
-# makes dot run faster, but since only newer versions of dot (>1.8.10)
-# support this, this feature is disabled by default.
-
-DOT_MULTI_TARGETS      = YES
-
-# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
-# generate a legend page explaining the meaning of the various boxes and
-# arrows in the dot generated graphs.
-
-GENERATE_LEGEND        = YES
-
-# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
-# remove the intermediate dot files that are used to generate
-# the various graphs.
-
-DOT_CLEANUP            = YES
-
-#---------------------------------------------------------------------------
-# Configuration::additions related to the search engine
-#---------------------------------------------------------------------------
-
-# The SEARCHENGINE tag specifies whether or not a search engine should be
-# used. If set to NO the values of all tags below this one will be ignored.
-
-SEARCHENGINE           = NO
diff --git a/drivers/gr-gn3s/docs/doxygen/Doxyfile.swig_doc.in b/drivers/gr-gn3s/docs/doxygen/Doxyfile.swig_doc.in
deleted file mode 100644
index 50b8aa8..0000000
--- a/drivers/gr-gn3s/docs/doxygen/Doxyfile.swig_doc.in
+++ /dev/null
@@ -1,1514 +0,0 @@
-# Doxyfile 1.6.1
-
-# This file describes the settings to be used by the documentation system
-# doxygen (www.doxygen.org) for a project
-#
-# All text after a hash (#) is considered a comment and will be ignored
-# The format is:
-#       TAG = value [value, ...]
-# For lists items can also be appended using:
-#       TAG += value [value, ...]
-# Values that contain spaces should be placed between quotes (" ")
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-
-# This tag specifies the encoding used for all characters in the config file
-# that follow. The default is UTF-8 which is also the encoding used for all
-# text before the first occurrence of this tag. Doxygen uses libiconv (or the
-# iconv built into libc) for the transcoding. See
-# http://www.gnu.org/software/libiconv for the list of possible encodings.
-
-DOXYFILE_ENCODING      = UTF-8
-
-# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
-# by quotes) that should identify the project.
-
-PROJECT_NAME           = @CPACK_PACKAGE_NAME@
-
-# The PROJECT_NUMBER tag can be used to enter a project or revision number.
-# This could be handy for archiving the generated documentation or
-# if some version control system is used.
-
-PROJECT_NUMBER         = @CPACK_PACKAGE_VERSION@
-
-# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
-# base path where the generated documentation will be put.
-# If a relative path is entered, it will be relative to the location
-# where doxygen was started. If left blank the current directory will be used.
-
-OUTPUT_DIRECTORY       = @OUTPUT_DIRECTORY@
-
-# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
-# 4096 sub-directories (in 2 levels) under the output directory of each output
-# format and will distribute the generated files over these directories.
-# Enabling this option can be useful when feeding doxygen a huge amount of
-# source files, where putting all generated files in the same directory would
-# otherwise cause performance problems for the file system.
-
-CREATE_SUBDIRS         = NO
-
-# The OUTPUT_LANGUAGE tag is used to specify the language in which all
-# documentation generated by doxygen is written. Doxygen will use this
-# information to generate all constant output in the proper language.
-# The default language is English, other supported languages are:
-# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
-# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German,
-# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English
-# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian,
-# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak,
-# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.
-
-OUTPUT_LANGUAGE        = English
-
-# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
-# include brief member descriptions after the members that are listed in
-# the file and class documentation (similar to JavaDoc).
-# Set to NO to disable this.
-
-BRIEF_MEMBER_DESC      = YES
-
-# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
-# the brief description of a member or function before the detailed description.
-# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
-# brief descriptions will be completely suppressed.
-
-REPEAT_BRIEF           = YES
-
-# This tag implements a quasi-intelligent brief description abbreviator
-# that is used to form the text in various listings. Each string
-# in this list, if found as the leading text of the brief description, will be
-# stripped from the text and the result after processing the whole list, is
-# used as the annotated text. Otherwise, the brief description is used as-is.
-# If left blank, the following values are used ("$name" is automatically
-# replaced with the name of the entity): "The $name class" "The $name widget"
-# "The $name file" "is" "provides" "specifies" "contains"
-# "represents" "a" "an" "the"
-
-ABBREVIATE_BRIEF       =
-
-# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
-# Doxygen will generate a detailed section even if there is only a brief
-# description.
-
-ALWAYS_DETAILED_SEC    = NO
-
-# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
-# inherited members of a class in the documentation of that class as if those
-# members were ordinary class members. Constructors, destructors and assignment
-# operators of the base classes will not be shown.
-
-INLINE_INHERITED_MEMB  = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
-# path before files name in the file list and in the header files. If set
-# to NO the shortest path that makes the file name unique will be used.
-
-FULL_PATH_NAMES        = YES
-
-# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
-# can be used to strip a user-defined part of the path. Stripping is
-# only done if one of the specified strings matches the left-hand part of
-# the path. The tag can be used to show relative paths in the file list.
-# If left blank the directory from which doxygen is run is used as the
-# path to strip.
-
-STRIP_FROM_PATH        =
-
-# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
-# the path mentioned in the documentation of a class, which tells
-# the reader which header file to include in order to use a class.
-# If left blank only the name of the header file containing the class
-# definition is used. Otherwise one should specify the include paths that
-# are normally passed to the compiler using the -I flag.
-
-STRIP_FROM_INC_PATH    =
-
-# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
-# (but less readable) file names. This can be useful is your file systems
-# doesn't support long names like on DOS, Mac, or CD-ROM.
-
-SHORT_NAMES            = NO
-
-# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
-# will interpret the first line (until the first dot) of a JavaDoc-style
-# comment as the brief description. If set to NO, the JavaDoc
-# comments will behave just like regular Qt-style comments
-# (thus requiring an explicit @brief command for a brief description.)
-
-JAVADOC_AUTOBRIEF      = NO
-
-# If the QT_AUTOBRIEF tag is set to YES then Doxygen will
-# interpret the first line (until the first dot) of a Qt-style
-# comment as the brief description. If set to NO, the comments
-# will behave just like regular Qt-style comments (thus requiring
-# an explicit \brief command for a brief description.)
-
-QT_AUTOBRIEF           = NO
-
-# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
-# treat a multi-line C++ special comment block (i.e. a block of //! or ///
-# comments) as a brief description. This used to be the default behaviour.
-# The new default is to treat a multi-line C++ comment block as a detailed
-# description. Set this tag to YES if you prefer the old behaviour instead.
-
-MULTILINE_CPP_IS_BRIEF = NO
-
-# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
-# member inherits the documentation from any documented member that it
-# re-implements.
-
-INHERIT_DOCS           = YES
-
-# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
-# a new page for each member. If set to NO, the documentation of a member will
-# be part of the file/class/namespace that contains it.
-
-SEPARATE_MEMBER_PAGES  = NO
-
-# The TAB_SIZE tag can be used to set the number of spaces in a tab.
-# Doxygen uses this value to replace tabs by spaces in code fragments.
-
-TAB_SIZE               = 8
-
-# This tag can be used to specify a number of aliases that acts
-# as commands in the documentation. An alias has the form "name=value".
-# For example adding "sideeffect=\par Side Effects:\n" will allow you to
-# put the command \sideeffect (or @sideeffect) in the documentation, which
-# will result in a user-defined paragraph with heading "Side Effects:".
-# You can put \n's in the value part of an alias to insert newlines.
-
-ALIASES                =
-
-# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
-# sources only. Doxygen will then generate output that is more tailored for C.
-# For instance, some of the names that are used will be different. The list
-# of all members will be omitted, etc.
-
-OPTIMIZE_OUTPUT_FOR_C  = NO
-
-# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
-# sources only. Doxygen will then generate output that is more tailored for
-# Java. For instance, namespaces will be presented as packages, qualified
-# scopes will look different, etc.
-
-OPTIMIZE_OUTPUT_JAVA   = NO
-
-# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
-# sources only. Doxygen will then generate output that is more tailored for
-# Fortran.
-
-OPTIMIZE_FOR_FORTRAN   = NO
-
-# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
-# sources. Doxygen will then generate output that is tailored for
-# VHDL.
-
-OPTIMIZE_OUTPUT_VHDL   = NO
-
-# Doxygen selects the parser to use depending on the extension of the files it parses.
-# With this tag you can assign which parser to use for a given extension.
-# Doxygen has a built-in mapping, but you can override or extend it using this tag.
-# The format is ext=language, where ext is a file extension, and language is one of
-# the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP,
-# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat
-# .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran),
-# use: inc=Fortran f=C. Note that for custom extensions you also need to set FILE_PATTERNS otherwise the files are not read by doxygen.
-
-EXTENSION_MAPPING      =
-
-# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
-# to include (a tag file for) the STL sources as input, then you should
-# set this tag to YES in order to let doxygen match functions declarations and
-# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
-# func(std::string) {}). This also make the inheritance and collaboration
-# diagrams that involve STL classes more complete and accurate.
-
-BUILTIN_STL_SUPPORT    = YES
-
-# If you use Microsoft's C++/CLI language, you should set this option to YES to
-# enable parsing support.
-
-CPP_CLI_SUPPORT        = NO
-
-# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only.
-# Doxygen will parse them like normal C++ but will assume all classes use public
-# instead of private inheritance when no explicit protection keyword is present.
-
-SIP_SUPPORT            = NO
-
-# For Microsoft's IDL there are propget and propput attributes to indicate getter
-# and setter methods for a property. Setting this option to YES (the default)
-# will make doxygen to replace the get and set methods by a property in the
-# documentation. This will only work if the methods are indeed getting or
-# setting a simple type. If this is not the case, or you want to show the
-# methods anyway, you should set this option to NO.
-
-IDL_PROPERTY_SUPPORT   = YES
-
-# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
-# tag is set to YES, then doxygen will reuse the documentation of the first
-# member in the group (if any) for the other members of the group. By default
-# all members of a group must be documented explicitly.
-
-DISTRIBUTE_GROUP_DOC   = NO
-
-# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
-# the same type (for instance a group of public functions) to be put as a
-# subgroup of that type (e.g. under the Public Functions section). Set it to
-# NO to prevent subgrouping. Alternatively, this can be done per class using
-# the \nosubgrouping command.
-
-SUBGROUPING            = YES
-
-# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
-# is documented as struct, union, or enum with the name of the typedef. So
-# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
-# with name TypeT. When disabled the typedef will appear as a member of a file,
-# namespace, or class. And the struct will be named TypeS. This can typically
-# be useful for C code in case the coding convention dictates that all compound
-# types are typedef'ed and only the typedef is referenced, never the tag name.
-
-TYPEDEF_HIDES_STRUCT   = NO
-
-# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to
-# determine which symbols to keep in memory and which to flush to disk.
-# When the cache is full, less often used symbols will be written to disk.
-# For small to medium size projects (<1000 input files) the default value is
-# probably good enough. For larger projects a too small cache size can cause
-# doxygen to be busy swapping symbols to and from disk most of the time
-# causing a significant performance penality.
-# If the system has enough physical memory increasing the cache will improve the
-# performance by keeping more symbols in memory. Note that the value works on
-# a logarithmic scale so increasing the size by one will rougly double the
-# memory usage. The cache size is given by this formula:
-# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
-# corresponding to a cache size of 2^16 = 65536 symbols
-
-SYMBOL_CACHE_SIZE      = 0
-
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-
-# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
-# documentation are documented, even if no documentation was available.
-# Private class members and static file members will be hidden unless
-# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
-
-EXTRACT_ALL            = YES
-
-# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
-# will be included in the documentation.
-
-EXTRACT_PRIVATE        = NO
-
-# If the EXTRACT_STATIC tag is set to YES all static members of a file
-# will be included in the documentation.
-
-EXTRACT_STATIC         = NO
-
-# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
-# defined locally in source files will be included in the documentation.
-# If set to NO only classes defined in header files are included.
-
-EXTRACT_LOCAL_CLASSES  = YES
-
-# This flag is only useful for Objective-C code. When set to YES local
-# methods, which are defined in the implementation section but not in
-# the interface are included in the documentation.
-# If set to NO (the default) only methods in the interface are included.
-
-EXTRACT_LOCAL_METHODS  = NO
-
-# If this flag is set to YES, the members of anonymous namespaces will be
-# extracted and appear in the documentation as a namespace called
-# 'anonymous_namespace{file}', where file will be replaced with the base
-# name of the file that contains the anonymous namespace. By default
-# anonymous namespace are hidden.
-
-EXTRACT_ANON_NSPACES   = NO
-
-# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
-# undocumented members of documented classes, files or namespaces.
-# If set to NO (the default) these members will be included in the
-# various overviews, but no documentation section is generated.
-# This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_MEMBERS     = NO
-
-# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
-# undocumented classes that are normally visible in the class hierarchy.
-# If set to NO (the default) these classes will be included in the various
-# overviews. This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_CLASSES     = NO
-
-# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
-# friend (class|struct|union) declarations.
-# If set to NO (the default) these declarations will be included in the
-# documentation.
-
-HIDE_FRIEND_COMPOUNDS  = NO
-
-# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
-# documentation blocks found inside the body of a function.
-# If set to NO (the default) these blocks will be appended to the
-# function's detailed documentation block.
-
-HIDE_IN_BODY_DOCS      = NO
-
-# The INTERNAL_DOCS tag determines if documentation
-# that is typed after a \internal command is included. If the tag is set
-# to NO (the default) then the documentation will be excluded.
-# Set it to YES to include the internal documentation.
-
-INTERNAL_DOCS          = NO
-
-# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
-# file names in lower-case letters. If set to YES upper-case letters are also
-# allowed. This is useful if you have classes or files whose names only differ
-# in case and if your file system supports case sensitive file names. Windows
-# and Mac users are advised to set this option to NO.
-
-CASE_SENSE_NAMES       = YES
-
-# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
-# will show members with their full class and namespace scopes in the
-# documentation. If set to YES the scope will be hidden.
-
-HIDE_SCOPE_NAMES       = NO
-
-# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
-# will put a list of the files that are included by a file in the documentation
-# of that file.
-
-SHOW_INCLUDE_FILES     = YES
-
-# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
-# is inserted in the documentation for inline members.
-
-INLINE_INFO            = YES
-
-# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
-# will sort the (detailed) documentation of file and class members
-# alphabetically by member name. If set to NO the members will appear in
-# declaration order.
-
-SORT_MEMBER_DOCS       = YES
-
-# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
-# brief documentation of file, namespace and class members alphabetically
-# by member name. If set to NO (the default) the members will appear in
-# declaration order.
-
-SORT_BRIEF_DOCS        = NO
-
-# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the (brief and detailed) documentation of class members so that constructors and destructors are listed first. If set to NO (the default) the constructors will appear in the respective orders defined by SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO.
-
-SORT_MEMBERS_CTORS_1ST = NO
-
-# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the
-# hierarchy of group names into alphabetical order. If set to NO (the default)
-# the group names will appear in their defined order.
-
-SORT_GROUP_NAMES       = NO
-
-# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
-# sorted by fully-qualified names, including namespaces. If set to
-# NO (the default), the class list will be sorted only by class name,
-# not including the namespace part.
-# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
-# Note: This option applies only to the class list, not to the
-# alphabetical list.
-
-SORT_BY_SCOPE_NAME     = NO
-
-# The GENERATE_TODOLIST tag can be used to enable (YES) or
-# disable (NO) the todo list. This list is created by putting \todo
-# commands in the documentation.
-
-GENERATE_TODOLIST      = YES
-
-# The GENERATE_TESTLIST tag can be used to enable (YES) or
-# disable (NO) the test list. This list is created by putting \test
-# commands in the documentation.
-
-GENERATE_TESTLIST      = YES
-
-# The GENERATE_BUGLIST tag can be used to enable (YES) or
-# disable (NO) the bug list. This list is created by putting \bug
-# commands in the documentation.
-
-GENERATE_BUGLIST       = YES
-
-# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
-# disable (NO) the deprecated list. This list is created by putting
-# \deprecated commands in the documentation.
-
-GENERATE_DEPRECATEDLIST= YES
-
-# The ENABLED_SECTIONS tag can be used to enable conditional
-# documentation sections, marked by \if sectionname ... \endif.
-
-ENABLED_SECTIONS       =
-
-# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
-# the initial value of a variable or define consists of for it to appear in
-# the documentation. If the initializer consists of more lines than specified
-# here it will be hidden. Use a value of 0 to hide initializers completely.
-# The appearance of the initializer of individual variables and defines in the
-# documentation can be controlled using \showinitializer or \hideinitializer
-# command in the documentation regardless of this setting.
-
-MAX_INITIALIZER_LINES  = 30
-
-# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
-# at the bottom of the documentation of classes and structs. If set to YES the
-# list will mention the files that were used to generate the documentation.
-
-SHOW_USED_FILES        = YES
-
-# If the sources in your project are distributed over multiple directories
-# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
-# in the documentation. The default is NO.
-
-SHOW_DIRECTORIES       = NO
-
-# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
-# This will remove the Files entry from the Quick Index and from the
-# Folder Tree View (if specified). The default is YES.
-
-SHOW_FILES             = YES
-
-# Set the SHOW_NAMESPACES tag to NO to disable the generation of the
-# Namespaces page.
-# This will remove the Namespaces entry from the Quick Index
-# and from the Folder Tree View (if specified). The default is YES.
-
-SHOW_NAMESPACES        = YES
-
-# The FILE_VERSION_FILTER tag can be used to specify a program or script that
-# doxygen should invoke to get the current version for each file (typically from
-# the version control system). Doxygen will invoke the program by executing (via
-# popen()) the command <command> <input-file>, where <command> is the value of
-# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file
-# provided by doxygen. Whatever the program writes to standard output
-# is used as the file version. See the manual for examples.
-
-FILE_VERSION_FILTER    =
-
-# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by
-# doxygen. The layout file controls the global structure of the generated output files
-# in an output format independent way. The create the layout file that represents
-# doxygen's defaults, run doxygen with the -l option. You can optionally specify a
-# file name after the option, if omitted DoxygenLayout.xml will be used as the name
-# of the layout file.
-
-LAYOUT_FILE            =
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-# The QUIET tag can be used to turn on/off the messages that are generated
-# by doxygen. Possible values are YES and NO. If left blank NO is used.
-
-QUIET                  = YES
-
-# The WARNINGS tag can be used to turn on/off the warning messages that are
-# generated by doxygen. Possible values are YES and NO. If left blank
-# NO is used.
-
-WARNINGS               = YES
-
-# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
-# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
-# automatically be disabled.
-
-WARN_IF_UNDOCUMENTED   = YES
-
-# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
-# potential errors in the documentation, such as not documenting some
-# parameters in a documented function, or documenting parameters that
-# don't exist or using markup commands wrongly.
-
-WARN_IF_DOC_ERROR      = YES
-
-# This WARN_NO_PARAMDOC option can be abled to get warnings for
-# functions that are documented, but have no documentation for their parameters
-# or return value. If set to NO (the default) doxygen will only warn about
-# wrong or incomplete parameter documentation, but not about the absence of
-# documentation.
-
-WARN_NO_PARAMDOC       = NO
-
-# The WARN_FORMAT tag determines the format of the warning messages that
-# doxygen can produce. The string should contain the $file, $line, and $text
-# tags, which will be replaced by the file and line number from which the
-# warning originated and the warning text. Optionally the format may contain
-# $version, which will be replaced by the version of the file (if it could
-# be obtained via FILE_VERSION_FILTER)
-
-WARN_FORMAT            = "$file:$line: $text"
-
-# The WARN_LOGFILE tag can be used to specify a file to which warning
-# and error messages should be written. If left blank the output is written
-# to stderr.
-
-WARN_LOGFILE           =
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-# The INPUT tag can be used to specify the files and/or directories that contain
-# documented source files. You may enter file names like "myfile.cpp" or
-# directories like "/usr/src/myproject". Separate the files or directories
-# with spaces.
-
-INPUT                  = @INPUT_PATHS@
-
-# This tag can be used to specify the character encoding of the source files
-# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
-# also the default input encoding. Doxygen uses libiconv (or the iconv built
-# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for
-# the list of possible encodings.
-
-INPUT_ENCODING         = UTF-8
-
-# If the value of the INPUT tag contains directories, you can use the
-# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank the following patterns are tested:
-# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx
-# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90
-
-FILE_PATTERNS          = *.h
-
-# The RECURSIVE tag can be used to turn specify whether or not subdirectories
-# should be searched for input files as well. Possible values are YES and NO.
-# If left blank NO is used.
-
-RECURSIVE              = YES
-
-# The EXCLUDE tag can be used to specify files and/or directories that should
-# excluded from the INPUT source files. This way you can easily exclude a
-# subdirectory from a directory tree whose root is specified with the INPUT tag.
-
-EXCLUDE                =
-
-# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
-# directories that are symbolic links (a Unix filesystem feature) are excluded
-# from the input.
-
-EXCLUDE_SYMLINKS       = NO
-
-# If the value of the INPUT tag contains directories, you can use the
-# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
-# certain files from those directories. Note that the wildcards are matched
-# against the file with absolute path, so to exclude all test directories
-# for example use the pattern */test/*
-
-EXCLUDE_PATTERNS       =
-
-# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
-# (namespaces, classes, functions, etc.) that should be excluded from the
-# output. The symbol name can be a fully qualified name, a word, or if the
-# wildcard * is used, a substring. Examples: ANamespace, AClass,
-# AClass::ANamespace, ANamespace::*Test
-
-EXCLUDE_SYMBOLS        =
-
-# The EXAMPLE_PATH tag can be used to specify one or more files or
-# directories that contain example code fragments that are included (see
-# the \include command).
-
-EXAMPLE_PATH           =
-
-# If the value of the EXAMPLE_PATH tag contains directories, you can use the
-# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank all files are included.
-
-EXAMPLE_PATTERNS       =
-
-# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
-# searched for input files to be used with the \include or \dontinclude
-# commands irrespective of the value of the RECURSIVE tag.
-# Possible values are YES and NO. If left blank NO is used.
-
-EXAMPLE_RECURSIVE      = NO
-
-# The IMAGE_PATH tag can be used to specify one or more files or
-# directories that contain image that are included in the documentation (see
-# the \image command).
-
-IMAGE_PATH             =
-
-# The INPUT_FILTER tag can be used to specify a program that doxygen should
-# invoke to filter for each input file. Doxygen will invoke the filter program
-# by executing (via popen()) the command <filter> <input-file>, where <filter>
-# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
-# input file. Doxygen will then use the output that the filter program writes
-# to standard output.
-# If FILTER_PATTERNS is specified, this tag will be
-# ignored.
-
-INPUT_FILTER           =
-
-# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
-# basis.
-# Doxygen will compare the file name with each pattern and apply the
-# filter if there is a match.
-# The filters are a list of the form:
-# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
-# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER
-# is applied to all files.
-
-FILTER_PATTERNS        =
-
-# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
-# INPUT_FILTER) will be used to filter the input files when producing source
-# files to browse (i.e. when SOURCE_BROWSER is set to YES).
-
-FILTER_SOURCE_FILES    = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-
-# If the SOURCE_BROWSER tag is set to YES then a list of source files will
-# be generated. Documented entities will be cross-referenced with these sources.
-# Note: To get rid of all source code in the generated output, make sure also
-# VERBATIM_HEADERS is set to NO.
-
-SOURCE_BROWSER         = NO
-
-# Setting the INLINE_SOURCES tag to YES will include the body
-# of functions and classes directly in the documentation.
-
-INLINE_SOURCES         = NO
-
-# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
-# doxygen to hide any special comment blocks from generated source code
-# fragments. Normal C and C++ comments will always remain visible.
-
-STRIP_CODE_COMMENTS    = YES
-
-# If the REFERENCED_BY_RELATION tag is set to YES
-# then for each documented function all documented
-# functions referencing it will be listed.
-
-REFERENCED_BY_RELATION = NO
-
-# If the REFERENCES_RELATION tag is set to YES
-# then for each documented function all documented entities
-# called/used by that function will be listed.
-
-REFERENCES_RELATION    = NO
-
-# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
-# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
-# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
-# link to the source code.
-# Otherwise they will link to the documentation.
-
-REFERENCES_LINK_SOURCE = YES
-
-# If the USE_HTAGS tag is set to YES then the references to source code
-# will point to the HTML generated by the htags(1) tool instead of doxygen
-# built-in source browser. The htags tool is part of GNU's global source
-# tagging system (see http://www.gnu.org/software/global/global.html). You
-# will need version 4.8.6 or higher.
-
-USE_HTAGS              = NO
-
-# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
-# will generate a verbatim copy of the header file for each class for
-# which an include is specified. Set to NO to disable this.
-
-VERBATIM_HEADERS       = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
-# of all compounds will be generated. Enable this if the project
-# contains a lot of classes, structs, unions or interfaces.
-
-ALPHABETICAL_INDEX     = NO
-
-# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
-# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
-# in which this list will be split (can be a number in the range [1..20])
-
-COLS_IN_ALPHA_INDEX    = 5
-
-# In case all classes in a project start with a common prefix, all
-# classes will be put under the same header in the alphabetical index.
-# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
-# should be ignored while generating the index headers.
-
-IGNORE_PREFIX          =
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
-# generate HTML output.
-
-GENERATE_HTML          = NO
-
-# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `html' will be used as the default path.
-
-HTML_OUTPUT            = html
-
-# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
-# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
-# doxygen will generate files with .html extension.
-
-HTML_FILE_EXTENSION    = .html
-
-# The HTML_HEADER tag can be used to specify a personal HTML header for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard header.
-
-HTML_HEADER            =
-
-# The HTML_FOOTER tag can be used to specify a personal HTML footer for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard footer.
-
-HTML_FOOTER            =
-
-# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
-# style sheet that is used by each HTML page. It can be used to
-# fine-tune the look of the HTML output. If the tag is left blank doxygen
-# will generate a default style sheet. Note that doxygen will try to copy
-# the style sheet file to the HTML output directory, so don't put your own
-# stylesheet in the HTML output directory as well, or it will be erased!
-
-HTML_STYLESHEET        =
-
-# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
-# files or namespaces will be aligned in HTML using tables. If set to
-# NO a bullet list will be used.
-
-HTML_ALIGN_MEMBERS     = YES
-
-# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
-# documentation will contain sections that can be hidden and shown after the
-# page has loaded. For this to work a browser that supports
-# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
-# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
-
-HTML_DYNAMIC_SECTIONS  = NO
-
-# If the GENERATE_DOCSET tag is set to YES, additional index files
-# will be generated that can be used as input for Apple's Xcode 3
-# integrated development environment, introduced with OSX 10.5 (Leopard).
-# To create a documentation set, doxygen will generate a Makefile in the
-# HTML output directory. Running make will produce the docset in that
-# directory and running "make install" will install the docset in
-# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find
-# it at startup.
-# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information.
-
-GENERATE_DOCSET        = NO
-
-# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the
-# feed. A documentation feed provides an umbrella under which multiple
-# documentation sets from a single provider (such as a company or product suite)
-# can be grouped.
-
-DOCSET_FEEDNAME        = "Doxygen generated docs"
-
-# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that
-# should uniquely identify the documentation set bundle. This should be a
-# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen
-# will append .docset to the name.
-
-DOCSET_BUNDLE_ID       = org.doxygen.Project
-
-# If the GENERATE_HTMLHELP tag is set to YES, additional index files
-# will be generated that can be used as input for tools like the
-# Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
-# of the generated HTML documentation.
-
-GENERATE_HTMLHELP      = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
-# be used to specify the file name of the resulting .chm file. You
-# can add a path in front of the file if the result should not be
-# written to the html output directory.
-
-CHM_FILE               =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
-# be used to specify the location (absolute path including file name) of
-# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
-# the HTML help compiler on the generated index.hhp.
-
-HHC_LOCATION           =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
-# controls if a separate .chi index file is generated (YES) or that
-# it should be included in the master .chm file (NO).
-
-GENERATE_CHI           = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING
-# is used to encode HtmlHelp index (hhk), content (hhc) and project file
-# content.
-
-CHM_INDEX_ENCODING     =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
-# controls whether a binary table of contents is generated (YES) or a
-# normal table of contents (NO) in the .chm file.
-
-BINARY_TOC             = NO
-
-# The TOC_EXPAND flag can be set to YES to add extra items for group members
-# to the contents of the HTML help documentation and to the tree view.
-
-TOC_EXPAND             = NO
-
-# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER
-# are set, an additional index file will be generated that can be used as input for
-# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated
-# HTML documentation.
-
-GENERATE_QHP           = NO
-
-# If the QHG_LOCATION tag is specified, the QCH_FILE tag can
-# be used to specify the file name of the resulting .qch file.
-# The path specified is relative to the HTML output folder.
-
-QCH_FILE               =
-
-# The QHP_NAMESPACE tag specifies the namespace to use when generating
-# Qt Help Project output. For more information please see
-# http://doc.trolltech.com/qthelpproject.html#namespace
-
-QHP_NAMESPACE          =
-
-# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating
-# Qt Help Project output. For more information please see
-# http://doc.trolltech.com/qthelpproject.html#virtual-folders
-
-QHP_VIRTUAL_FOLDER     = doc
-
-# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add.
-# For more information please see
-# http://doc.trolltech.com/qthelpproject.html#custom-filters
-
-QHP_CUST_FILTER_NAME   =
-
-# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see
-# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">Qt Help Project / Custom Filters</a>.
-
-QHP_CUST_FILTER_ATTRS  =
-
-# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's
-# filter section matches.
-# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">Qt Help Project / Filter Attributes</a>.
-
-QHP_SECT_FILTER_ATTRS  =
-
-# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can
-# be used to specify the location of Qt's qhelpgenerator.
-# If non-empty doxygen will try to run qhelpgenerator on the generated
-# .qhp file.
-
-QHG_LOCATION           =
-
-# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
-# top of each HTML page. The value NO (the default) enables the index and
-# the value YES disables it.
-
-DISABLE_INDEX          = NO
-
-# This tag can be used to set the number of enum values (range [1..20])
-# that doxygen will group on one line in the generated HTML documentation.
-
-ENUM_VALUES_PER_LINE   = 4
-
-# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
-# structure should be generated to display hierarchical information.
-# If the tag value is set to YES, a side panel will be generated
-# containing a tree-like index structure (just like the one that
-# is generated for HTML Help). For this to work a browser that supports
-# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).
-# Windows users are probably better off using the HTML help feature.
-
-GENERATE_TREEVIEW      = NO
-
-# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories,
-# and Class Hierarchy pages using a tree view instead of an ordered list.
-
-USE_INLINE_TREES       = NO
-
-# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
-# used to set the initial width (in pixels) of the frame in which the tree
-# is shown.
-
-TREEVIEW_WIDTH         = 250
-
-# Use this tag to change the font size of Latex formulas included
-# as images in the HTML documentation. The default is 10. Note that
-# when you change the font size after a successful doxygen run you need
-# to manually remove any form_*.png images from the HTML output directory
-# to force them to be regenerated.
-
-FORMULA_FONTSIZE       = 10
-
-# When the SEARCHENGINE tag is enable doxygen will generate a search box for the HTML output. The underlying search engine uses javascript
-# and DHTML and should work on any modern browser. Note that when using HTML help (GENERATE_HTMLHELP) or Qt help (GENERATE_QHP)
-# there is already a search function so this one should typically
-# be disabled.
-
-SEARCHENGINE           = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
-# generate Latex output.
-
-GENERATE_LATEX         = NO
-
-# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `latex' will be used as the default path.
-
-LATEX_OUTPUT           = latex
-
-# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
-# invoked. If left blank `latex' will be used as the default command name.
-
-LATEX_CMD_NAME         = latex
-
-# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
-# generate index for LaTeX. If left blank `makeindex' will be used as the
-# default command name.
-
-MAKEINDEX_CMD_NAME     = makeindex
-
-# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
-# LaTeX documents. This may be useful for small projects and may help to
-# save some trees in general.
-
-COMPACT_LATEX          = NO
-
-# The PAPER_TYPE tag can be used to set the paper type that is used
-# by the printer. Possible values are: a4, a4wide, letter, legal and
-# executive. If left blank a4wide will be used.
-
-PAPER_TYPE             = a4wide
-
-# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
-# packages that should be included in the LaTeX output.
-
-EXTRA_PACKAGES         =
-
-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
-# the generated latex document. The header should contain everything until
-# the first chapter. If it is left blank doxygen will generate a
-# standard header. Notice: only use this tag if you know what you are doing!
-
-LATEX_HEADER           =
-
-# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
-# is prepared for conversion to pdf (using ps2pdf). The pdf file will
-# contain links (just like the HTML output) instead of page references
-# This makes the output suitable for online browsing using a pdf viewer.
-
-PDF_HYPERLINKS         = YES
-
-# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
-# plain latex in the generated Makefile. Set this option to YES to get a
-# higher quality PDF documentation.
-
-USE_PDFLATEX           = YES
-
-# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
-# command to the generated LaTeX files. This will instruct LaTeX to keep
-# running if errors occur, instead of asking the user for help.
-# This option is also used when generating formulas in HTML.
-
-LATEX_BATCHMODE        = NO
-
-# If LATEX_HIDE_INDICES is set to YES then doxygen will not
-# include the index chapters (such as File Index, Compound Index, etc.)
-# in the output.
-
-LATEX_HIDE_INDICES     = NO
-
-# If LATEX_SOURCE_CODE is set to YES then doxygen will include source code with syntax highlighting in the LaTeX output. Note that which sources are shown also depends on other settings such as SOURCE_BROWSER.
-
-LATEX_SOURCE_CODE      = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
-# The RTF output is optimized for Word 97 and may not look very pretty with
-# other RTF readers or editors.
-
-GENERATE_RTF           = NO
-
-# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `rtf' will be used as the default path.
-
-RTF_OUTPUT             = rtf
-
-# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
-# RTF documents. This may be useful for small projects and may help to
-# save some trees in general.
-
-COMPACT_RTF            = NO
-
-# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
-# will contain hyperlink fields. The RTF file will
-# contain links (just like the HTML output) instead of page references.
-# This makes the output suitable for online browsing using WORD or other
-# programs which support those fields.
-# Note: wordpad (write) and others do not support links.
-
-RTF_HYPERLINKS         = NO
-
-# Load stylesheet definitions from file. Syntax is similar to doxygen's
-# config file, i.e. a series of assignments. You only have to provide
-# replacements, missing definitions are set to their default value.
-
-RTF_STYLESHEET_FILE    =
-
-# Set optional variables used in the generation of an rtf document.
-# Syntax is similar to doxygen's config file.
-
-RTF_EXTENSIONS_FILE    =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
-# generate man pages
-
-GENERATE_MAN           = NO
-
-# The MAN_OUTPUT tag is used to specify where the man pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `man' will be used as the default path.
-
-MAN_OUTPUT             = man
-
-# The MAN_EXTENSION tag determines the extension that is added to
-# the generated man pages (default is the subroutine's section .3)
-
-MAN_EXTENSION          = .3
-
-# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
-# then it will generate one additional man file for each entity
-# documented in the real man page(s). These additional files
-# only source the real man page, but without them the man command
-# would be unable to find the correct page. The default is NO.
-
-MAN_LINKS              = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_XML tag is set to YES Doxygen will
-# generate an XML file that captures the structure of
-# the code including all documentation.
-
-GENERATE_XML           = YES
-
-# The XML_OUTPUT tag is used to specify where the XML pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `xml' will be used as the default path.
-
-XML_OUTPUT             = xml
-
-# The XML_SCHEMA tag can be used to specify an XML schema,
-# which can be used by a validating XML parser to check the
-# syntax of the XML files.
-
-XML_SCHEMA             =
-
-# The XML_DTD tag can be used to specify an XML DTD,
-# which can be used by a validating XML parser to check the
-# syntax of the XML files.
-
-XML_DTD                =
-
-# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
-# dump the program listings (including syntax highlighting
-# and cross-referencing information) to the XML output. Note that
-# enabling this will significantly increase the size of the XML output.
-
-XML_PROGRAMLISTING     = YES
-
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
-# generate an AutoGen Definitions (see autogen.sf.net) file
-# that captures the structure of the code including all
-# documentation. Note that this feature is still experimental
-# and incomplete at the moment.
-
-GENERATE_AUTOGEN_DEF   = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_PERLMOD tag is set to YES Doxygen will
-# generate a Perl module file that captures the structure of
-# the code including all documentation. Note that this
-# feature is still experimental and incomplete at the
-# moment.
-
-GENERATE_PERLMOD       = NO
-
-# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
-# the necessary Makefile rules, Perl scripts and LaTeX code to be able
-# to generate PDF and DVI output from the Perl module output.
-
-PERLMOD_LATEX          = NO
-
-# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
-# nicely formatted so it can be parsed by a human reader.
-# This is useful
-# if you want to understand what is going on.
-# On the other hand, if this
-# tag is set to NO the size of the Perl module output will be much smaller
-# and Perl will parse it just the same.
-
-PERLMOD_PRETTY         = YES
-
-# The names of the make variables in the generated doxyrules.make file
-# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
-# This is useful so different doxyrules.make files included by the same
-# Makefile don't overwrite each other's variables.
-
-PERLMOD_MAKEVAR_PREFIX =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
-# evaluate all C-preprocessor directives found in the sources and include
-# files.
-
-ENABLE_PREPROCESSING   = YES
-
-# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
-# names in the source code. If set to NO (the default) only conditional
-# compilation will be performed. Macro expansion can be done in a controlled
-# way by setting EXPAND_ONLY_PREDEF to YES.
-
-MACRO_EXPANSION        = YES
-
-# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
-# then the macro expansion is limited to the macros specified with the
-# PREDEFINED and EXPAND_AS_DEFINED tags.
-
-EXPAND_ONLY_PREDEF     = NO
-
-# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
-# in the INCLUDE_PATH (see below) will be search if a #include is found.
-
-SEARCH_INCLUDES        = YES
-
-# The INCLUDE_PATH tag can be used to specify one or more directories that
-# contain include files that are not input files but should be processed by
-# the preprocessor.
-
-INCLUDE_PATH           =
-
-# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
-# patterns (like *.h and *.hpp) to filter out the header-files in the
-# directories. If left blank, the patterns specified with FILE_PATTERNS will
-# be used.
-
-INCLUDE_FILE_PATTERNS  =
-
-# The PREDEFINED tag can be used to specify one or more macro names that
-# are defined before the preprocessor is started (similar to the -D option of
-# gcc). The argument of the tag is a list of macros of the form: name
-# or name=definition (no spaces). If the definition and the = are
-# omitted =1 is assumed. To prevent a macro definition from being
-# undefined via #undef or recursively expanded use the := operator
-# instead of the = operator.
-
-PREDEFINED             =
-
-# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
-# this tag can be used to specify a list of macro names that should be expanded.
-# The macro definition that is found in the sources will be used.
-# Use the PREDEFINED tag if you want to use a different macro definition.
-
-EXPAND_AS_DEFINED      =
-
-# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
-# doxygen's preprocessor will remove all function-like macros that are alone
-# on a line, have an all uppercase name, and do not end with a semicolon. Such
-# function macros are typically used for boiler-plate code, and will confuse
-# the parser if not removed.
-
-SKIP_FUNCTION_MACROS   = YES
-
-#---------------------------------------------------------------------------
-# Configuration::additions related to external references
-#---------------------------------------------------------------------------
-
-# The TAGFILES option can be used to specify one or more tagfiles.
-# Optionally an initial location of the external documentation
-# can be added for each tagfile. The format of a tag file without
-# this location is as follows:
-#
-# TAGFILES = file1 file2 ...
-# Adding location for the tag files is done as follows:
-#
-# TAGFILES = file1=loc1 "file2 = loc2" ...
-# where "loc1" and "loc2" can be relative or absolute paths or
-# URLs. If a location is present for each tag, the installdox tool
-# does not have to be run to correct the links.
-# Note that each tag file must have a unique name
-# (where the name does NOT include the path)
-# If a tag file is not located in the directory in which doxygen
-# is run, you must also specify the path to the tagfile here.
-
-TAGFILES               =
-
-# When a file name is specified after GENERATE_TAGFILE, doxygen will create
-# a tag file that is based on the input files it reads.
-
-GENERATE_TAGFILE       =
-
-# If the ALLEXTERNALS tag is set to YES all external classes will be listed
-# in the class index. If set to NO only the inherited external classes
-# will be listed.
-
-ALLEXTERNALS           = NO
-
-# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
-# in the modules index. If set to NO, only the current project's groups will
-# be listed.
-
-EXTERNAL_GROUPS        = YES
-
-# The PERL_PATH should be the absolute path and name of the perl script
-# interpreter (i.e. the result of `which perl').
-
-PERL_PATH              = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
-# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base
-# or super classes. Setting the tag to NO turns the diagrams off. Note that
-# this option is superseded by the HAVE_DOT option below. This is only a
-# fallback. It is recommended to install and use dot, since it yields more
-# powerful graphs.
-
-CLASS_DIAGRAMS         = YES
-
-# You can define message sequence charts within doxygen comments using the \msc
-# command. Doxygen will then run the mscgen tool (see
-# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the
-# documentation. The MSCGEN_PATH tag allows you to specify the directory where
-# the mscgen tool resides. If left empty the tool is assumed to be found in the
-# default search path.
-
-MSCGEN_PATH            =
-
-# If set to YES, the inheritance and collaboration graphs will hide
-# inheritance and usage relations if the target is undocumented
-# or is not a class.
-
-HIDE_UNDOC_RELATIONS   = YES
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz, a graph visualization
-# toolkit from AT&T and Lucent Bell Labs. The other options in this section
-# have no effect if this option is set to NO (the default)
-
-HAVE_DOT               = NO
-
-# By default doxygen will write a font called FreeSans.ttf to the output
-# directory and reference it in all dot files that doxygen generates. This
-# font does not include all possible unicode characters however, so when you need
-# these (or just want a differently looking font) you can specify the font name
-# using DOT_FONTNAME. You need need to make sure dot is able to find the font,
-# which can be done by putting it in a standard location or by setting the
-# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory
-# containing the font.
-
-DOT_FONTNAME           = FreeSans
-
-# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs.
-# The default size is 10pt.
-
-DOT_FONTSIZE           = 10
-
-# By default doxygen will tell dot to use the output directory to look for the
-# FreeSans.ttf font (which doxygen will put there itself). If you specify a
-# different font using DOT_FONTNAME you can set the path where dot
-# can find it using this tag.
-
-DOT_FONTPATH           =
-
-# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect inheritance relations. Setting this tag to YES will force the
-# the CLASS_DIAGRAMS tag to NO.
-
-CLASS_GRAPH            = YES
-
-# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect implementation dependencies (inheritance, containment, and
-# class references variables) of the class with other documented classes.
-
-COLLABORATION_GRAPH    = YES
-
-# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for groups, showing the direct groups dependencies
-
-GROUP_GRAPHS           = YES
-
-# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
-# collaboration diagrams in a style similar to the OMG's Unified Modeling
-# Language.
-
-UML_LOOK               = NO
-
-# If set to YES, the inheritance and collaboration graphs will show the
-# relations between templates and their instances.
-
-TEMPLATE_RELATIONS     = NO
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
-# tags are set to YES then doxygen will generate a graph for each documented
-# file showing the direct and indirect include dependencies of the file with
-# other documented files.
-
-INCLUDE_GRAPH          = YES
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
-# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
-# documented header file showing the documented files that directly or
-# indirectly include this file.
-
-INCLUDED_BY_GRAPH      = YES
-
-# If the CALL_GRAPH and HAVE_DOT options are set to YES then
-# doxygen will generate a call dependency graph for every global function
-# or class method. Note that enabling this option will significantly increase
-# the time of a run. So in most cases it will be better to enable call graphs
-# for selected functions only using the \callgraph command.
-
-CALL_GRAPH             = NO
-
-# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then
-# doxygen will generate a caller dependency graph for every global function
-# or class method. Note that enabling this option will significantly increase
-# the time of a run. So in most cases it will be better to enable caller
-# graphs for selected functions only using the \callergraph command.
-
-CALLER_GRAPH           = NO
-
-# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
-# will graphical hierarchy of all classes instead of a textual one.
-
-GRAPHICAL_HIERARCHY    = YES
-
-# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES
-# then doxygen will show the dependencies a directory has on other directories
-# in a graphical way. The dependency relations are determined by the #include
-# relations between the files in the directories.
-
-DIRECTORY_GRAPH        = YES
-
-# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
-# generated by dot. Possible values are png, jpg, or gif
-# If left blank png will be used.
-
-DOT_IMAGE_FORMAT       = png
-
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found in the path.
-
-DOT_PATH               =
-
-# The DOTFILE_DIRS tag can be used to specify one or more directories that
-# contain dot files that are included in the documentation (see the
-# \dotfile command).
-
-DOTFILE_DIRS           =
-
-# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
-# nodes that will be shown in the graph. If the number of nodes in a graph
-# becomes larger than this value, doxygen will truncate the graph, which is
-# visualized by representing a node as a red box. Note that doxygen if the
-# number of direct children of the root node in a graph is already larger than
-# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note
-# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
-
-DOT_GRAPH_MAX_NODES    = 50
-
-# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
-# graphs generated by dot. A depth value of 3 means that only nodes reachable
-# from the root by following a path via at most 3 edges will be shown. Nodes
-# that lay further from the root node will be omitted. Note that setting this
-# option to 1 or 2 may greatly reduce the computation time needed for large
-# code bases. Also note that the size of a graph can be further restricted by
-# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
-
-MAX_DOT_GRAPH_DEPTH    = 0
-
-# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
-# background. This is disabled by default, because dot on Windows does not
-# seem to support this out of the box. Warning: Depending on the platform used,
-# enabling this option may lead to badly anti-aliased labels on the edges of
-# a graph (i.e. they become hard to read).
-
-DOT_TRANSPARENT        = NO
-
-# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
-# files in one run (i.e. multiple -o and -T options on the command line). This
-# makes dot run faster, but since only newer versions of dot (>1.8.10)
-# support this, this feature is disabled by default.
-
-DOT_MULTI_TARGETS      = YES
-
-# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
-# generate a legend page explaining the meaning of the various boxes and
-# arrows in the dot generated graphs.
-
-GENERATE_LEGEND        = YES
-
-# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
-# remove the intermediate dot files that are used to generate
-# the various graphs.
-
-DOT_CLEANUP            = YES
diff --git a/drivers/gr-gn3s/docs/doxygen/doxyxml/__init__.py b/drivers/gr-gn3s/docs/doxygen/doxyxml/__init__.py
deleted file mode 100644
index 5cd0b3c..0000000
--- a/drivers/gr-gn3s/docs/doxygen/doxyxml/__init__.py
+++ /dev/null
@@ -1,82 +0,0 @@
-#
-# Copyright 2010 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio 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 3, or (at your option)
-# any later version.
-#
-# GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-#
-"""
-Python interface to contents of doxygen xml documentation.
-
-Example use:
-See the contents of the example folder for the C++ and
-doxygen-generated xml used in this example.
-
->>> # Parse the doxygen docs.
->>> import os
->>> this_dir = os.path.dirname(globals()['__file__'])
->>> xml_path = this_dir + "/example/xml/"
->>> di = DoxyIndex(xml_path)
-
-Get a list of all top-level objects.
-
->>> print([mem.name() for mem in di.members()])
-[u'Aadvark', u'aadvarky_enough', u'main']
-
-Get all functions.
-
->>> print([mem.name() for mem in di.in_category(DoxyFunction)])
-[u'aadvarky_enough', u'main']
-
-Check if an object is present.
-
->>> di.has_member(u'Aadvark')
-True
->>> di.has_member(u'Fish')
-False
-
-Get an item by name and check its properties.
-
->>> aad = di.get_member(u'Aadvark')
->>> print(aad.brief_description)
-Models the mammal Aadvark.
->>> print(aad.detailed_description)
-Sadly the model is incomplete and cannot capture all aspects of an aadvark yet.
-<BLANKLINE>
-This line is uninformative and is only to test line breaks in the comments.
->>> [mem.name() for mem in aad.members()]
-[u'aadvarkness', u'print', u'Aadvark', u'get_aadvarkness']
->>> aad.get_member(u'print').brief_description
-u'Outputs the vital aadvark statistics.'
-
-"""
-
-from doxyindex import DoxyIndex, DoxyFunction, DoxyParam, DoxyClass, DoxyFile, DoxyNamespace, DoxyGroup, DoxyFriend, DoxyOther
-
-def _test():
-    import os
-    this_dir = os.path.dirname(globals()['__file__'])
-    xml_path = this_dir + "/example/xml/"
-    di = DoxyIndex(xml_path)
-    # Get the Aadvark class
-    aad = di.get_member('Aadvark')
-    aad.brief_description
-    import doctest
-    return doctest.testmod()
-
-if __name__ == "__main__":
-    _test()
-
diff --git a/drivers/gr-gn3s/docs/doxygen/doxyxml/base.py b/drivers/gr-gn3s/docs/doxygen/doxyxml/base.py
deleted file mode 100644
index e8f026a..0000000
--- a/drivers/gr-gn3s/docs/doxygen/doxyxml/base.py
+++ /dev/null
@@ -1,219 +0,0 @@
-#
-# Copyright 2010 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio 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 3, or (at your option)
-# any later version.
-#
-# GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-#
-"""
-A base class is created.
-
-Classes based upon this are used to make more user-friendly interfaces
-to the doxygen xml docs than the generated classes provide.
-"""
-
-import os
-import pdb
-
-from xml.parsers.expat import ExpatError
-
-from generated import compound
-
-
-class Base(object):
-
-    class Duplicate(StandardError):
-        pass
-
-    class NoSuchMember(StandardError):
-        pass
-
-    class ParsingError(StandardError):
-        pass
-
-    def __init__(self, parse_data, top=None):
-        self._parsed = False
-        self._error = False
-        self._parse_data = parse_data
-        self._members = []
-        self._dict_members = {}
-        self._in_category = {}
-        self._data = {}
-        if top is not None:
-            self._xml_path = top._xml_path
-            # Set up holder of references
-        else:
-            top = self
-            self._refs = {}
-            self._xml_path = parse_data
-        self.top = top
-
-    @classmethod
-    def from_refid(cls, refid, top=None):
-        """ Instantiate class from a refid rather than parsing object. """
-        # First check to see if its already been instantiated.
-        if top is not None and refid in top._refs:
-            return top._refs[refid]
-        # Otherwise create a new instance and set refid.
-        inst = cls(None, top=top)
-        inst.refid = refid
-        inst.add_ref(inst)
-        return inst
-
-    @classmethod
-    def from_parse_data(cls, parse_data, top=None):
-        refid = getattr(parse_data, 'refid', None)
-        if refid is not None and top is not None and refid in top._refs:
-            return top._refs[refid]
-        inst = cls(parse_data, top=top)
-        if refid is not None:
-            inst.refid = refid
-            inst.add_ref(inst)
-        return inst
-
-    def add_ref(self, obj):
-        if hasattr(obj, 'refid'):
-            self.top._refs[obj.refid] = obj
-
-    mem_classes = []
-
-    def get_cls(self, mem):
-        for cls in self.mem_classes:
-            if cls.can_parse(mem):
-                return cls
-        raise StandardError(("Did not find a class for object '%s'." \
-                                 % (mem.get_name())))
-
-    def convert_mem(self, mem):
-        try:
-            cls = self.get_cls(mem)
-            converted = cls.from_parse_data(mem, self.top)
-            if converted is None:
-                raise StandardError('No class matched this object.')
-            self.add_ref(converted)
-            return converted
-        except StandardError, e:
-            print e
-
-    @classmethod
-    def includes(cls, inst):
-        return isinstance(inst, cls)
-
-    @classmethod
-    def can_parse(cls, obj):
-        return False
-
-    def _parse(self):
-        self._parsed = True
-
-    def _get_dict_members(self, cat=None):
-        """
-        For given category a dictionary is returned mapping member names to
-        members of that category.  For names that are duplicated the name is
-        mapped to None.
-        """
-        self.confirm_no_error()
-        if cat not in self._dict_members:
-            new_dict = {}
-            for mem in self.in_category(cat):
-                if mem.name() not in new_dict:
-                    new_dict[mem.name()] = mem
-                else:
-                    new_dict[mem.name()] = self.Duplicate
-            self._dict_members[cat] = new_dict
-        return self._dict_members[cat]
-
-    def in_category(self, cat):
-        self.confirm_no_error()
-        if cat is None:
-            return self._members
-        if cat not in self._in_category:
-            self._in_category[cat] = [mem for mem in self._members
-                                      if cat.includes(mem)]
-        return self._in_category[cat]
-
-    def get_member(self, name, cat=None):
-        self.confirm_no_error()
-        # Check if it's in a namespace or class.
-        bits = name.split('::')
-        first = bits[0]
-        rest = '::'.join(bits[1:])
-        member = self._get_dict_members(cat).get(first, self.NoSuchMember)
-        # Raise any errors that are returned.
-        if member in set([self.NoSuchMember, self.Duplicate]):
-            raise member()
-        if rest:
-            return member.get_member(rest, cat=cat)
-        return member
-
-    def has_member(self, name, cat=None):
-        try:
-            mem = self.get_member(name, cat=cat)
-            return True
-        except self.NoSuchMember:
-            return False
-
-    def data(self):
-        self.confirm_no_error()
-        return self._data
-
-    def members(self):
-        self.confirm_no_error()
-        return self._members
-
-    def process_memberdefs(self):
-        mdtss = []
-        for sec in self._retrieved_data.compounddef.sectiondef:
-            mdtss += sec.memberdef
-        # At the moment we lose all information associated with sections.
-        # Sometimes a memberdef is in several sectiondef.
-        # We make sure we don't get duplicates here.
-        uniques = set([])
-        for mem in mdtss:
-            converted = self.convert_mem(mem)
-            pair = (mem.name, mem.__class__)
-            if pair not in uniques:
-                uniques.add(pair)
-                self._members.append(converted)
-
-    def retrieve_data(self):
-        filename = os.path.join(self._xml_path, self.refid + '.xml')
-        try:
-            self._retrieved_data = compound.parse(filename)
-        except ExpatError:
-            print('Error in xml in file %s' % filename)
-            self._error = True
-            self._retrieved_data = None
-
-    def check_parsed(self):
-        if not self._parsed:
-            self._parse()
-
-    def confirm_no_error(self):
-        self.check_parsed()
-        if self._error:
-            raise self.ParsingError()
-
-    def error(self):
-        self.check_parsed()
-        return self._error
-
-    def name(self):
-        # first see if we can do it without processing.
-        if self._parse_data is not None:
-            return self._parse_data.name
-        self.check_parsed()
-        return self._retrieved_data.compounddef.name
diff --git a/drivers/gr-gn3s/docs/doxygen/doxyxml/doxyindex.py b/drivers/gr-gn3s/docs/doxygen/doxyxml/doxyindex.py
deleted file mode 100644
index 0132ab8..0000000
--- a/drivers/gr-gn3s/docs/doxygen/doxyxml/doxyindex.py
+++ /dev/null
@@ -1,237 +0,0 @@
-#
-# Copyright 2010 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio 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 3, or (at your option)
-# any later version.
-#
-# GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-#
-"""
-Classes providing more user-friendly interfaces to the doxygen xml
-docs than the generated classes provide.
-"""
-
-import os
-
-from generated import index
-from base import Base
-from text import description
-
-class DoxyIndex(Base):
-    """
-    Parses a doxygen xml directory.
-    """
-
-    __module__ = "gnuradio.utils.doxyxml"
-
-    def _parse(self):
-        if self._parsed:
-            return
-        super(DoxyIndex, self)._parse()
-        self._root = index.parse(os.path.join(self._xml_path, 'index.xml'))
-        for mem in self._root.compound:
-            converted = self.convert_mem(mem)
-            # For files we want the contents to be accessible directly
-            # from the parent rather than having to go through the file
-            # object.
-            if self.get_cls(mem) == DoxyFile:
-                if mem.name.endswith('.h'):
-                    self._members += converted.members()
-                    self._members.append(converted)
-            else:
-                self._members.append(converted)
-
-
-def generate_swig_doc_i(self):
-    """
-    %feature("docstring") gr_make_align_on_samplenumbers_ss::align_state "
-    Wraps the C++: gr_align_on_samplenumbers_ss::align_state";
-    """
-    pass
-
-
-class DoxyCompMem(Base):
-
-
-    kind = None
-
-    def __init__(self, *args, **kwargs):
-        super(DoxyCompMem, self).__init__(*args, **kwargs)
-
-    @classmethod
-    def can_parse(cls, obj):
-        return obj.kind == cls.kind
-
-    def set_descriptions(self, parse_data):
-        bd = description(getattr(parse_data, 'briefdescription', None))
-        dd = description(getattr(parse_data, 'detaileddescription', None))
-        self._data['brief_description'] = bd
-        self._data['detailed_description'] = dd
-
-class DoxyCompound(DoxyCompMem):
-    pass
-
-class DoxyMember(DoxyCompMem):
-    pass
-
-
-class DoxyFunction(DoxyMember):
-
-    __module__ = "gnuradio.utils.doxyxml"
-
-    kind = 'function'
-
-    def _parse(self):
-        if self._parsed:
-            return
-        super(DoxyFunction, self)._parse()
-        self.set_descriptions(self._parse_data)
-        self._data['params'] = []
-        prms = self._parse_data.param
-        for prm in prms:
-            self._data['params'].append(DoxyParam(prm))
-
-    brief_description = property(lambda self: self.data()['brief_description'])
-    detailed_description = property(lambda self: self.data()['detailed_description'])
-    params = property(lambda self: self.data()['params'])
-
-Base.mem_classes.append(DoxyFunction)
-
-
-class DoxyParam(DoxyMember):
-
-    __module__ = "gnuradio.utils.doxyxml"
-
-    def _parse(self):
-        if self._parsed:
-            return
-        super(DoxyParam, self)._parse()
-        self.set_descriptions(self._parse_data)
-        self._data['declname'] = self._parse_data.declname
-
-    brief_description = property(lambda self: self.data()['brief_description'])
-    detailed_description = property(lambda self: self.data()['detailed_description'])
-    declname = property(lambda self: self.data()['declname'])
-
-class DoxyClass(DoxyCompound):
-
-    __module__ = "gnuradio.utils.doxyxml"
-
-    kind = 'class'
-
-    def _parse(self):
-        if self._parsed:
-            return
-        super(DoxyClass, self)._parse()
-        self.retrieve_data()
-        if self._error:
-            return
-        self.set_descriptions(self._retrieved_data.compounddef)
-        # Sectiondef.kind tells about whether private or public.
-        # We just ignore this for now.
-        self.process_memberdefs()
-
-    brief_description = property(lambda self: self.data()['brief_description'])
-    detailed_description = property(lambda self: self.data()['detailed_description'])
-
-Base.mem_classes.append(DoxyClass)
-
-
-class DoxyFile(DoxyCompound):
-
-    __module__ = "gnuradio.utils.doxyxml"
-
-    kind = 'file'
-
-    def _parse(self):
-        if self._parsed:
-            return
-        super(DoxyFile, self)._parse()
-        self.retrieve_data()
-        self.set_descriptions(self._retrieved_data.compounddef)
-        if self._error:
-            return
-        self.process_memberdefs()
-
-    brief_description = property(lambda self: self.data()['brief_description'])
-    detailed_description = property(lambda self: self.data()['detailed_description'])
-
-Base.mem_classes.append(DoxyFile)
-
-
-class DoxyNamespace(DoxyCompound):
-
-    __module__ = "gnuradio.utils.doxyxml"
-
-    kind = 'namespace'
-
-Base.mem_classes.append(DoxyNamespace)
-
-
-class DoxyGroup(DoxyCompound):
-
-    __module__ = "gnuradio.utils.doxyxml"
-
-    kind = 'group'
-
-    def _parse(self):
-        if self._parsed:
-            return
-        super(DoxyGroup, self)._parse()
-        self.retrieve_data()
-        if self._error:
-            return
-        cdef = self._retrieved_data.compounddef
-        self._data['title'] = description(cdef.title)
-        # Process inner groups
-        grps = cdef.innergroup
-        for grp in grps:
-            converted = DoxyGroup.from_refid(grp.refid, top=self.top)
-            self._members.append(converted)
-        # Process inner classes
-        klasses = cdef.innerclass
-        for kls in klasses:
-            converted = DoxyClass.from_refid(kls.refid, top=self.top)
-            self._members.append(converted)
-        # Process normal members
-        self.process_memberdefs()
-
-    title = property(lambda self: self.data()['title'])
-
-
-Base.mem_classes.append(DoxyGroup)
-
-
-class DoxyFriend(DoxyMember):
-
-    __module__ = "gnuradio.utils.doxyxml"
-
-    kind = 'friend'
-
-Base.mem_classes.append(DoxyFriend)
-
-
-class DoxyOther(Base):
-
-    __module__ = "gnuradio.utils.doxyxml"
-
-    kinds = set(['variable', 'struct', 'union', 'define', 'typedef', 'enum', 'dir', 'page'])
-
-    @classmethod
-    def can_parse(cls, obj):
-        return obj.kind in cls.kinds
-
-Base.mem_classes.append(DoxyOther)
-
diff --git a/drivers/gr-gn3s/docs/doxygen/doxyxml/example/Doxyfile b/drivers/gr-gn3s/docs/doxygen/doxyxml/example/Doxyfile
deleted file mode 100644
index 9780043..0000000
--- a/drivers/gr-gn3s/docs/doxygen/doxyxml/example/Doxyfile
+++ /dev/null
@@ -1,1551 +0,0 @@
-# Doxyfile 1.6.3
-
-# This file describes the settings to be used by the documentation system
-# doxygen (www.doxygen.org) for a project
-#
-# All text after a hash (#) is considered a comment and will be ignored
-# The format is:
-#       TAG = value [value, ...]
-# For lists items can also be appended using:
-#       TAG += value [value, ...]
-# Values that contain spaces should be placed between quotes (" ")
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-
-# This tag specifies the encoding used for all characters in the config file
-# that follow. The default is UTF-8 which is also the encoding used for all
-# text before the first occurrence of this tag. Doxygen uses libiconv (or the
-# iconv built into libc) for the transcoding. See
-# http://www.gnu.org/software/libiconv for the list of possible encodings.
-
-DOXYFILE_ENCODING      = UTF-8
-
-# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
-# by quotes) that should identify the project.
-
-PROJECT_NAME           =
-
-# The PROJECT_NUMBER tag can be used to enter a project or revision number.
-# This could be handy for archiving the generated documentation or
-# if some version control system is used.
-
-PROJECT_NUMBER         =
-
-# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
-# base path where the generated documentation will be put.
-# If a relative path is entered, it will be relative to the location
-# where doxygen was started. If left blank the current directory will be used.
-
-OUTPUT_DIRECTORY       =
-
-# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
-# 4096 sub-directories (in 2 levels) under the output directory of each output
-# format and will distribute the generated files over these directories.
-# Enabling this option can be useful when feeding doxygen a huge amount of
-# source files, where putting all generated files in the same directory would
-# otherwise cause performance problems for the file system.
-
-CREATE_SUBDIRS         = NO
-
-# The OUTPUT_LANGUAGE tag is used to specify the language in which all
-# documentation generated by doxygen is written. Doxygen will use this
-# information to generate all constant output in the proper language.
-# The default language is English, other supported languages are:
-# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
-# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German,
-# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English
-# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian,
-# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak,
-# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.
-
-OUTPUT_LANGUAGE        = English
-
-# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
-# include brief member descriptions after the members that are listed in
-# the file and class documentation (similar to JavaDoc).
-# Set to NO to disable this.
-
-BRIEF_MEMBER_DESC      = YES
-
-# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
-# the brief description of a member or function before the detailed description.
-# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
-# brief descriptions will be completely suppressed.
-
-REPEAT_BRIEF           = YES
-
-# This tag implements a quasi-intelligent brief description abbreviator
-# that is used to form the text in various listings. Each string
-# in this list, if found as the leading text of the brief description, will be
-# stripped from the text and the result after processing the whole list, is
-# used as the annotated text. Otherwise, the brief description is used as-is.
-# If left blank, the following values are used ("$name" is automatically
-# replaced with the name of the entity): "The $name class" "The $name widget"
-# "The $name file" "is" "provides" "specifies" "contains"
-# "represents" "a" "an" "the"
-
-ABBREVIATE_BRIEF       =
-
-# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
-# Doxygen will generate a detailed section even if there is only a brief
-# description.
-
-ALWAYS_DETAILED_SEC    = NO
-
-# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
-# inherited members of a class in the documentation of that class as if those
-# members were ordinary class members. Constructors, destructors and assignment
-# operators of the base classes will not be shown.
-
-INLINE_INHERITED_MEMB  = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
-# path before files name in the file list and in the header files. If set
-# to NO the shortest path that makes the file name unique will be used.
-
-FULL_PATH_NAMES        = YES
-
-# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
-# can be used to strip a user-defined part of the path. Stripping is
-# only done if one of the specified strings matches the left-hand part of
-# the path. The tag can be used to show relative paths in the file list.
-# If left blank the directory from which doxygen is run is used as the
-# path to strip.
-
-STRIP_FROM_PATH        =
-
-# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
-# the path mentioned in the documentation of a class, which tells
-# the reader which header file to include in order to use a class.
-# If left blank only the name of the header file containing the class
-# definition is used. Otherwise one should specify the include paths that
-# are normally passed to the compiler using the -I flag.
-
-STRIP_FROM_INC_PATH    =
-
-# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
-# (but less readable) file names. This can be useful is your file systems
-# doesn't support long names like on DOS, Mac, or CD-ROM.
-
-SHORT_NAMES            = NO
-
-# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
-# will interpret the first line (until the first dot) of a JavaDoc-style
-# comment as the brief description. If set to NO, the JavaDoc
-# comments will behave just like regular Qt-style comments
-# (thus requiring an explicit @brief command for a brief description.)
-
-JAVADOC_AUTOBRIEF      = NO
-
-# If the QT_AUTOBRIEF tag is set to YES then Doxygen will
-# interpret the first line (until the first dot) of a Qt-style
-# comment as the brief description. If set to NO, the comments
-# will behave just like regular Qt-style comments (thus requiring
-# an explicit \brief command for a brief description.)
-
-QT_AUTOBRIEF           = NO
-
-# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
-# treat a multi-line C++ special comment block (i.e. a block of //! or ///
-# comments) as a brief description. This used to be the default behaviour.
-# The new default is to treat a multi-line C++ comment block as a detailed
-# description. Set this tag to YES if you prefer the old behaviour instead.
-
-MULTILINE_CPP_IS_BRIEF = NO
-
-# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
-# member inherits the documentation from any documented member that it
-# re-implements.
-
-INHERIT_DOCS           = YES
-
-# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
-# a new page for each member. If set to NO, the documentation of a member will
-# be part of the file/class/namespace that contains it.
-
-SEPARATE_MEMBER_PAGES  = NO
-
-# The TAB_SIZE tag can be used to set the number of spaces in a tab.
-# Doxygen uses this value to replace tabs by spaces in code fragments.
-
-TAB_SIZE               = 8
-
-# This tag can be used to specify a number of aliases that acts
-# as commands in the documentation. An alias has the form "name=value".
-# For example adding "sideeffect=\par Side Effects:\n" will allow you to
-# put the command \sideeffect (or @sideeffect) in the documentation, which
-# will result in a user-defined paragraph with heading "Side Effects:".
-# You can put \n's in the value part of an alias to insert newlines.
-
-ALIASES                =
-
-# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
-# sources only. Doxygen will then generate output that is more tailored for C.
-# For instance, some of the names that are used will be different. The list
-# of all members will be omitted, etc.
-
-OPTIMIZE_OUTPUT_FOR_C  = NO
-
-# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
-# sources only. Doxygen will then generate output that is more tailored for
-# Java. For instance, namespaces will be presented as packages, qualified
-# scopes will look different, etc.
-
-OPTIMIZE_OUTPUT_JAVA   = NO
-
-# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
-# sources only. Doxygen will then generate output that is more tailored for
-# Fortran.
-
-OPTIMIZE_FOR_FORTRAN   = NO
-
-# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
-# sources. Doxygen will then generate output that is tailored for
-# VHDL.
-
-OPTIMIZE_OUTPUT_VHDL   = NO
-
-# Doxygen selects the parser to use depending on the extension of the files it parses.
-# With this tag you can assign which parser to use for a given extension.
-# Doxygen has a built-in mapping, but you can override or extend it using this tag.
-# The format is ext=language, where ext is a file extension, and language is one of
-# the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP,
-# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat
-# .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran),
-# use: inc=Fortran f=C. Note that for custom extensions you also need to set FILE_PATTERNS otherwise the files are not read by doxygen.
-
-EXTENSION_MAPPING      =
-
-# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
-# to include (a tag file for) the STL sources as input, then you should
-# set this tag to YES in order to let doxygen match functions declarations and
-# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
-# func(std::string) {}). This also make the inheritance and collaboration
-# diagrams that involve STL classes more complete and accurate.
-
-BUILTIN_STL_SUPPORT    = NO
-
-# If you use Microsoft's C++/CLI language, you should set this option to YES to
-# enable parsing support.
-
-CPP_CLI_SUPPORT        = NO
-
-# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only.
-# Doxygen will parse them like normal C++ but will assume all classes use public
-# instead of private inheritance when no explicit protection keyword is present.
-
-SIP_SUPPORT            = NO
-
-# For Microsoft's IDL there are propget and propput attributes to indicate getter
-# and setter methods for a property. Setting this option to YES (the default)
-# will make doxygen to replace the get and set methods by a property in the
-# documentation. This will only work if the methods are indeed getting or
-# setting a simple type. If this is not the case, or you want to show the
-# methods anyway, you should set this option to NO.
-
-IDL_PROPERTY_SUPPORT   = YES
-
-# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
-# tag is set to YES, then doxygen will reuse the documentation of the first
-# member in the group (if any) for the other members of the group. By default
-# all members of a group must be documented explicitly.
-
-DISTRIBUTE_GROUP_DOC   = NO
-
-# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
-# the same type (for instance a group of public functions) to be put as a
-# subgroup of that type (e.g. under the Public Functions section). Set it to
-# NO to prevent subgrouping. Alternatively, this can be done per class using
-# the \nosubgrouping command.
-
-SUBGROUPING            = YES
-
-# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
-# is documented as struct, union, or enum with the name of the typedef. So
-# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
-# with name TypeT. When disabled the typedef will appear as a member of a file,
-# namespace, or class. And the struct will be named TypeS. This can typically
-# be useful for C code in case the coding convention dictates that all compound
-# types are typedef'ed and only the typedef is referenced, never the tag name.
-
-TYPEDEF_HIDES_STRUCT   = NO
-
-# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to
-# determine which symbols to keep in memory and which to flush to disk.
-# When the cache is full, less often used symbols will be written to disk.
-# For small to medium size projects (<1000 input files) the default value is
-# probably good enough. For larger projects a too small cache size can cause
-# doxygen to be busy swapping symbols to and from disk most of the time
-# causing a significant performance penality.
-# If the system has enough physical memory increasing the cache will improve the
-# performance by keeping more symbols in memory. Note that the value works on
-# a logarithmic scale so increasing the size by one will rougly double the
-# memory usage. The cache size is given by this formula:
-# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
-# corresponding to a cache size of 2^16 = 65536 symbols
-
-SYMBOL_CACHE_SIZE      = 0
-
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-
-# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
-# documentation are documented, even if no documentation was available.
-# Private class members and static file members will be hidden unless
-# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
-
-EXTRACT_ALL            = NO
-
-# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
-# will be included in the documentation.
-
-EXTRACT_PRIVATE        = NO
-
-# If the EXTRACT_STATIC tag is set to YES all static members of a file
-# will be included in the documentation.
-
-EXTRACT_STATIC         = NO
-
-# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
-# defined locally in source files will be included in the documentation.
-# If set to NO only classes defined in header files are included.
-
-EXTRACT_LOCAL_CLASSES  = YES
-
-# This flag is only useful for Objective-C code. When set to YES local
-# methods, which are defined in the implementation section but not in
-# the interface are included in the documentation.
-# If set to NO (the default) only methods in the interface are included.
-
-EXTRACT_LOCAL_METHODS  = NO
-
-# If this flag is set to YES, the members of anonymous namespaces will be
-# extracted and appear in the documentation as a namespace called
-# 'anonymous_namespace{file}', where file will be replaced with the base
-# name of the file that contains the anonymous namespace. By default
-# anonymous namespace are hidden.
-
-EXTRACT_ANON_NSPACES   = NO
-
-# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
-# undocumented members of documented classes, files or namespaces.
-# If set to NO (the default) these members will be included in the
-# various overviews, but no documentation section is generated.
-# This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_MEMBERS     = NO
-
-# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
-# undocumented classes that are normally visible in the class hierarchy.
-# If set to NO (the default) these classes will be included in the various
-# overviews. This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_CLASSES     = NO
-
-# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
-# friend (class|struct|union) declarations.
-# If set to NO (the default) these declarations will be included in the
-# documentation.
-
-HIDE_FRIEND_COMPOUNDS  = NO
-
-# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
-# documentation blocks found inside the body of a function.
-# If set to NO (the default) these blocks will be appended to the
-# function's detailed documentation block.
-
-HIDE_IN_BODY_DOCS      = NO
-
-# The INTERNAL_DOCS tag determines if documentation
-# that is typed after a \internal command is included. If the tag is set
-# to NO (the default) then the documentation will be excluded.
-# Set it to YES to include the internal documentation.
-
-INTERNAL_DOCS          = NO
-
-# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
-# file names in lower-case letters. If set to YES upper-case letters are also
-# allowed. This is useful if you have classes or files whose names only differ
-# in case and if your file system supports case sensitive file names. Windows
-# and Mac users are advised to set this option to NO.
-
-CASE_SENSE_NAMES       = YES
-
-# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
-# will show members with their full class and namespace scopes in the
-# documentation. If set to YES the scope will be hidden.
-
-HIDE_SCOPE_NAMES       = NO
-
-# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
-# will put a list of the files that are included by a file in the documentation
-# of that file.
-
-SHOW_INCLUDE_FILES     = YES
-
-# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen
-# will list include files with double quotes in the documentation
-# rather than with sharp brackets.
-
-FORCE_LOCAL_INCLUDES   = NO
-
-# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
-# is inserted in the documentation for inline members.
-
-INLINE_INFO            = YES
-
-# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
-# will sort the (detailed) documentation of file and class members
-# alphabetically by member name. If set to NO the members will appear in
-# declaration order.
-
-SORT_MEMBER_DOCS       = YES
-
-# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
-# brief documentation of file, namespace and class members alphabetically
-# by member name. If set to NO (the default) the members will appear in
-# declaration order.
-
-SORT_BRIEF_DOCS        = NO
-
-# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the (brief and detailed) documentation of class members so that constructors and destructors are listed first. If set to NO (the default) the constructors will appear in the respective orders defined by SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO.
-
-SORT_MEMBERS_CTORS_1ST = NO
-
-# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the
-# hierarchy of group names into alphabetical order. If set to NO (the default)
-# the group names will appear in their defined order.
-
-SORT_GROUP_NAMES       = NO
-
-# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
-# sorted by fully-qualified names, including namespaces. If set to
-# NO (the default), the class list will be sorted only by class name,
-# not including the namespace part.
-# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
-# Note: This option applies only to the class list, not to the
-# alphabetical list.
-
-SORT_BY_SCOPE_NAME     = NO
-
-# The GENERATE_TODOLIST tag can be used to enable (YES) or
-# disable (NO) the todo list. This list is created by putting \todo
-# commands in the documentation.
-
-GENERATE_TODOLIST      = YES
-
-# The GENERATE_TESTLIST tag can be used to enable (YES) or
-# disable (NO) the test list. This list is created by putting \test
-# commands in the documentation.
-
-GENERATE_TESTLIST      = YES
-
-# The GENERATE_BUGLIST tag can be used to enable (YES) or
-# disable (NO) the bug list. This list is created by putting \bug
-# commands in the documentation.
-
-GENERATE_BUGLIST       = YES
-
-# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
-# disable (NO) the deprecated list. This list is created by putting
-# \deprecated commands in the documentation.
-
-GENERATE_DEPRECATEDLIST= YES
-
-# The ENABLED_SECTIONS tag can be used to enable conditional
-# documentation sections, marked by \if sectionname ... \endif.
-
-ENABLED_SECTIONS       =
-
-# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
-# the initial value of a variable or define consists of for it to appear in
-# the documentation. If the initializer consists of more lines than specified
-# here it will be hidden. Use a value of 0 to hide initializers completely.
-# The appearance of the initializer of individual variables and defines in the
-# documentation can be controlled using \showinitializer or \hideinitializer
-# command in the documentation regardless of this setting.
-
-MAX_INITIALIZER_LINES  = 30
-
-# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
-# at the bottom of the documentation of classes and structs. If set to YES the
-# list will mention the files that were used to generate the documentation.
-
-SHOW_USED_FILES        = YES
-
-# If the sources in your project are distributed over multiple directories
-# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
-# in the documentation. The default is NO.
-
-SHOW_DIRECTORIES       = NO
-
-# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
-# This will remove the Files entry from the Quick Index and from the
-# Folder Tree View (if specified). The default is YES.
-
-SHOW_FILES             = YES
-
-# Set the SHOW_NAMESPACES tag to NO to disable the generation of the
-# Namespaces page.
-# This will remove the Namespaces entry from the Quick Index
-# and from the Folder Tree View (if specified). The default is YES.
-
-SHOW_NAMESPACES        = YES
-
-# The FILE_VERSION_FILTER tag can be used to specify a program or script that
-# doxygen should invoke to get the current version for each file (typically from
-# the version control system). Doxygen will invoke the program by executing (via
-# popen()) the command <command> <input-file>, where <command> is the value of
-# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file
-# provided by doxygen. Whatever the program writes to standard output
-# is used as the file version. See the manual for examples.
-
-FILE_VERSION_FILTER    =
-
-# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by
-# doxygen. The layout file controls the global structure of the generated output files
-# in an output format independent way. The create the layout file that represents
-# doxygen's defaults, run doxygen with the -l option. You can optionally specify a
-# file name after the option, if omitted DoxygenLayout.xml will be used as the name
-# of the layout file.
-
-LAYOUT_FILE            =
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-# The QUIET tag can be used to turn on/off the messages that are generated
-# by doxygen. Possible values are YES and NO. If left blank NO is used.
-
-QUIET                  = NO
-
-# The WARNINGS tag can be used to turn on/off the warning messages that are
-# generated by doxygen. Possible values are YES and NO. If left blank
-# NO is used.
-
-WARNINGS               = YES
-
-# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
-# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
-# automatically be disabled.
-
-WARN_IF_UNDOCUMENTED   = YES
-
-# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
-# potential errors in the documentation, such as not documenting some
-# parameters in a documented function, or documenting parameters that
-# don't exist or using markup commands wrongly.
-
-WARN_IF_DOC_ERROR      = YES
-
-# This WARN_NO_PARAMDOC option can be abled to get warnings for
-# functions that are documented, but have no documentation for their parameters
-# or return value. If set to NO (the default) doxygen will only warn about
-# wrong or incomplete parameter documentation, but not about the absence of
-# documentation.
-
-WARN_NO_PARAMDOC       = NO
-
-# The WARN_FORMAT tag determines the format of the warning messages that
-# doxygen can produce. The string should contain the $file, $line, and $text
-# tags, which will be replaced by the file and line number from which the
-# warning originated and the warning text. Optionally the format may contain
-# $version, which will be replaced by the version of the file (if it could
-# be obtained via FILE_VERSION_FILTER)
-
-WARN_FORMAT            = "$file:$line: $text"
-
-# The WARN_LOGFILE tag can be used to specify a file to which warning
-# and error messages should be written. If left blank the output is written
-# to stderr.
-
-WARN_LOGFILE           =
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-# The INPUT tag can be used to specify the files and/or directories that contain
-# documented source files. You may enter file names like "myfile.cpp" or
-# directories like "/usr/src/myproject". Separate the files or directories
-# with spaces.
-
-INPUT                  =
-
-# This tag can be used to specify the character encoding of the source files
-# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
-# also the default input encoding. Doxygen uses libiconv (or the iconv built
-# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for
-# the list of possible encodings.
-
-INPUT_ENCODING         = UTF-8
-
-# If the value of the INPUT tag contains directories, you can use the
-# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank the following patterns are tested:
-# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx
-# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90
-
-FILE_PATTERNS          =
-
-# The RECURSIVE tag can be used to turn specify whether or not subdirectories
-# should be searched for input files as well. Possible values are YES and NO.
-# If left blank NO is used.
-
-RECURSIVE              = NO
-
-# The EXCLUDE tag can be used to specify files and/or directories that should
-# excluded from the INPUT source files. This way you can easily exclude a
-# subdirectory from a directory tree whose root is specified with the INPUT tag.
-
-EXCLUDE                =
-
-# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
-# directories that are symbolic links (a Unix filesystem feature) are excluded
-# from the input.
-
-EXCLUDE_SYMLINKS       = NO
-
-# If the value of the INPUT tag contains directories, you can use the
-# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
-# certain files from those directories. Note that the wildcards are matched
-# against the file with absolute path, so to exclude all test directories
-# for example use the pattern */test/*
-
-EXCLUDE_PATTERNS       =
-
-# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
-# (namespaces, classes, functions, etc.) that should be excluded from the
-# output. The symbol name can be a fully qualified name, a word, or if the
-# wildcard * is used, a substring. Examples: ANamespace, AClass,
-# AClass::ANamespace, ANamespace::*Test
-
-EXCLUDE_SYMBOLS        =
-
-# The EXAMPLE_PATH tag can be used to specify one or more files or
-# directories that contain example code fragments that are included (see
-# the \include command).
-
-EXAMPLE_PATH           =
-
-# If the value of the EXAMPLE_PATH tag contains directories, you can use the
-# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank all files are included.
-
-EXAMPLE_PATTERNS       =
-
-# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
-# searched for input files to be used with the \include or \dontinclude
-# commands irrespective of the value of the RECURSIVE tag.
-# Possible values are YES and NO. If left blank NO is used.
-
-EXAMPLE_RECURSIVE      = NO
-
-# The IMAGE_PATH tag can be used to specify one or more files or
-# directories that contain image that are included in the documentation (see
-# the \image command).
-
-IMAGE_PATH             =
-
-# The INPUT_FILTER tag can be used to specify a program that doxygen should
-# invoke to filter for each input file. Doxygen will invoke the filter program
-# by executing (via popen()) the command <filter> <input-file>, where <filter>
-# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
-# input file. Doxygen will then use the output that the filter program writes
-# to standard output.
-# If FILTER_PATTERNS is specified, this tag will be
-# ignored.
-
-INPUT_FILTER           =
-
-# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
-# basis.
-# Doxygen will compare the file name with each pattern and apply the
-# filter if there is a match.
-# The filters are a list of the form:
-# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
-# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER
-# is applied to all files.
-
-FILTER_PATTERNS        =
-
-# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
-# INPUT_FILTER) will be used to filter the input files when producing source
-# files to browse (i.e. when SOURCE_BROWSER is set to YES).
-
-FILTER_SOURCE_FILES    = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-
-# If the SOURCE_BROWSER tag is set to YES then a list of source files will
-# be generated. Documented entities will be cross-referenced with these sources.
-# Note: To get rid of all source code in the generated output, make sure also
-# VERBATIM_HEADERS is set to NO.
-
-SOURCE_BROWSER         = NO
-
-# Setting the INLINE_SOURCES tag to YES will include the body
-# of functions and classes directly in the documentation.
-
-INLINE_SOURCES         = NO
-
-# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
-# doxygen to hide any special comment blocks from generated source code
-# fragments. Normal C and C++ comments will always remain visible.
-
-STRIP_CODE_COMMENTS    = YES
-
-# If the REFERENCED_BY_RELATION tag is set to YES
-# then for each documented function all documented
-# functions referencing it will be listed.
-
-REFERENCED_BY_RELATION = NO
-
-# If the REFERENCES_RELATION tag is set to YES
-# then for each documented function all documented entities
-# called/used by that function will be listed.
-
-REFERENCES_RELATION    = NO
-
-# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
-# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
-# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
-# link to the source code.
-# Otherwise they will link to the documentation.
-
-REFERENCES_LINK_SOURCE = YES
-
-# If the USE_HTAGS tag is set to YES then the references to source code
-# will point to the HTML generated by the htags(1) tool instead of doxygen
-# built-in source browser. The htags tool is part of GNU's global source
-# tagging system (see http://www.gnu.org/software/global/global.html). You
-# will need version 4.8.6 or higher.
-
-USE_HTAGS              = NO
-
-# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
-# will generate a verbatim copy of the header file for each class for
-# which an include is specified. Set to NO to disable this.
-
-VERBATIM_HEADERS       = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
-# of all compounds will be generated. Enable this if the project
-# contains a lot of classes, structs, unions or interfaces.
-
-ALPHABETICAL_INDEX     = NO
-
-# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
-# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
-# in which this list will be split (can be a number in the range [1..20])
-
-COLS_IN_ALPHA_INDEX    = 5
-
-# In case all classes in a project start with a common prefix, all
-# classes will be put under the same header in the alphabetical index.
-# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
-# should be ignored while generating the index headers.
-
-IGNORE_PREFIX          =
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
-# generate HTML output.
-
-GENERATE_HTML          = YES
-
-# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `html' will be used as the default path.
-
-HTML_OUTPUT            = html
-
-# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
-# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
-# doxygen will generate files with .html extension.
-
-HTML_FILE_EXTENSION    = .html
-
-# The HTML_HEADER tag can be used to specify a personal HTML header for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard header.
-
-HTML_HEADER            =
-
-# The HTML_FOOTER tag can be used to specify a personal HTML footer for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard footer.
-
-HTML_FOOTER            =
-
-# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
-# style sheet that is used by each HTML page. It can be used to
-# fine-tune the look of the HTML output. If the tag is left blank doxygen
-# will generate a default style sheet. Note that doxygen will try to copy
-# the style sheet file to the HTML output directory, so don't put your own
-# stylesheet in the HTML output directory as well, or it will be erased!
-
-HTML_STYLESHEET        =
-
-# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
-# page will contain the date and time when the page was generated. Setting
-# this to NO can help when comparing the output of multiple runs.
-
-HTML_TIMESTAMP         = YES
-
-# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
-# files or namespaces will be aligned in HTML using tables. If set to
-# NO a bullet list will be used.
-
-HTML_ALIGN_MEMBERS     = YES
-
-# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
-# documentation will contain sections that can be hidden and shown after the
-# page has loaded. For this to work a browser that supports
-# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
-# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
-
-HTML_DYNAMIC_SECTIONS  = NO
-
-# If the GENERATE_DOCSET tag is set to YES, additional index files
-# will be generated that can be used as input for Apple's Xcode 3
-# integrated development environment, introduced with OSX 10.5 (Leopard).
-# To create a documentation set, doxygen will generate a Makefile in the
-# HTML output directory. Running make will produce the docset in that
-# directory and running "make install" will install the docset in
-# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find
-# it at startup.
-# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information.
-
-GENERATE_DOCSET        = NO
-
-# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the
-# feed. A documentation feed provides an umbrella under which multiple
-# documentation sets from a single provider (such as a company or product suite)
-# can be grouped.
-
-DOCSET_FEEDNAME        = "Doxygen generated docs"
-
-# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that
-# should uniquely identify the documentation set bundle. This should be a
-# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen
-# will append .docset to the name.
-
-DOCSET_BUNDLE_ID       = org.doxygen.Project
-
-# If the GENERATE_HTMLHELP tag is set to YES, additional index files
-# will be generated that can be used as input for tools like the
-# Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
-# of the generated HTML documentation.
-
-GENERATE_HTMLHELP      = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
-# be used to specify the file name of the resulting .chm file. You
-# can add a path in front of the file if the result should not be
-# written to the html output directory.
-
-CHM_FILE               =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
-# be used to specify the location (absolute path including file name) of
-# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
-# the HTML help compiler on the generated index.hhp.
-
-HHC_LOCATION           =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
-# controls if a separate .chi index file is generated (YES) or that
-# it should be included in the master .chm file (NO).
-
-GENERATE_CHI           = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING
-# is used to encode HtmlHelp index (hhk), content (hhc) and project file
-# content.
-
-CHM_INDEX_ENCODING     =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
-# controls whether a binary table of contents is generated (YES) or a
-# normal table of contents (NO) in the .chm file.
-
-BINARY_TOC             = NO
-
-# The TOC_EXPAND flag can be set to YES to add extra items for group members
-# to the contents of the HTML help documentation and to the tree view.
-
-TOC_EXPAND             = NO
-
-# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER
-# are set, an additional index file will be generated that can be used as input for
-# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated
-# HTML documentation.
-
-GENERATE_QHP           = NO
-
-# If the QHG_LOCATION tag is specified, the QCH_FILE tag can
-# be used to specify the file name of the resulting .qch file.
-# The path specified is relative to the HTML output folder.
-
-QCH_FILE               =
-
-# The QHP_NAMESPACE tag specifies the namespace to use when generating
-# Qt Help Project output. For more information please see
-# http://doc.trolltech.com/qthelpproject.html#namespace
-
-QHP_NAMESPACE          = org.doxygen.Project
-
-# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating
-# Qt Help Project output. For more information please see
-# http://doc.trolltech.com/qthelpproject.html#virtual-folders
-
-QHP_VIRTUAL_FOLDER     = doc
-
-# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add.
-# For more information please see
-# http://doc.trolltech.com/qthelpproject.html#custom-filters
-
-QHP_CUST_FILTER_NAME   =
-
-# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see
-# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">Qt Help Project / Custom Filters</a>.
-
-QHP_CUST_FILTER_ATTRS  =
-
-# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's
-# filter section matches.
-# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">Qt Help Project / Filter Attributes</a>.
-
-QHP_SECT_FILTER_ATTRS  =
-
-# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can
-# be used to specify the location of Qt's qhelpgenerator.
-# If non-empty doxygen will try to run qhelpgenerator on the generated
-# .qhp file.
-
-QHG_LOCATION           =
-
-# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files
-#  will be generated, which together with the HTML files, form an Eclipse help
-#  plugin. To install this plugin and make it available under the help contents
-# menu in Eclipse, the contents of the directory containing the HTML and XML
-# files needs to be copied into the plugins directory of eclipse. The name of
-# the directory within the plugins directory should be the same as
-# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before the help appears.
-
-GENERATE_ECLIPSEHELP   = NO
-
-# A unique identifier for the eclipse help plugin. When installing the plugin
-# the directory name containing the HTML and XML files should also have
-# this name.
-
-ECLIPSE_DOC_ID         = org.doxygen.Project
-
-# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
-# top of each HTML page. The value NO (the default) enables the index and
-# the value YES disables it.
-
-DISABLE_INDEX          = NO
-
-# This tag can be used to set the number of enum values (range [1..20])
-# that doxygen will group on one line in the generated HTML documentation.
-
-ENUM_VALUES_PER_LINE   = 4
-
-# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
-# structure should be generated to display hierarchical information.
-# If the tag value is set to YES, a side panel will be generated
-# containing a tree-like index structure (just like the one that
-# is generated for HTML Help). For this to work a browser that supports
-# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).
-# Windows users are probably better off using the HTML help feature.
-
-GENERATE_TREEVIEW      = NO
-
-# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories,
-# and Class Hierarchy pages using a tree view instead of an ordered list.
-
-USE_INLINE_TREES       = NO
-
-# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
-# used to set the initial width (in pixels) of the frame in which the tree
-# is shown.
-
-TREEVIEW_WIDTH         = 250
-
-# Use this tag to change the font size of Latex formulas included
-# as images in the HTML documentation. The default is 10. Note that
-# when you change the font size after a successful doxygen run you need
-# to manually remove any form_*.png images from the HTML output directory
-# to force them to be regenerated.
-
-FORMULA_FONTSIZE       = 10
-
-# When the SEARCHENGINE tag is enabled doxygen will generate a search box for the HTML output. The underlying search engine uses javascript
-# and DHTML and should work on any modern browser. Note that when using HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET) there is already a search function so this one should
-# typically be disabled. For large projects the javascript based search engine
-# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution.
-
-SEARCHENGINE           = YES
-
-# When the SERVER_BASED_SEARCH tag is enabled the search engine will be implemented using a PHP enabled web server instead of at the web client using Javascript. Doxygen will generate the search PHP script and index
-# file to put on the web server. The advantage of the server based approach is that it scales better to large projects and allows full text search. The disadvances is that it is more difficult to setup
-# and does not have live searching capabilities.
-
-SERVER_BASED_SEARCH    = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
-# generate Latex output.
-
-GENERATE_LATEX         = YES
-
-# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `latex' will be used as the default path.
-
-LATEX_OUTPUT           = latex
-
-# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
-# invoked. If left blank `latex' will be used as the default command name.
-# Note that when enabling USE_PDFLATEX this option is only used for
-# generating bitmaps for formulas in the HTML output, but not in the
-# Makefile that is written to the output directory.
-
-LATEX_CMD_NAME         = latex
-
-# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
-# generate index for LaTeX. If left blank `makeindex' will be used as the
-# default command name.
-
-MAKEINDEX_CMD_NAME     = makeindex
-
-# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
-# LaTeX documents. This may be useful for small projects and may help to
-# save some trees in general.
-
-COMPACT_LATEX          = NO
-
-# The PAPER_TYPE tag can be used to set the paper type that is used
-# by the printer. Possible values are: a4, a4wide, letter, legal and
-# executive. If left blank a4wide will be used.
-
-PAPER_TYPE             = a4wide
-
-# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
-# packages that should be included in the LaTeX output.
-
-EXTRA_PACKAGES         =
-
-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
-# the generated latex document. The header should contain everything until
-# the first chapter. If it is left blank doxygen will generate a
-# standard header. Notice: only use this tag if you know what you are doing!
-
-LATEX_HEADER           =
-
-# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
-# is prepared for conversion to pdf (using ps2pdf). The pdf file will
-# contain links (just like the HTML output) instead of page references
-# This makes the output suitable for online browsing using a pdf viewer.
-
-PDF_HYPERLINKS         = YES
-
-# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
-# plain latex in the generated Makefile. Set this option to YES to get a
-# higher quality PDF documentation.
-
-USE_PDFLATEX           = YES
-
-# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
-# command to the generated LaTeX files. This will instruct LaTeX to keep
-# running if errors occur, instead of asking the user for help.
-# This option is also used when generating formulas in HTML.
-
-LATEX_BATCHMODE        = NO
-
-# If LATEX_HIDE_INDICES is set to YES then doxygen will not
-# include the index chapters (such as File Index, Compound Index, etc.)
-# in the output.
-
-LATEX_HIDE_INDICES     = NO
-
-# If LATEX_SOURCE_CODE is set to YES then doxygen will include source code with syntax highlighting in the LaTeX output. Note that which sources are shown also depends on other settings such as SOURCE_BROWSER.
-
-LATEX_SOURCE_CODE      = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
-# The RTF output is optimized for Word 97 and may not look very pretty with
-# other RTF readers or editors.
-
-GENERATE_RTF           = NO
-
-# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `rtf' will be used as the default path.
-
-RTF_OUTPUT             = rtf
-
-# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
-# RTF documents. This may be useful for small projects and may help to
-# save some trees in general.
-
-COMPACT_RTF            = NO
-
-# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
-# will contain hyperlink fields. The RTF file will
-# contain links (just like the HTML output) instead of page references.
-# This makes the output suitable for online browsing using WORD or other
-# programs which support those fields.
-# Note: wordpad (write) and others do not support links.
-
-RTF_HYPERLINKS         = NO
-
-# Load stylesheet definitions from file. Syntax is similar to doxygen's
-# config file, i.e. a series of assignments. You only have to provide
-# replacements, missing definitions are set to their default value.
-
-RTF_STYLESHEET_FILE    =
-
-# Set optional variables used in the generation of an rtf document.
-# Syntax is similar to doxygen's config file.
-
-RTF_EXTENSIONS_FILE    =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
-# generate man pages
-
-GENERATE_MAN           = NO
-
-# The MAN_OUTPUT tag is used to specify where the man pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `man' will be used as the default path.
-
-MAN_OUTPUT             = man
-
-# The MAN_EXTENSION tag determines the extension that is added to
-# the generated man pages (default is the subroutine's section .3)
-
-MAN_EXTENSION          = .3
-
-# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
-# then it will generate one additional man file for each entity
-# documented in the real man page(s). These additional files
-# only source the real man page, but without them the man command
-# would be unable to find the correct page. The default is NO.
-
-MAN_LINKS              = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_XML tag is set to YES Doxygen will
-# generate an XML file that captures the structure of
-# the code including all documentation.
-
-GENERATE_XML           = YES
-
-# The XML_OUTPUT tag is used to specify where the XML pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `xml' will be used as the default path.
-
-XML_OUTPUT             = xml
-
-# The XML_SCHEMA tag can be used to specify an XML schema,
-# which can be used by a validating XML parser to check the
-# syntax of the XML files.
-
-XML_SCHEMA             =
-
-# The XML_DTD tag can be used to specify an XML DTD,
-# which can be used by a validating XML parser to check the
-# syntax of the XML files.
-
-XML_DTD                =
-
-# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
-# dump the program listings (including syntax highlighting
-# and cross-referencing information) to the XML output. Note that
-# enabling this will significantly increase the size of the XML output.
-
-XML_PROGRAMLISTING     = YES
-
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
-# generate an AutoGen Definitions (see autogen.sf.net) file
-# that captures the structure of the code including all
-# documentation. Note that this feature is still experimental
-# and incomplete at the moment.
-
-GENERATE_AUTOGEN_DEF   = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_PERLMOD tag is set to YES Doxygen will
-# generate a Perl module file that captures the structure of
-# the code including all documentation. Note that this
-# feature is still experimental and incomplete at the
-# moment.
-
-GENERATE_PERLMOD       = NO
-
-# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
-# the necessary Makefile rules, Perl scripts and LaTeX code to be able
-# to generate PDF and DVI output from the Perl module output.
-
-PERLMOD_LATEX          = NO
-
-# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
-# nicely formatted so it can be parsed by a human reader.
-# This is useful
-# if you want to understand what is going on.
-# On the other hand, if this
-# tag is set to NO the size of the Perl module output will be much smaller
-# and Perl will parse it just the same.
-
-PERLMOD_PRETTY         = YES
-
-# The names of the make variables in the generated doxyrules.make file
-# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
-# This is useful so different doxyrules.make files included by the same
-# Makefile don't overwrite each other's variables.
-
-PERLMOD_MAKEVAR_PREFIX =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
-# evaluate all C-preprocessor directives found in the sources and include
-# files.
-
-ENABLE_PREPROCESSING   = YES
-
-# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
-# names in the source code. If set to NO (the default) only conditional
-# compilation will be performed. Macro expansion can be done in a controlled
-# way by setting EXPAND_ONLY_PREDEF to YES.
-
-MACRO_EXPANSION        = NO
-
-# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
-# then the macro expansion is limited to the macros specified with the
-# PREDEFINED and EXPAND_AS_DEFINED tags.
-
-EXPAND_ONLY_PREDEF     = NO
-
-# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
-# in the INCLUDE_PATH (see below) will be search if a #include is found.
-
-SEARCH_INCLUDES        = YES
-
-# The INCLUDE_PATH tag can be used to specify one or more directories that
-# contain include files that are not input files but should be processed by
-# the preprocessor.
-
-INCLUDE_PATH           =
-
-# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
-# patterns (like *.h and *.hpp) to filter out the header-files in the
-# directories. If left blank, the patterns specified with FILE_PATTERNS will
-# be used.
-
-INCLUDE_FILE_PATTERNS  =
-
-# The PREDEFINED tag can be used to specify one or more macro names that
-# are defined before the preprocessor is started (similar to the -D option of
-# gcc). The argument of the tag is a list of macros of the form: name
-# or name=definition (no spaces). If the definition and the = are
-# omitted =1 is assumed. To prevent a macro definition from being
-# undefined via #undef or recursively expanded use the := operator
-# instead of the = operator.
-
-PREDEFINED             =
-
-# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
-# this tag can be used to specify a list of macro names that should be expanded.
-# The macro definition that is found in the sources will be used.
-# Use the PREDEFINED tag if you want to use a different macro definition.
-
-EXPAND_AS_DEFINED      =
-
-# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
-# doxygen's preprocessor will remove all function-like macros that are alone
-# on a line, have an all uppercase name, and do not end with a semicolon. Such
-# function macros are typically used for boiler-plate code, and will confuse
-# the parser if not removed.
-
-SKIP_FUNCTION_MACROS   = YES
-
-#---------------------------------------------------------------------------
-# Configuration::additions related to external references
-#---------------------------------------------------------------------------
-
-# The TAGFILES option can be used to specify one or more tagfiles.
-# Optionally an initial location of the external documentation
-# can be added for each tagfile. The format of a tag file without
-# this location is as follows:
-#
-# TAGFILES = file1 file2 ...
-# Adding location for the tag files is done as follows:
-#
-# TAGFILES = file1=loc1 "file2 = loc2" ...
-# where "loc1" and "loc2" can be relative or absolute paths or
-# URLs. If a location is present for each tag, the installdox tool
-# does not have to be run to correct the links.
-# Note that each tag file must have a unique name
-# (where the name does NOT include the path)
-# If a tag file is not located in the directory in which doxygen
-# is run, you must also specify the path to the tagfile here.
-
-TAGFILES               =
-
-# When a file name is specified after GENERATE_TAGFILE, doxygen will create
-# a tag file that is based on the input files it reads.
-
-GENERATE_TAGFILE       =
-
-# If the ALLEXTERNALS tag is set to YES all external classes will be listed
-# in the class index. If set to NO only the inherited external classes
-# will be listed.
-
-ALLEXTERNALS           = NO
-
-# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
-# in the modules index. If set to NO, only the current project's groups will
-# be listed.
-
-EXTERNAL_GROUPS        = YES
-
-# The PERL_PATH should be the absolute path and name of the perl script
-# interpreter (i.e. the result of `which perl').
-
-PERL_PATH              = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
-# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base
-# or super classes. Setting the tag to NO turns the diagrams off. Note that
-# this option is superseded by the HAVE_DOT option below. This is only a
-# fallback. It is recommended to install and use dot, since it yields more
-# powerful graphs.
-
-CLASS_DIAGRAMS         = YES
-
-# You can define message sequence charts within doxygen comments using the \msc
-# command. Doxygen will then run the mscgen tool (see
-# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the
-# documentation. The MSCGEN_PATH tag allows you to specify the directory where
-# the mscgen tool resides. If left empty the tool is assumed to be found in the
-# default search path.
-
-MSCGEN_PATH            =
-
-# If set to YES, the inheritance and collaboration graphs will hide
-# inheritance and usage relations if the target is undocumented
-# or is not a class.
-
-HIDE_UNDOC_RELATIONS   = YES
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz, a graph visualization
-# toolkit from AT&T and Lucent Bell Labs. The other options in this section
-# have no effect if this option is set to NO (the default)
-
-HAVE_DOT               = NO
-
-# By default doxygen will write a font called FreeSans.ttf to the output
-# directory and reference it in all dot files that doxygen generates. This
-# font does not include all possible unicode characters however, so when you need
-# these (or just want a differently looking font) you can specify the font name
-# using DOT_FONTNAME. You need need to make sure dot is able to find the font,
-# which can be done by putting it in a standard location or by setting the
-# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory
-# containing the font.
-
-DOT_FONTNAME           = FreeSans
-
-# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs.
-# The default size is 10pt.
-
-DOT_FONTSIZE           = 10
-
-# By default doxygen will tell dot to use the output directory to look for the
-# FreeSans.ttf font (which doxygen will put there itself). If you specify a
-# different font using DOT_FONTNAME you can set the path where dot
-# can find it using this tag.
-
-DOT_FONTPATH           =
-
-# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect inheritance relations. Setting this tag to YES will force the
-# the CLASS_DIAGRAMS tag to NO.
-
-CLASS_GRAPH            = YES
-
-# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect implementation dependencies (inheritance, containment, and
-# class references variables) of the class with other documented classes.
-
-COLLABORATION_GRAPH    = YES
-
-# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for groups, showing the direct groups dependencies
-
-GROUP_GRAPHS           = YES
-
-# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
-# collaboration diagrams in a style similar to the OMG's Unified Modeling
-# Language.
-
-UML_LOOK               = NO
-
-# If set to YES, the inheritance and collaboration graphs will show the
-# relations between templates and their instances.
-
-TEMPLATE_RELATIONS     = NO
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
-# tags are set to YES then doxygen will generate a graph for each documented
-# file showing the direct and indirect include dependencies of the file with
-# other documented files.
-
-INCLUDE_GRAPH          = YES
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
-# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
-# documented header file showing the documented files that directly or
-# indirectly include this file.
-
-INCLUDED_BY_GRAPH      = YES
-
-# If the CALL_GRAPH and HAVE_DOT options are set to YES then
-# doxygen will generate a call dependency graph for every global function
-# or class method. Note that enabling this option will significantly increase
-# the time of a run. So in most cases it will be better to enable call graphs
-# for selected functions only using the \callgraph command.
-
-CALL_GRAPH             = NO
-
-# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then
-# doxygen will generate a caller dependency graph for every global function
-# or class method. Note that enabling this option will significantly increase
-# the time of a run. So in most cases it will be better to enable caller
-# graphs for selected functions only using the \callergraph command.
-
-CALLER_GRAPH           = NO
-
-# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
-# will graphical hierarchy of all classes instead of a textual one.
-
-GRAPHICAL_HIERARCHY    = YES
-
-# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES
-# then doxygen will show the dependencies a directory has on other directories
-# in a graphical way. The dependency relations are determined by the #include
-# relations between the files in the directories.
-
-DIRECTORY_GRAPH        = YES
-
-# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
-# generated by dot. Possible values are png, jpg, or gif
-# If left blank png will be used.
-
-DOT_IMAGE_FORMAT       = png
-
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found in the path.
-
-DOT_PATH               =
-
-# The DOTFILE_DIRS tag can be used to specify one or more directories that
-# contain dot files that are included in the documentation (see the
-# \dotfile command).
-
-DOTFILE_DIRS           =
-
-# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
-# nodes that will be shown in the graph. If the number of nodes in a graph
-# becomes larger than this value, doxygen will truncate the graph, which is
-# visualized by representing a node as a red box. Note that doxygen if the
-# number of direct children of the root node in a graph is already larger than
-# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note
-# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
-
-DOT_GRAPH_MAX_NODES    = 50
-
-# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
-# graphs generated by dot. A depth value of 3 means that only nodes reachable
-# from the root by following a path via at most 3 edges will be shown. Nodes
-# that lay further from the root node will be omitted. Note that setting this
-# option to 1 or 2 may greatly reduce the computation time needed for large
-# code bases. Also note that the size of a graph can be further restricted by
-# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
-
-MAX_DOT_GRAPH_DEPTH    = 0
-
-# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
-# background. This is disabled by default, because dot on Windows does not
-# seem to support this out of the box. Warning: Depending on the platform used,
-# enabling this option may lead to badly anti-aliased labels on the edges of
-# a graph (i.e. they become hard to read).
-
-DOT_TRANSPARENT        = NO
-
-# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
-# files in one run (i.e. multiple -o and -T options on the command line). This
-# makes dot run faster, but since only newer versions of dot (>1.8.10)
-# support this, this feature is disabled by default.
-
-DOT_MULTI_TARGETS      = YES
-
-# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
-# generate a legend page explaining the meaning of the various boxes and
-# arrows in the dot generated graphs.
-
-GENERATE_LEGEND        = YES
-
-# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
-# remove the intermediate dot files that are used to generate
-# the various graphs.
-
-DOT_CLEANUP            = YES
diff --git a/drivers/gr-gn3s/docs/doxygen/doxyxml/example/aadvark.cc b/drivers/gr-gn3s/docs/doxygen/doxyxml/example/aadvark.cc
deleted file mode 100644
index f91c1ba..0000000
--- a/drivers/gr-gn3s/docs/doxygen/doxyxml/example/aadvark.cc
+++ /dev/null
@@ -1,50 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2010 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * GNU Radio 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 3, or (at your option)
- * any later version.
- *
- * GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street,
- * Boston, MA 02110-1301, USA.
- */
-#include <iostream>
-#include "aadvark.h"
-
-void Aadvark::print() {
-  std::cout << "aadvark is " << aadvarkness << "/10 aadvarky" << std::endl;
-}
-
-Aadvark::Aadvark(int aaness): aadvarkness(aaness) {}
-
-bool aadvarky_enough(Aadvark aad) {
-  if (aad.get_aadvarkness() > 6)
-    return true;
-  else
-    return false;
-}
-
-int Aadvark::get_aadvarkness() {
-  return aadvarkness;
-}
-
-int main() {
-  Aadvark arold = Aadvark(6);
-  arold.print();
-  if (aadvarky_enough(arold))
-    std::cout << "He is aadvarky enough" << std::endl;
-  else
-    std::cout << "He is not aadvarky enough" << std::endl;
-}
-
diff --git a/drivers/gr-gn3s/docs/doxygen/doxyxml/example/aadvark.h b/drivers/gr-gn3s/docs/doxygen/doxyxml/example/aadvark.h
deleted file mode 100644
index d3c1744..0000000
--- a/drivers/gr-gn3s/docs/doxygen/doxyxml/example/aadvark.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2010 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * GNU Radio 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 3, or (at your option)
- * any later version.
- *
- * GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street,
- * Boston, MA 02110-1301, USA.
- */
-#include <iostream>
-
-/*!
- * \brief Models the mammal Aadvark.
- *
- * Sadly the model is incomplete and cannot capture all aspects of an aadvark yet.
- *
- * This line is uninformative and is only to test line breaks in the comments.
- */
-class Aadvark {
-public:
-  //! \brief Outputs the vital aadvark statistics.
-  void print();
-  //! \param aaness The aadvarkness of an aadvark is a measure of how aadvarky it is.
-  Aadvark(int aaness);
-  int get_aadvarkness();
-private:
-  int aadvarkness;
-};
-
-bool aadvarky_enough(Aadvark aad);
-
-int main();
diff --git a/drivers/gr-gn3s/docs/doxygen/doxyxml/example/xml/aadvark_8cc.xml b/drivers/gr-gn3s/docs/doxygen/doxyxml/example/xml/aadvark_8cc.xml
deleted file mode 100644
index f031e01..0000000
--- a/drivers/gr-gn3s/docs/doxygen/doxyxml/example/xml/aadvark_8cc.xml
+++ /dev/null
@@ -1,88 +0,0 @@
-<?xml version='1.0' encoding='UTF-8' standalone='no'?>
-<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.6.3">
-  <compounddef id="aadvark_8cc" kind="file">
-    <compoundname>aadvark.cc</compoundname>
-    <includes local="no">iostream</includes>
-    <includes refid="aadvark_8cc" local="yes">aadvark.h</includes>
-    <includedby refid="aadvark_8cc" local="yes">aadvark.cc</includedby>
-    <incdepgraph>
-      <node id="0">
-        <label>aadvark.cc</label>
-        <link refid="aadvark.cc"/>
-        <childnode refid="1" relation="include">
-        </childnode>
-      </node>
-      <node id="1">
-        <label>iostream</label>
-      </node>
-    </incdepgraph>
-      <sectiondef kind="func">
-      <memberdef kind="function" id="aadvark_8cc_1acb52858524210ec6dddc3e16d1e52946" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
-        <type>bool</type>
-        <definition>bool aadvarky_enough</definition>
-        <argsstring>(Aadvark aad)</argsstring>
-        <name>aadvarky_enough</name>
-        <param>
-          <type><ref refid="classAadvark" kindref="compound">Aadvark</ref></type>
-          <declname>aad</declname>
-        </param>
-        <briefdescription>
-        </briefdescription>
-        <detaileddescription>
-        </detaileddescription>
-        <inbodydescription>
-        </inbodydescription>
-        <location file="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.cc" line="10" bodyfile="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.cc" bodystart="10" bodyend="15"/>
-      </memberdef>
-      <memberdef kind="function" id="aadvark_8cc_1ae66f6b31b5ad750f1fe042a706a4e3d4" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
-        <type>int</type>
-        <definition>int main</definition>
-        <argsstring>()</argsstring>
-        <name>main</name>
-        <briefdescription>
-        </briefdescription>
-        <detaileddescription>
-        </detaileddescription>
-        <inbodydescription>
-        </inbodydescription>
-        <location file="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.cc" line="21" bodyfile="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.cc" bodystart="21" bodyend="28"/>
-      </memberdef>
-      </sectiondef>
-    <briefdescription>
-    </briefdescription>
-    <detaileddescription>
-    </detaileddescription>
-    <programlisting>
-<codeline lineno="1"><highlight class="preprocessor">#include<sp/><iostream></highlight><highlight class="normal"></highlight></codeline>
-<codeline lineno="2"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>"aadvark.h"</highlight><highlight class="normal"></highlight></codeline>
-<codeline lineno="3"><highlight class="normal"></highlight></codeline>
-<codeline lineno="4"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classAadvark_1abd061aa5f998002e72080a34f512a059" kindref="member" tooltip="Outputs the vital aadvark statistics.">Aadvark::print</ref>()<sp/>{</highlight></codeline>
-<codeline lineno="5"><highlight class="normal"><sp/><sp/>std::cout<sp/><<<sp/></highlight><highlight class="stringliteral">"aadvark<sp/>is<sp/>"</highlight><highlight class="normal"><sp/><<<sp/>aadvarkness<sp/><<<sp/></highlight><highlight class="stringliteral">"/10<sp/>aadvarky"</highlight><highlight class="normal"><sp/><<<sp/>std::endl;</highlight></codeline>
-<codeline lineno="6"><highlight class="normal">}</highlight></codeline>
-<codeline lineno="7"><highlight class="normal"></highlight></codeline>
-<codeline lineno="8"><highlight class="normal"><ref refid="classAadvark_1adf1a4b97a641411a74a04ab312484462" kindref="member">Aadvark::Aadvark</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>aaness):<sp/>aadvarkness(aaness)<sp/>{}</highlight></codeline>
-<codeline lineno="9"><highlight class="normal"></highlight></codeline>
-<codeline lineno="10"><highlight class="normal"></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>aadvarky_enough(<ref refid="classAadvark" kindref="compound" tooltip="Models the mammal Aadvark.">Aadvark</ref><sp/>aad)<sp/>{</highlight></codeline>
-<codeline lineno="11"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(aad.get_aadvarkness()<sp/>><sp/>6)</highlight></codeline>
-<codeline lineno="12"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">true</highlight><highlight class="normal">;</highlight></codeline>
-<codeline lineno="13"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
-<codeline lineno="14"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">false</highlight><highlight class="normal">;</highlight></codeline>
-<codeline lineno="15"><highlight class="normal">}</highlight></codeline>
-<codeline lineno="16"><highlight class="normal"></highlight></codeline>
-<codeline lineno="17"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>Aadvark::get_aadvarkness()<sp/>{</highlight></codeline>
-<codeline lineno="18"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>aadvarkness;</highlight></codeline>
-<codeline lineno="19"><highlight class="normal">}</highlight></codeline>
-<codeline lineno="20"><highlight class="normal"></highlight></codeline>
-<codeline lineno="21"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>main()<sp/>{</highlight></codeline>
-<codeline lineno="22"><highlight class="normal"><sp/><sp/><ref refid="classAadvark" kindref="compound" tooltip="Models the mammal Aadvark.">Aadvark</ref><sp/>arold<sp/>=<sp/><ref refid="classAadvark" kindref="compound" tooltip="Models the mammal Aadvark.">Aadvark</ref>(6);</highlight></codeline>
-<codeline lineno="23"><highlight class="normal"><sp/><sp/>arold.<ref refid="classAadvark_1abd061aa5f998002e72080a34f512a059" kindref="member" tooltip="Outputs the vital aadvark statistics.">print</ref>();</highlight></codeline>
-<codeline lineno="24"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(aadvarky_enough(arold))</highlight></codeline>
-<codeline lineno="25"><highlight class="normal"><sp/><sp/><sp/><sp/>std::cout<sp/><<<sp/></highlight><highlight class="stringliteral">"He<sp/>is<sp/>aadvarky<sp/>enough"</highlight><highlight class="normal"><sp/><<<sp/>std::endl;</highlight></codeline>
-<codeline lineno="26"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
-<codeline lineno="27"><highlight class="normal"><sp/><sp/><sp/><sp/>std::cout<sp/><<<sp/></highlight><highlight class="stringliteral">"He<sp/>is<sp/>not<sp/>aadvarky<sp/>enough"</highlight><highlight class="normal"><sp/><<<sp/>std::endl;</highlight></codeline>
-<codeline lineno="28"><highlight class="normal">}</highlight></codeline>
-<codeline lineno="29"><highlight class="normal"></highlight></codeline>
-    </programlisting>
-    <location file="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.cc"/>
-  </compounddef>
-</doxygen>
diff --git a/drivers/gr-gn3s/docs/doxygen/doxyxml/example/xml/aadvark_8h.xml b/drivers/gr-gn3s/docs/doxygen/doxyxml/example/xml/aadvark_8h.xml
deleted file mode 100644
index a1854b6..0000000
--- a/drivers/gr-gn3s/docs/doxygen/doxyxml/example/xml/aadvark_8h.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version='1.0' encoding='UTF-8' standalone='no'?>
-<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.6.3">
-  <compounddef id="aadvark_8h" kind="file">
-    <compoundname>aadvark.h</compoundname>
-    <includes local="no">iostream</includes>
-    <incdepgraph>
-      <node id="3">
-        <label>aadvark.h</label>
-        <link refid="aadvark.h"/>
-        <childnode refid="4" relation="include">
-        </childnode>
-      </node>
-      <node id="4">
-        <label>iostream</label>
-      </node>
-    </incdepgraph>
-    <innerclass refid="classAadvark" prot="public">Aadvark</innerclass>
-      <sectiondef kind="func">
-      <memberdef kind="function" id="aadvark_8h_1acb52858524210ec6dddc3e16d1e52946" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
-        <type>bool</type>
-        <definition>bool aadvarky_enough</definition>
-        <argsstring>(Aadvark aad)</argsstring>
-        <name>aadvarky_enough</name>
-        <param>
-          <type><ref refid="classAadvark" kindref="compound">Aadvark</ref></type>
-          <declname>aad</declname>
-        </param>
-        <briefdescription>
-        </briefdescription>
-        <detaileddescription>
-        </detaileddescription>
-        <inbodydescription>
-        </inbodydescription>
-        <location file="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.h" line="21" bodyfile="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.cc" bodystart="10" bodyend="15"/>
-      </memberdef>
-      <memberdef kind="function" id="aadvark_8h_1ae66f6b31b5ad750f1fe042a706a4e3d4" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
-        <type>int</type>
-        <definition>int main</definition>
-        <argsstring>()</argsstring>
-        <name>main</name>
-        <briefdescription>
-        </briefdescription>
-        <detaileddescription>
-        </detaileddescription>
-        <inbodydescription>
-        </inbodydescription>
-        <location file="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.h" line="23" bodyfile="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.cc" bodystart="21" bodyend="28"/>
-      </memberdef>
-      </sectiondef>
-    <briefdescription>
-    </briefdescription>
-    <detaileddescription>
-    </detaileddescription>
-    <programlisting>
-<codeline lineno="1"><highlight class="preprocessor">#include<sp/><iostream></highlight><highlight class="normal"></highlight></codeline>
-<codeline lineno="2"><highlight class="normal"></highlight></codeline>
-<codeline lineno="10" refid="classAadvark" refkind="compound"><highlight class="keyword">class<sp/></highlight><highlight class="normal"><ref refid="classAadvark" kindref="compound" tooltip="Models the mammal Aadvark.">Aadvark</ref><sp/>{</highlight></codeline>
-<codeline lineno="11"><highlight class="normal"></highlight><highlight class="keyword">public</highlight><highlight class="normal">:</highlight></codeline>
-<codeline lineno="13"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classAadvark_1abd061aa5f998002e72080a34f512a059" kindref="member" tooltip="Outputs the vital aadvark statistics.">print</ref>();</highlight></codeline>
-<codeline lineno="15"><highlight class="normal"><sp/><sp/><ref refid="classAadvark_1adf1a4b97a641411a74a04ab312484462" kindref="member">Aadvark</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>aaness);</highlight></codeline>
-<codeline lineno="16"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>get_aadvarkness();</highlight></codeline>
-<codeline lineno="17"><highlight class="normal"></highlight><highlight class="keyword">private</highlight><highlight class="normal">:</highlight></codeline>
-<codeline lineno="18"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>aadvarkness;</highlight></codeline>
-<codeline lineno="19"><highlight class="normal">};</highlight></codeline>
-<codeline lineno="20"><highlight class="normal"></highlight></codeline>
-<codeline lineno="21"><highlight class="normal"></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>aadvarky_enough(<ref refid="classAadvark" kindref="compound" tooltip="Models the mammal Aadvark.">Aadvark</ref><sp/>aad);</highlight></codeline>
-<codeline lineno="22"><highlight class="normal"></highlight></codeline>
-<codeline lineno="23"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>main();</highlight></codeline>
-    </programlisting>
-    <location file="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.h"/>
-  </compounddef>
-</doxygen>
diff --git a/drivers/gr-gn3s/docs/doxygen/doxyxml/example/xml/classAadvark.xml b/drivers/gr-gn3s/docs/doxygen/doxyxml/example/xml/classAadvark.xml
deleted file mode 100644
index 54fe8b3..0000000
--- a/drivers/gr-gn3s/docs/doxygen/doxyxml/example/xml/classAadvark.xml
+++ /dev/null
@@ -1,86 +0,0 @@
-<?xml version='1.0' encoding='UTF-8' standalone='no'?>
-<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.6.3">
-  <compounddef id="classAadvark" kind="class" prot="public">
-    <compoundname>Aadvark</compoundname>
-    <includes refid="aadvark_8h" local="no">aadvark.h</includes>
-      <sectiondef kind="private-attrib">
-      <memberdef kind="variable" id="classAadvark_1ab79eb58d7bb9d5ddfa5d6f783836cab9" prot="private" static="no" mutable="no">
-        <type>int</type>
-        <definition>int Aadvark::aadvarkness</definition>
-        <argsstring></argsstring>
-        <name>aadvarkness</name>
-        <briefdescription>
-        </briefdescription>
-        <detaileddescription>
-        </detaileddescription>
-        <inbodydescription>
-        </inbodydescription>
-        <location file="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.h" line="18" bodyfile="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.h" bodystart="18" bodyend="-1"/>
-      </memberdef>
-      </sectiondef>
-      <sectiondef kind="public-func">
-      <memberdef kind="function" id="classAadvark_1abd061aa5f998002e72080a34f512a059" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
-        <type>void</type>
-        <definition>void Aadvark::print</definition>
-        <argsstring>()</argsstring>
-        <name>print</name>
-        <briefdescription>
-<para>Outputs the vital aadvark statistics. </para>        </briefdescription>
-        <detaileddescription>
-        </detaileddescription>
-        <inbodydescription>
-        </inbodydescription>
-        <location file="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.h" line="13" bodyfile="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.cc" bodystart="4" bodyend="6"/>
-      </memberdef>
-      <memberdef kind="function" id="classAadvark_1adf1a4b97a641411a74a04ab312484462" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
-        <type></type>
-        <definition>Aadvark::Aadvark</definition>
-        <argsstring>(int aaness)</argsstring>
-        <name>Aadvark</name>
-        <param>
-          <type>int</type>
-          <declname>aaness</declname>
-        </param>
-        <briefdescription>
-        </briefdescription>
-        <detaileddescription>
-<para><parameterlist kind="param"><parameteritem>
-<parameternamelist>
-<parametername>aaness</parametername>
-</parameternamelist>
-<parameterdescription>
-<para>The aadvarkness of an aadvark is a measure of how aadvarky it is. </para></parameterdescription>
-</parameteritem>
-</parameterlist>
-</para>        </detaileddescription>
-        <inbodydescription>
-        </inbodydescription>
-        <location file="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.h" line="15" bodyfile="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.cc" bodystart="8" bodyend="8"/>
-      </memberdef>
-      <memberdef kind="function" id="classAadvark_1affd2ada0a85807efcbe26615a848f53e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
-        <type>int</type>
-        <definition>int Aadvark::get_aadvarkness</definition>
-        <argsstring>()</argsstring>
-        <name>get_aadvarkness</name>
-        <briefdescription>
-        </briefdescription>
-        <detaileddescription>
-        </detaileddescription>
-        <inbodydescription>
-        </inbodydescription>
-        <location file="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.h" line="16" bodyfile="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.cc" bodystart="17" bodyend="19"/>
-      </memberdef>
-      </sectiondef>
-    <briefdescription>
-<para>Models the mammal <ref refid="classAadvark" kindref="compound">Aadvark</ref>. </para>    </briefdescription>
-    <detaileddescription>
-<para>Sadly the model is incomplete and cannot capture all aspects of an aadvark yet.</para><para>This line is uninformative and is only to test line breaks in the comments. </para>    </detaileddescription>
-    <location file="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.h" line="10" bodyfile="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.h" bodystart="10" bodyend="19"/>
-    <listofallmembers>
-      <member refid="classAadvark_1adf1a4b97a641411a74a04ab312484462" prot="public" virt="non-virtual"><scope>Aadvark</scope><name>Aadvark</name></member>
-      <member refid="classAadvark_1ab79eb58d7bb9d5ddfa5d6f783836cab9" prot="private" virt="non-virtual"><scope>Aadvark</scope><name>aadvarkness</name></member>
-      <member refid="classAadvark_1affd2ada0a85807efcbe26615a848f53e" prot="public" virt="non-virtual"><scope>Aadvark</scope><name>get_aadvarkness</name></member>
-      <member refid="classAadvark_1abd061aa5f998002e72080a34f512a059" prot="public" virt="non-virtual"><scope>Aadvark</scope><name>print</name></member>
-    </listofallmembers>
-  </compounddef>
-</doxygen>
diff --git a/drivers/gr-gn3s/docs/doxygen/doxyxml/example/xml/combine.xslt b/drivers/gr-gn3s/docs/doxygen/doxyxml/example/xml/combine.xslt
deleted file mode 100644
index 6de203a..0000000
--- a/drivers/gr-gn3s/docs/doxygen/doxyxml/example/xml/combine.xslt
+++ /dev/null
@@ -1,15 +0,0 @@
-<!-- XSLT script to combine the generated output into a single file.
-     If you have xsltproc you could use:
-     xsltproc combine.xslt index.xml >all.xml
--->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-  <xsl:output method="xml" version="1.0" indent="yes" standalone="yes" />
-  <xsl:template match="/">
-    <doxygen version="{doxygenindex/@version}">
-      <!-- Load all doxgen generated xml files -->
-      <xsl:for-each select="doxygenindex/compound">
-        <xsl:copy-of select="document( concat( @refid, '.xml' ) )/doxygen/*" />
-      </xsl:for-each>
-    </doxygen>
-  </xsl:template>
-</xsl:stylesheet>
diff --git a/drivers/gr-gn3s/docs/doxygen/doxyxml/example/xml/compound.xsd b/drivers/gr-gn3s/docs/doxygen/doxyxml/example/xml/compound.xsd
deleted file mode 100644
index 5bb5670..0000000
--- a/drivers/gr-gn3s/docs/doxygen/doxyxml/example/xml/compound.xsd
+++ /dev/null
@@ -1,814 +0,0 @@
-<?xml version='1.0' encoding='utf-8' ?>
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-  <xsd:element name="doxygen" type="DoxygenType"/>
-
-  <!-- Complex types -->
-
-  <xsd:complexType name="DoxygenType">
-    <xsd:sequence maxOccurs="unbounded">
-      <xsd:element name="compounddef" type="compounddefType" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="version" type="DoxVersionNumber" use="required" />
-  </xsd:complexType>
-
-  <xsd:complexType name="compounddefType">
-    <xsd:sequence>
-      <xsd:element name="compoundname" type="xsd:string"/>
-      <xsd:element name="title" type="xsd:string" minOccurs="0" />
-      <xsd:element name="basecompoundref" type="compoundRefType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="derivedcompoundref" type="compoundRefType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="includes" type="incType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="includedby" type="incType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="incdepgraph" type="graphType" minOccurs="0" />
-      <xsd:element name="invincdepgraph" type="graphType" minOccurs="0" />
-      <xsd:element name="innerdir" type="refType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="innerfile" type="refType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="innerclass" type="refType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="innernamespace" type="refType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="innerpage" type="refType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="innergroup" type="refType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="templateparamlist" type="templateparamlistType" minOccurs="0" />
-      <xsd:element name="sectiondef" type="sectiondefType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="briefdescription" type="descriptionType" minOccurs="0" />
-      <xsd:element name="detaileddescription" type="descriptionType" minOccurs="0" />
-      <xsd:element name="inheritancegraph" type="graphType" minOccurs="0" />
-      <xsd:element name="collaborationgraph" type="graphType" minOccurs="0" />
-      <xsd:element name="programlisting" type="listingType" minOccurs="0" />
-      <xsd:element name="location" type="locationType" minOccurs="0" />
-      <xsd:element name="listofallmembers" type="listofallmembersType" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:string" />
-    <xsd:attribute name="kind" type="DoxCompoundKind" />
-    <xsd:attribute name="prot" type="DoxProtectionKind" />
-  </xsd:complexType>
-
-  <xsd:complexType name="listofallmembersType">
-    <xsd:sequence>
-      <xsd:element name="member" type="memberRefType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="memberRefType">
-    <xsd:sequence>
-      <xsd:element name="scope" />
-      <xsd:element name="name" />
-    </xsd:sequence>
-    <xsd:attribute name="refid" type="xsd:string" />
-    <xsd:attribute name="prot" type="DoxProtectionKind" />
-    <xsd:attribute name="virt" type="DoxVirtualKind" />
-    <xsd:attribute name="ambiguityscope" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="compoundRefType" mixed="true">
-    <xsd:simpleContent>
-      <xsd:extension base="xsd:string">
-        <xsd:attribute name="refid" type="xsd:string" use="optional" />
-        <xsd:attribute name="prot" type="DoxProtectionKind" />
-        <xsd:attribute name="virt" type="DoxVirtualKind" />
-      </xsd:extension>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-  <xsd:complexType name="reimplementType" mixed="true">
-    <xsd:simpleContent>
-      <xsd:extension base="xsd:string">
-        <xsd:attribute name="refid" type="xsd:string" />
-      </xsd:extension>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-  <xsd:complexType name="incType" mixed="true">
-    <xsd:simpleContent>
-      <xsd:extension base="xsd:string">
-        <xsd:attribute name="refid" type="xsd:string" />
-        <xsd:attribute name="local" type="DoxBool" />
-      </xsd:extension>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-  <xsd:complexType name="refType" mixed="true">
-    <xsd:simpleContent>
-      <xsd:extension base="xsd:string">
-        <xsd:attribute name="refid" type="xsd:string" />
-        <xsd:attribute name="prot" type="DoxProtectionKind" use="optional"/>
-      </xsd:extension>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-  <xsd:complexType name="refTextType" mixed="true">
-    <xsd:simpleContent>
-      <xsd:extension base="xsd:string">
-       <xsd:attribute name="refid" type="xsd:string" />
-       <xsd:attribute name="kindref" type="DoxRefKind" />
-       <xsd:attribute name="external" type="xsd:string" use="optional"/>
-       <xsd:attribute name="tooltip" type="xsd:string" use="optional"/>
-      </xsd:extension>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-  <xsd:complexType name="sectiondefType">
-    <xsd:sequence>
-      <xsd:element name="header" type="xsd:string" minOccurs="0" />
-      <xsd:element name="description" type="descriptionType" minOccurs="0" />
-      <xsd:element name="memberdef" type="memberdefType" maxOccurs="unbounded" />
-    </xsd:sequence>
-    <xsd:attribute name="kind" type="DoxSectionKind" />
-  </xsd:complexType>
-
-  <xsd:complexType name="memberdefType">
-    <xsd:sequence>
-      <xsd:element name="templateparamlist" type="templateparamlistType" minOccurs="0" />
-      <xsd:element name="type" type="linkedTextType" minOccurs="0" />
-      <xsd:element name="definition" minOccurs="0" />
-      <xsd:element name="argsstring" minOccurs="0" />
-      <xsd:element name="name" />
-      <xsd:element name="read" minOccurs="0" />
-      <xsd:element name="write" minOccurs="0" />
-      <xsd:element name="bitfield" minOccurs="0" />
-      <xsd:element name="reimplements" type="reimplementType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="reimplementedby" type="reimplementType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="param" type="paramType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="enumvalue" type="enumvalueType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="initializer" type="linkedTextType" minOccurs="0" />
-      <xsd:element name="exceptions" type="linkedTextType" minOccurs="0" />
-      <xsd:element name="briefdescription" type="descriptionType" minOccurs="0" />
-      <xsd:element name="detaileddescription" type="descriptionType" minOccurs="0" />
-      <xsd:element name="inbodydescription" type="descriptionType" minOccurs="0" />
-      <xsd:element name="location" type="locationType" />
-      <xsd:element name="references" type="referenceType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="referencedby" type="referenceType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-    <xsd:attribute name="kind" type="DoxMemberKind" />
-    <xsd:attribute name="id" type="xsd:string" />
-    <xsd:attribute name="prot" type="DoxProtectionKind" />
-    <xsd:attribute name="static" type="DoxBool" />
-    <xsd:attribute name="const" type="DoxBool" />
-    <xsd:attribute name="explicit" type="DoxBool" />
-    <xsd:attribute name="inline" type="DoxBool" />
-    <xsd:attribute name="virt" type="DoxVirtualKind" />
-    <xsd:attribute name="volatile" type="DoxBool" />
-    <xsd:attribute name="mutable" type="DoxBool" />
-    <!-- Qt property -->
-    <xsd:attribute name="readable" type="DoxBool" use="optional"/>
-    <xsd:attribute name="writable" type="DoxBool" use="optional"/>
-    <!-- C++/CLI variable -->
-    <xsd:attribute name="initonly" type="DoxBool" use="optional"/>
-    <!-- C++/CLI and C# property -->
-    <xsd:attribute name="settable" type="DoxBool" use="optional"/>
-    <xsd:attribute name="gettable" type="DoxBool" use="optional"/>
-    <!-- C++/CLI function -->
-    <xsd:attribute name="final" type="DoxBool" use="optional"/>
-    <xsd:attribute name="sealed" type="DoxBool" use="optional"/>
-    <xsd:attribute name="new" type="DoxBool" use="optional"/>
-    <!-- C++/CLI event -->
-    <xsd:attribute name="add" type="DoxBool" use="optional"/>
-    <xsd:attribute name="remove" type="DoxBool" use="optional"/>
-    <xsd:attribute name="raise" type="DoxBool" use="optional"/>
-    <!-- Objective-C 2.0 protocol method -->
-    <xsd:attribute name="optional" type="DoxBool" use="optional"/>
-    <xsd:attribute name="required" type="DoxBool" use="optional"/>
-    <!-- Objective-C 2.0 property accessor -->
-    <xsd:attribute name="accessor" type="DoxAccessor" use="optional"/>
-  </xsd:complexType>
-
-  <xsd:complexType name="descriptionType" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="title" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect1" type="docSect1Type" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="internal" type="docInternalType" minOccurs="0" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="enumvalueType" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="name" />
-      <xsd:element name="initializer" type="linkedTextType" minOccurs="0" />
-      <xsd:element name="briefdescription" type="descriptionType" minOccurs="0" />
-      <xsd:element name="detaileddescription" type="descriptionType" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:string" />
-    <xsd:attribute name="prot" type="DoxProtectionKind" />
-  </xsd:complexType>
-
-  <xsd:complexType name="templateparamlistType">
-    <xsd:sequence>
-      <xsd:element name="param" type="paramType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="paramType">
-    <xsd:sequence>
-      <xsd:element name="type" type="linkedTextType" minOccurs="0" />
-      <xsd:element name="declname" minOccurs="0" />
-      <xsd:element name="defname" minOccurs="0" />
-      <xsd:element name="array" minOccurs="0" />
-      <xsd:element name="defval" type="linkedTextType" minOccurs="0" />
-      <xsd:element name="briefdescription" type="descriptionType" minOccurs="0" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="linkedTextType" mixed="true">
-    <xsd:sequence>
-    <xsd:element name="ref" type="refTextType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="graphType">
-    <xsd:sequence>
-      <xsd:element name="node" type="nodeType" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="nodeType">
-    <xsd:sequence>
-      <xsd:element name="label" />
-      <xsd:element name="link" type="linkType" minOccurs="0" />
-      <xsd:element name="childnode" type="childnodeType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="childnodeType">
-    <xsd:sequence>
-      <xsd:element name="edgelabel" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="refid" type="xsd:string" />
-    <xsd:attribute name="relation" type="DoxGraphRelation" />
-  </xsd:complexType>
-
-  <xsd:complexType name="linkType">
-    <xsd:attribute name="refid" type="xsd:string" />
-    <xsd:attribute name="external" type="xsd:string" use="optional"/>
-  </xsd:complexType>
-
-  <xsd:complexType name="listingType">
-    <xsd:sequence>
-      <xsd:element name="codeline" type="codelineType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="codelineType">
-    <xsd:sequence>
-      <xsd:element name="highlight" type="highlightType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-    <xsd:attribute name="lineno" type="xsd:integer" />
-    <xsd:attribute name="refid" type="xsd:string" />
-    <xsd:attribute name="refkind" type="DoxRefKind" />
-    <xsd:attribute name="external" type="DoxBool" />
-  </xsd:complexType>
-
-  <xsd:complexType name="highlightType" mixed="true">
-    <xsd:choice minOccurs="0" maxOccurs="unbounded">
-      <xsd:element name="sp" />
-      <xsd:element name="ref" type="refTextType" />
-    </xsd:choice>
-    <xsd:attribute name="class" type="DoxHighlightClass" />
-  </xsd:complexType>
-
-  <xsd:complexType name="referenceType" mixed="true">
-    <xsd:attribute name="refid" type="xsd:string" />
-    <xsd:attribute name="compoundref" type="xsd:string" use="optional" />
-    <xsd:attribute name="startline" type="xsd:integer" />
-    <xsd:attribute name="endline" type="xsd:integer" />
-  </xsd:complexType>
-
-  <xsd:complexType name="locationType">
-    <xsd:attribute name="file" type="xsd:string" />
-    <xsd:attribute name="line" type="xsd:integer" />
-    <xsd:attribute name="bodyfile" type="xsd:string" />
-    <xsd:attribute name="bodystart" type="xsd:integer" />
-    <xsd:attribute name="bodyend" type="xsd:integer" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docSect1Type" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="title" type="xsd:string" />
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect2" type="docSect2Type" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="internal" type="docInternalS1Type" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docSect2Type" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="title" type="xsd:string" />
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect3" type="docSect3Type" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="internal" type="docInternalS2Type" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docSect3Type" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="title" type="xsd:string" />
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect4" type="docSect4Type" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="internal" type="docInternalS3Type" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docSect4Type" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="title" type="xsd:string" />
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="internal" type="docInternalS4Type" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docInternalType" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="para"  type="docParaType"  minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect1" type="docSect1Type" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docInternalS1Type" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="para"  type="docParaType"  minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect2" type="docSect2Type" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docInternalS2Type" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="para"  type="docParaType"  minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect3" type="docSect3Type" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docInternalS3Type" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="para"  type="docParaType"  minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect3" type="docSect4Type" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docInternalS4Type" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="para"  type="docParaType"  minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:group name="docTitleCmdGroup">
-    <xsd:choice>
-      <xsd:element name="ulink" type="docURLLink" />
-      <xsd:element name="bold" type="docMarkupType" />
-      <xsd:element name="emphasis" type="docMarkupType" />
-      <xsd:element name="computeroutput" type="docMarkupType" />
-      <xsd:element name="subscript" type="docMarkupType" />
-      <xsd:element name="superscript" type="docMarkupType" />
-      <xsd:element name="center" type="docMarkupType" />
-      <xsd:element name="small" type="docMarkupType" />
-      <xsd:element name="htmlonly" type="xsd:string" />
-      <xsd:element name="latexonly" type="xsd:string" />
-      <xsd:element name="dot" type="xsd:string" />
-      <xsd:element name="anchor" type="docAnchorType" />
-      <xsd:element name="formula" type="docFormulaType" />
-      <xsd:element name="ref" type="docRefTextType" />
-      <xsd:element name="copy" type="docEmptyType" />
-      <xsd:element name="trademark" type="docEmptyType" />
-      <xsd:element name="registered" type="docEmptyType" />
-      <xsd:element name="lsquo" type="docEmptyType" />
-      <xsd:element name="rsquo" type="docEmptyType" />
-      <xsd:element name="ldquo" type="docEmptyType" />
-      <xsd:element name="rdquo" type="docEmptyType" />
-      <xsd:element name="ndash" type="docEmptyType" />
-      <xsd:element name="mdash" type="docEmptyType" />
-      <xsd:element name="umlaut" type="docCharType" />
-      <xsd:element name="acute" type="docCharType" />
-      <xsd:element name="grave" type="docCharType" />
-      <xsd:element name="circ" type="docCharType" />
-      <xsd:element name="slash" type="docCharType" />
-      <xsd:element name="tilde" type="docCharType" />
-      <xsd:element name="cedil" type="docCharType" />
-      <xsd:element name="ring" type="docCharType" />
-      <xsd:element name="szlig" type="docEmptyType" />
-      <xsd:element name="nonbreakablespace" type="docEmptyType" />
-    </xsd:choice>
-  </xsd:group>
-
-  <xsd:complexType name="docTitleType" mixed="true">
-    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-  </xsd:complexType>
-
-  <xsd:group name="docCmdGroup">
-    <xsd:choice>
-      <xsd:group ref="docTitleCmdGroup"/>
-      <xsd:element name="linebreak" type="docEmptyType" />
-      <xsd:element name="hruler" type="docEmptyType" />
-      <xsd:element name="preformatted" type="docMarkupType" />
-      <xsd:element name="programlisting" type="listingType" />
-      <xsd:element name="verbatim" type="xsd:string" />
-      <xsd:element name="indexentry" type="docIndexEntryType" />
-      <xsd:element name="orderedlist" type="docListType" />
-      <xsd:element name="itemizedlist" type="docListType" />
-      <xsd:element name="simplesect" type="docSimpleSectType" />
-      <xsd:element name="title" type="docTitleType" />
-      <xsd:element name="variablelist" type="docVariableListType" />
-      <xsd:element name="table" type="docTableType" />
-      <xsd:element name="heading" type="docHeadingType" />
-      <xsd:element name="image" type="docImageType" />
-      <xsd:element name="dotfile" type="docDotFileType" />
-      <xsd:element name="toclist" type="docTocListType" />
-      <xsd:element name="language" type="docLanguageType" />
-      <xsd:element name="parameterlist" type="docParamListType" />
-      <xsd:element name="xrefsect" type="docXRefSectType" />
-      <xsd:element name="copydoc" type="docCopyType" />
-    </xsd:choice>
-  </xsd:group>
-
-  <xsd:complexType name="docParaType" mixed="true">
-    <xsd:group ref="docCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docMarkupType" mixed="true">
-    <xsd:group ref="docCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docURLLink" mixed="true">
-    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-    <xsd:attribute name="url" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docAnchorType" mixed="true">
-    <xsd:attribute name="id" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docFormulaType" mixed="true">
-    <xsd:attribute name="id" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docIndexEntryType">
-    <xsd:sequence>
-      <xsd:element name="primaryie" type="xsd:string" />
-      <xsd:element name="secondaryie" type="xsd:string" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docListType">
-    <xsd:sequence>
-      <xsd:element name="listitem" type="docListItemType" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docListItemType">
-    <xsd:sequence>
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docSimpleSectType">
-    <xsd:sequence>
-      <xsd:element name="title" type="docTitleType" minOccurs="0" />
-      <xsd:sequence minOccurs="0" maxOccurs="unbounded">
-        <xsd:element name="para" type="docParaType" minOccurs="1" maxOccurs="unbounded" />
-        <xsd:element name="simplesectsep" type="docEmptyType" minOccurs="0"/>
-      </xsd:sequence>
-    </xsd:sequence>
-    <xsd:attribute name="kind" type="DoxSimpleSectKind" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docVarListEntryType">
-    <xsd:sequence>
-      <xsd:element name="term" type="docTitleType" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:group name="docVariableListGroup">
-    <xsd:sequence>
-      <xsd:element name="varlistentry" type="docVarListEntryType" />
-      <xsd:element name="listitem" type="docListItemType" />
-    </xsd:sequence>
-  </xsd:group>
-
-  <xsd:complexType name="docVariableListType">
-    <xsd:sequence>
-      <xsd:group ref="docVariableListGroup" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docRefTextType" mixed="true">
-    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-    <xsd:attribute name="refid" type="xsd:string" />
-    <xsd:attribute name="kindref" type="DoxRefKind" />
-    <xsd:attribute name="external" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docTableType">
-    <xsd:sequence>
-      <xsd:element name="row" type="docRowType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="caption" type="docCaptionType" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="rows" type="xsd:integer" />
-    <xsd:attribute name="cols" type="xsd:integer" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docRowType">
-    <xsd:sequence>
-      <xsd:element name="entry" type="docEntryType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docEntryType">
-    <xsd:sequence>
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-    <xsd:attribute name="thead" type="DoxBool" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docCaptionType" mixed="true">
-    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docHeadingType" mixed="true">
-    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-    <xsd:attribute name="level" type="xsd:integer" /> <!-- todo: range 1-6 -->
-  </xsd:complexType>
-
-  <xsd:complexType name="docImageType" mixed="true">
-    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-    <xsd:attribute name="type" type="DoxImageKind" />
-    <xsd:attribute name="name" type="xsd:string" />
-    <xsd:attribute name="width" type="xsd:string" />
-    <xsd:attribute name="height" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docDotFileType" mixed="true">
-    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-    <xsd:attribute name="name" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docTocItemType" mixed="true">
-    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-    <xsd:attribute name="id" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docTocListType">
-    <xsd:sequence>
-      <xsd:element name="tocitem" type="docTocItemType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docLanguageType">
-    <xsd:sequence>
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-    <xsd:attribute name="langid" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docParamListType">
-    <xsd:sequence>
-      <xsd:element name="parameteritem" type="docParamListItem" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-    <xsd:attribute name="kind" type="DoxParamListKind" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docParamListItem">
-    <xsd:sequence>
-      <xsd:element name="parameternamelist" type="docParamNameList" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="parameterdescription" type="descriptionType" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docParamNameList">
-    <xsd:sequence>
-      <xsd:element name="parametername" type="docParamName" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docParamName" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="ref" type="refTextType" minOccurs="0" maxOccurs="1" />
-    </xsd:sequence>
-    <xsd:attribute name="direction" type="DoxParamDir" use="optional" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docXRefSectType">
-    <xsd:sequence>
-      <xsd:element name="xreftitle" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="xrefdescription" type="descriptionType" />
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docCopyType">
-    <xsd:sequence>
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect1" type="docSect1Type" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="internal" type="docInternalType" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="link" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docCharType">
-    <xsd:attribute name="char" type="DoxCharRange"/>
-  </xsd:complexType>
-
-  <xsd:complexType name="docEmptyType"/>
-
-  <!-- Simple types -->
-
-  <xsd:simpleType name="DoxBool">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="yes" />
-      <xsd:enumeration value="no" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxGraphRelation">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="include" />
-      <xsd:enumeration value="usage" />
-      <xsd:enumeration value="template-instance" />
-      <xsd:enumeration value="public-inheritance" />
-      <xsd:enumeration value="protected-inheritance" />
-      <xsd:enumeration value="private-inheritance" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxRefKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="compound" />
-      <xsd:enumeration value="member" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxMemberKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="define" />
-      <xsd:enumeration value="property" />
-      <xsd:enumeration value="event" />
-      <xsd:enumeration value="variable" />
-      <xsd:enumeration value="typedef" />
-      <xsd:enumeration value="enum" />
-      <xsd:enumeration value="function" />
-      <xsd:enumeration value="signal" />
-      <xsd:enumeration value="prototype" />
-      <xsd:enumeration value="friend" />
-      <xsd:enumeration value="dcop" />
-      <xsd:enumeration value="slot" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxProtectionKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="public" />
-      <xsd:enumeration value="protected" />
-      <xsd:enumeration value="private" />
-      <xsd:enumeration value="package" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxVirtualKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="non-virtual" />
-      <xsd:enumeration value="virtual" />
-      <xsd:enumeration value="pure-virtual" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxCompoundKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="class" />
-      <xsd:enumeration value="struct" />
-      <xsd:enumeration value="union" />
-      <xsd:enumeration value="interface" />
-      <xsd:enumeration value="protocol" />
-      <xsd:enumeration value="category" />
-      <xsd:enumeration value="exception" />
-      <xsd:enumeration value="file" />
-      <xsd:enumeration value="namespace" />
-      <xsd:enumeration value="group" />
-      <xsd:enumeration value="page" />
-      <xsd:enumeration value="example" />
-      <xsd:enumeration value="dir" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxSectionKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="user-defined" />
-      <xsd:enumeration value="public-type" />
-      <xsd:enumeration value="public-func" />
-      <xsd:enumeration value="public-attrib" />
-      <xsd:enumeration value="public-slot" />
-      <xsd:enumeration value="signal" />
-      <xsd:enumeration value="dcop-func" />
-      <xsd:enumeration value="property" />
-      <xsd:enumeration value="event" />
-      <xsd:enumeration value="public-static-func" />
-      <xsd:enumeration value="public-static-attrib" />
-      <xsd:enumeration value="protected-type" />
-      <xsd:enumeration value="protected-func" />
-      <xsd:enumeration value="protected-attrib" />
-      <xsd:enumeration value="protected-slot" />
-      <xsd:enumeration value="protected-static-func" />
-      <xsd:enumeration value="protected-static-attrib" />
-      <xsd:enumeration value="package-type" />
-      <xsd:enumeration value="package-func" />
-      <xsd:enumeration value="package-attrib" />
-      <xsd:enumeration value="package-static-func" />
-      <xsd:enumeration value="package-static-attrib" />
-      <xsd:enumeration value="private-type" />
-      <xsd:enumeration value="private-func" />
-      <xsd:enumeration value="private-attrib" />
-      <xsd:enumeration value="private-slot" />
-      <xsd:enumeration value="private-static-func" />
-      <xsd:enumeration value="private-static-attrib" />
-      <xsd:enumeration value="friend" />
-      <xsd:enumeration value="related" />
-      <xsd:enumeration value="define" />
-      <xsd:enumeration value="prototype" />
-      <xsd:enumeration value="typedef" />
-      <xsd:enumeration value="enum" />
-      <xsd:enumeration value="func" />
-      <xsd:enumeration value="var" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxHighlightClass">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="comment" />
-      <xsd:enumeration value="normal" />
-      <xsd:enumeration value="preprocessor" />
-      <xsd:enumeration value="keyword" />
-      <xsd:enumeration value="keywordtype" />
-      <xsd:enumeration value="keywordflow" />
-      <xsd:enumeration value="stringliteral" />
-      <xsd:enumeration value="charliteral" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxSimpleSectKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="see" />
-      <xsd:enumeration value="return" />
-      <xsd:enumeration value="author" />
-      <xsd:enumeration value="authors" />
-      <xsd:enumeration value="version" />
-      <xsd:enumeration value="since" />
-      <xsd:enumeration value="date" />
-      <xsd:enumeration value="note" />
-      <xsd:enumeration value="warning" />
-      <xsd:enumeration value="pre" />
-      <xsd:enumeration value="post" />
-      <xsd:enumeration value="invariant" />
-      <xsd:enumeration value="remark" />
-      <xsd:enumeration value="attention" />
-      <xsd:enumeration value="par" />
-      <xsd:enumeration value="rcs" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxVersionNumber">
-    <xsd:restriction base="xsd:string">
-      <xsd:pattern value="\d+\.\d+.*" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxImageKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="html" />
-      <xsd:enumeration value="latex" />
-      <xsd:enumeration value="rtf" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxParamListKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="param" />
-      <xsd:enumeration value="retval" />
-      <xsd:enumeration value="exception" />
-      <xsd:enumeration value="templateparam" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxCharRange">
-    <xsd:restriction base="xsd:string">
-      <xsd:pattern value="[aeiouncAEIOUNC]" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxParamDir">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="in"/>
-      <xsd:enumeration value="out"/>
-      <xsd:enumeration value="inout"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxAccessor">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="retain"/>
-      <xsd:enumeration value="copy"/>
-      <xsd:enumeration value="assign"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-</xsd:schema>
-
diff --git a/drivers/gr-gn3s/docs/doxygen/doxyxml/example/xml/index.xml b/drivers/gr-gn3s/docs/doxygen/doxyxml/example/xml/index.xml
deleted file mode 100644
index 13fd53f..0000000
--- a/drivers/gr-gn3s/docs/doxygen/doxyxml/example/xml/index.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version='1.0' encoding='UTF-8' standalone='no'?>
-<doxygenindex xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="index.xsd" version="1.6.3">
-  <compound refid="classAadvark" kind="class"><name>Aadvark</name>
-    <member refid="classAadvark_1ab79eb58d7bb9d5ddfa5d6f783836cab9" kind="variable"><name>aadvarkness</name></member>
-    <member refid="classAadvark_1abd061aa5f998002e72080a34f512a059" kind="function"><name>print</name></member>
-    <member refid="classAadvark_1adf1a4b97a641411a74a04ab312484462" kind="function"><name>Aadvark</name></member>
-    <member refid="classAadvark_1affd2ada0a85807efcbe26615a848f53e" kind="function"><name>get_aadvarkness</name></member>
-  </compound>
-  <compound refid="aadvark_8cc" kind="file"><name>aadvark.cc</name>
-    <member refid="aadvark_8cc_1acb52858524210ec6dddc3e16d1e52946" kind="function"><name>aadvarky_enough</name></member>
-    <member refid="aadvark_8cc_1ae66f6b31b5ad750f1fe042a706a4e3d4" kind="function"><name>main</name></member>
-  </compound>
-  <compound refid="aadvark_8h" kind="file"><name>aadvark.h</name>
-    <member refid="aadvark_8h_1acb52858524210ec6dddc3e16d1e52946" kind="function"><name>aadvarky_enough</name></member>
-    <member refid="aadvark_8h_1ae66f6b31b5ad750f1fe042a706a4e3d4" kind="function"><name>main</name></member>
-  </compound>
-</doxygenindex>
diff --git a/drivers/gr-gn3s/docs/doxygen/doxyxml/example/xml/index.xsd b/drivers/gr-gn3s/docs/doxygen/doxyxml/example/xml/index.xsd
deleted file mode 100644
index bfe960c..0000000
--- a/drivers/gr-gn3s/docs/doxygen/doxyxml/example/xml/index.xsd
+++ /dev/null
@@ -1,66 +0,0 @@
-<?xml version='1.0' encoding='utf-8' ?>
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-  <xsd:element name="doxygenindex" type="DoxygenType"/>
-
-  <xsd:complexType name="DoxygenType">
-    <xsd:sequence>
-      <xsd:element name="compound" type="CompoundType" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="version" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <xsd:complexType name="CompoundType">
-    <xsd:sequence>
-      <xsd:element name="name" type="xsd:string"/>
-      <xsd:element name="member" type="MemberType" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="refid" type="xsd:string" use="required"/>
-    <xsd:attribute name="kind" type="CompoundKind" use="required"/>
-  </xsd:complexType>
-
-  <xsd:complexType name="MemberType">
-    <xsd:sequence>
-      <xsd:element name="name" type="xsd:string"/>
-    </xsd:sequence>
-    <xsd:attribute name="refid" type="xsd:string" use="required"/>
-    <xsd:attribute name="kind" type="MemberKind" use="required"/>
-  </xsd:complexType>
-
-  <xsd:simpleType name="CompoundKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="class"/>
-      <xsd:enumeration value="struct"/>
-      <xsd:enumeration value="union"/>
-      <xsd:enumeration value="interface"/>
-      <xsd:enumeration value="protocol"/>
-      <xsd:enumeration value="category"/>
-      <xsd:enumeration value="exception"/>
-      <xsd:enumeration value="file"/>
-      <xsd:enumeration value="namespace"/>
-      <xsd:enumeration value="group"/>
-      <xsd:enumeration value="page"/>
-      <xsd:enumeration value="example"/>
-      <xsd:enumeration value="dir"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="MemberKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="define"/>
-      <xsd:enumeration value="property"/>
-      <xsd:enumeration value="event"/>
-      <xsd:enumeration value="variable"/>
-      <xsd:enumeration value="typedef"/>
-      <xsd:enumeration value="enum"/>
-      <xsd:enumeration value="enumvalue"/>
-      <xsd:enumeration value="function"/>
-      <xsd:enumeration value="signal"/>
-      <xsd:enumeration value="prototype"/>
-      <xsd:enumeration value="friend"/>
-      <xsd:enumeration value="dcop"/>
-      <xsd:enumeration value="slot"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-</xsd:schema>
-
diff --git a/drivers/gr-gn3s/docs/doxygen/doxyxml/generated/__init__.py b/drivers/gr-gn3s/docs/doxygen/doxyxml/generated/__init__.py
deleted file mode 100644
index 3982397..0000000
--- a/drivers/gr-gn3s/docs/doxygen/doxyxml/generated/__init__.py
+++ /dev/null
@@ -1,7 +0,0 @@
-"""
-Contains generated files produced by generateDS.py.
-
-These do the real work of parsing the doxygen xml files but the
-resultant classes are not very friendly to navigate so the rest of the
-doxyxml module processes them further.
-"""
diff --git a/drivers/gr-gn3s/docs/doxygen/doxyxml/generated/compound.py b/drivers/gr-gn3s/docs/doxygen/doxyxml/generated/compound.py
deleted file mode 100644
index 1522ac2..0000000
--- a/drivers/gr-gn3s/docs/doxygen/doxyxml/generated/compound.py
+++ /dev/null
@@ -1,503 +0,0 @@
-#!/usr/bin/env python
-
-"""
-Generated Mon Feb  9 19:08:05 2009 by generateDS.py.
-"""
-
-from string import lower as str_lower
-from xml.dom import minidom
-from xml.dom import Node
-
-import sys
-
-import compoundsuper as supermod
-from compoundsuper import MixedContainer
-
-
-class DoxygenTypeSub(supermod.DoxygenType):
-    def __init__(self, version=None, compounddef=None):
-        supermod.DoxygenType.__init__(self, version, compounddef)
-
-    def find(self, details):
-
-        return self.compounddef.find(details)
-
-supermod.DoxygenType.subclass = DoxygenTypeSub
-# end class DoxygenTypeSub
-
-
-class compounddefTypeSub(supermod.compounddefType):
-    def __init__(self, kind=None, prot=None, id=None, compoundname='', title='', basecompoundref=None, derivedcompoundref=None, includes=None, includedby=None, incdepgraph=None, invincdepgraph=None, innerdir=None, innerfile=None, innerclass=None, innernamespace=None, innerpage=None, innergroup=None, templateparamlist=None, sectiondef=None, briefdescription=None, detaileddescription=None, inheritancegraph=None, collaborationgraph=None, programlisting=None, location=None, listofallmembers=None):
-        supermod.compounddefType.__init__(self, kind, prot, id, compoundname, title, basecompoundref, derivedcompoundref, includes, includedby, incdepgraph, invincdepgraph, innerdir, innerfile, innerclass, innernamespace, innerpage, innergroup, templateparamlist, sectiondef, briefdescription, detaileddescription, inheritancegraph, collaborationgraph, programlisting, location, listofallmembers)
-
-    def find(self, details):
-
-        if self.id == details.refid:
-            return self
-
-        for sectiondef in self.sectiondef:
-            result = sectiondef.find(details)
-            if result:
-                return result
-
-
-supermod.compounddefType.subclass = compounddefTypeSub
-# end class compounddefTypeSub
-
-
-class listofallmembersTypeSub(supermod.listofallmembersType):
-    def __init__(self, member=None):
-        supermod.listofallmembersType.__init__(self, member)
-supermod.listofallmembersType.subclass = listofallmembersTypeSub
-# end class listofallmembersTypeSub
-
-
-class memberRefTypeSub(supermod.memberRefType):
-    def __init__(self, virt=None, prot=None, refid=None, ambiguityscope=None, scope='', name=''):
-        supermod.memberRefType.__init__(self, virt, prot, refid, ambiguityscope, scope, name)
-supermod.memberRefType.subclass = memberRefTypeSub
-# end class memberRefTypeSub
-
-
-class compoundRefTypeSub(supermod.compoundRefType):
-    def __init__(self, virt=None, prot=None, refid=None, valueOf_='', mixedclass_=None, content_=None):
-        supermod.compoundRefType.__init__(self, mixedclass_, content_)
-supermod.compoundRefType.subclass = compoundRefTypeSub
-# end class compoundRefTypeSub
-
-
-class reimplementTypeSub(supermod.reimplementType):
-    def __init__(self, refid=None, valueOf_='', mixedclass_=None, content_=None):
-        supermod.reimplementType.__init__(self, mixedclass_, content_)
-supermod.reimplementType.subclass = reimplementTypeSub
-# end class reimplementTypeSub
-
-
-class incTypeSub(supermod.incType):
-    def __init__(self, local=None, refid=None, valueOf_='', mixedclass_=None, content_=None):
-        supermod.incType.__init__(self, mixedclass_, content_)
-supermod.incType.subclass = incTypeSub
-# end class incTypeSub
-
-
-class refTypeSub(supermod.refType):
-    def __init__(self, prot=None, refid=None, valueOf_='', mixedclass_=None, content_=None):
-        supermod.refType.__init__(self, mixedclass_, content_)
-supermod.refType.subclass = refTypeSub
-# end class refTypeSub
-
-
-
-class refTextTypeSub(supermod.refTextType):
-    def __init__(self, refid=None, kindref=None, external=None, valueOf_='', mixedclass_=None, content_=None):
-        supermod.refTextType.__init__(self, mixedclass_, content_)
-
-supermod.refTextType.subclass = refTextTypeSub
-# end class refTextTypeSub
-
-class sectiondefTypeSub(supermod.sectiondefType):
-
-
-    def __init__(self, kind=None, header='', description=None, memberdef=None):
-        supermod.sectiondefType.__init__(self, kind, header, description, memberdef)
-
-    def find(self, details):
-
-        for memberdef in self.memberdef:
-            if memberdef.id == details.refid:
-                return memberdef
-
-        return None
-
-
-supermod.sectiondefType.subclass = sectiondefTypeSub
-# end class sectiondefTypeSub
-
-
-class memberdefTypeSub(supermod.memberdefType):
-    def __init__(self, initonly=None, kind=None, volatile=None, const=None, raise_=None, virt=None, readable=None, prot=None, explicit=None, new=None, final=None, writable=None, add=None, static=None, remove=None, sealed=None, mutable=None, gettable=None, inline=None, settable=None, id=None, templateparamlist=None, type_=None, definition='', argsstring='', name='', read='', write='', bitfield='', reimplements=None, reimplementedby=None, param=None, enumvalue=None, initializer=None, excep [...]
-        supermod.memberdefType.__init__(self, initonly, kind, volatile, const, raise_, virt, readable, prot, explicit, new, final, writable, add, static, remove, sealed, mutable, gettable, inline, settable, id, templateparamlist, type_, definition, argsstring, name, read, write, bitfield, reimplements, reimplementedby, param, enumvalue, initializer, exceptions, briefdescription, detaileddescription, inbodydescription, location, references, referencedby)
-supermod.memberdefType.subclass = memberdefTypeSub
-# end class memberdefTypeSub
-
-
-class descriptionTypeSub(supermod.descriptionType):
-    def __init__(self, title='', para=None, sect1=None, internal=None, mixedclass_=None, content_=None):
-        supermod.descriptionType.__init__(self, mixedclass_, content_)
-supermod.descriptionType.subclass = descriptionTypeSub
-# end class descriptionTypeSub
-
-
-class enumvalueTypeSub(supermod.enumvalueType):
-    def __init__(self, prot=None, id=None, name='', initializer=None, briefdescription=None, detaileddescription=None, mixedclass_=None, content_=None):
-        supermod.enumvalueType.__init__(self, mixedclass_, content_)
-supermod.enumvalueType.subclass = enumvalueTypeSub
-# end class enumvalueTypeSub
-
-
-class templateparamlistTypeSub(supermod.templateparamlistType):
-    def __init__(self, param=None):
-        supermod.templateparamlistType.__init__(self, param)
-supermod.templateparamlistType.subclass = templateparamlistTypeSub
-# end class templateparamlistTypeSub
-
-
-class paramTypeSub(supermod.paramType):
-    def __init__(self, type_=None, declname='', defname='', array='', defval=None, briefdescription=None):
-        supermod.paramType.__init__(self, type_, declname, defname, array, defval, briefdescription)
-supermod.paramType.subclass = paramTypeSub
-# end class paramTypeSub
-
-
-class linkedTextTypeSub(supermod.linkedTextType):
-    def __init__(self, ref=None, mixedclass_=None, content_=None):
-        supermod.linkedTextType.__init__(self, mixedclass_, content_)
-supermod.linkedTextType.subclass = linkedTextTypeSub
-# end class linkedTextTypeSub
-
-
-class graphTypeSub(supermod.graphType):
-    def __init__(self, node=None):
-        supermod.graphType.__init__(self, node)
-supermod.graphType.subclass = graphTypeSub
-# end class graphTypeSub
-
-
-class nodeTypeSub(supermod.nodeType):
-    def __init__(self, id=None, label='', link=None, childnode=None):
-        supermod.nodeType.__init__(self, id, label, link, childnode)
-supermod.nodeType.subclass = nodeTypeSub
-# end class nodeTypeSub
-
-
-class childnodeTypeSub(supermod.childnodeType):
-    def __init__(self, relation=None, refid=None, edgelabel=None):
-        supermod.childnodeType.__init__(self, relation, refid, edgelabel)
-supermod.childnodeType.subclass = childnodeTypeSub
-# end class childnodeTypeSub
-
-
-class linkTypeSub(supermod.linkType):
-    def __init__(self, refid=None, external=None, valueOf_=''):
-        supermod.linkType.__init__(self, refid, external)
-supermod.linkType.subclass = linkTypeSub
-# end class linkTypeSub
-
-
-class listingTypeSub(supermod.listingType):
-    def __init__(self, codeline=None):
-        supermod.listingType.__init__(self, codeline)
-supermod.listingType.subclass = listingTypeSub
-# end class listingTypeSub
-
-
-class codelineTypeSub(supermod.codelineType):
-    def __init__(self, external=None, lineno=None, refkind=None, refid=None, highlight=None):
-        supermod.codelineType.__init__(self, external, lineno, refkind, refid, highlight)
-supermod.codelineType.subclass = codelineTypeSub
-# end class codelineTypeSub
-
-
-class highlightTypeSub(supermod.highlightType):
-    def __init__(self, class_=None, sp=None, ref=None, mixedclass_=None, content_=None):
-        supermod.highlightType.__init__(self, mixedclass_, content_)
-supermod.highlightType.subclass = highlightTypeSub
-# end class highlightTypeSub
-
-
-class referenceTypeSub(supermod.referenceType):
-    def __init__(self, endline=None, startline=None, refid=None, compoundref=None, valueOf_='', mixedclass_=None, content_=None):
-        supermod.referenceType.__init__(self, mixedclass_, content_)
-supermod.referenceType.subclass = referenceTypeSub
-# end class referenceTypeSub
-
-
-class locationTypeSub(supermod.locationType):
-    def __init__(self, bodystart=None, line=None, bodyend=None, bodyfile=None, file=None, valueOf_=''):
-        supermod.locationType.__init__(self, bodystart, line, bodyend, bodyfile, file)
-supermod.locationType.subclass = locationTypeSub
-# end class locationTypeSub
-
-
-class docSect1TypeSub(supermod.docSect1Type):
-    def __init__(self, id=None, title='', para=None, sect2=None, internal=None, mixedclass_=None, content_=None):
-        supermod.docSect1Type.__init__(self, mixedclass_, content_)
-supermod.docSect1Type.subclass = docSect1TypeSub
-# end class docSect1TypeSub
-
-
-class docSect2TypeSub(supermod.docSect2Type):
-    def __init__(self, id=None, title='', para=None, sect3=None, internal=None, mixedclass_=None, content_=None):
-        supermod.docSect2Type.__init__(self, mixedclass_, content_)
-supermod.docSect2Type.subclass = docSect2TypeSub
-# end class docSect2TypeSub
-
-
-class docSect3TypeSub(supermod.docSect3Type):
-    def __init__(self, id=None, title='', para=None, sect4=None, internal=None, mixedclass_=None, content_=None):
-        supermod.docSect3Type.__init__(self, mixedclass_, content_)
-supermod.docSect3Type.subclass = docSect3TypeSub
-# end class docSect3TypeSub
-
-
-class docSect4TypeSub(supermod.docSect4Type):
-    def __init__(self, id=None, title='', para=None, internal=None, mixedclass_=None, content_=None):
-        supermod.docSect4Type.__init__(self, mixedclass_, content_)
-supermod.docSect4Type.subclass = docSect4TypeSub
-# end class docSect4TypeSub
-
-
-class docInternalTypeSub(supermod.docInternalType):
-    def __init__(self, para=None, sect1=None, mixedclass_=None, content_=None):
-        supermod.docInternalType.__init__(self, mixedclass_, content_)
-supermod.docInternalType.subclass = docInternalTypeSub
-# end class docInternalTypeSub
-
-
-class docInternalS1TypeSub(supermod.docInternalS1Type):
-    def __init__(self, para=None, sect2=None, mixedclass_=None, content_=None):
-        supermod.docInternalS1Type.__init__(self, mixedclass_, content_)
-supermod.docInternalS1Type.subclass = docInternalS1TypeSub
-# end class docInternalS1TypeSub
-
-
-class docInternalS2TypeSub(supermod.docInternalS2Type):
-    def __init__(self, para=None, sect3=None, mixedclass_=None, content_=None):
-        supermod.docInternalS2Type.__init__(self, mixedclass_, content_)
-supermod.docInternalS2Type.subclass = docInternalS2TypeSub
-# end class docInternalS2TypeSub
-
-
-class docInternalS3TypeSub(supermod.docInternalS3Type):
-    def __init__(self, para=None, sect3=None, mixedclass_=None, content_=None):
-        supermod.docInternalS3Type.__init__(self, mixedclass_, content_)
-supermod.docInternalS3Type.subclass = docInternalS3TypeSub
-# end class docInternalS3TypeSub
-
-
-class docInternalS4TypeSub(supermod.docInternalS4Type):
-    def __init__(self, para=None, mixedclass_=None, content_=None):
-        supermod.docInternalS4Type.__init__(self, mixedclass_, content_)
-supermod.docInternalS4Type.subclass = docInternalS4TypeSub
-# end class docInternalS4TypeSub
-
-
-class docURLLinkSub(supermod.docURLLink):
-    def __init__(self, url=None, valueOf_='', mixedclass_=None, content_=None):
-        supermod.docURLLink.__init__(self, mixedclass_, content_)
-supermod.docURLLink.subclass = docURLLinkSub
-# end class docURLLinkSub
-
-
-class docAnchorTypeSub(supermod.docAnchorType):
-    def __init__(self, id=None, valueOf_='', mixedclass_=None, content_=None):
-        supermod.docAnchorType.__init__(self, mixedclass_, content_)
-supermod.docAnchorType.subclass = docAnchorTypeSub
-# end class docAnchorTypeSub
-
-
-class docFormulaTypeSub(supermod.docFormulaType):
-    def __init__(self, id=None, valueOf_='', mixedclass_=None, content_=None):
-        supermod.docFormulaType.__init__(self, mixedclass_, content_)
-supermod.docFormulaType.subclass = docFormulaTypeSub
-# end class docFormulaTypeSub
-
-
-class docIndexEntryTypeSub(supermod.docIndexEntryType):
-    def __init__(self, primaryie='', secondaryie=''):
-        supermod.docIndexEntryType.__init__(self, primaryie, secondaryie)
-supermod.docIndexEntryType.subclass = docIndexEntryTypeSub
-# end class docIndexEntryTypeSub
-
-
-class docListTypeSub(supermod.docListType):
-    def __init__(self, listitem=None):
-        supermod.docListType.__init__(self, listitem)
-supermod.docListType.subclass = docListTypeSub
-# end class docListTypeSub
-
-
-class docListItemTypeSub(supermod.docListItemType):
-    def __init__(self, para=None):
-        supermod.docListItemType.__init__(self, para)
-supermod.docListItemType.subclass = docListItemTypeSub
-# end class docListItemTypeSub
-
-
-class docSimpleSectTypeSub(supermod.docSimpleSectType):
-    def __init__(self, kind=None, title=None, para=None):
-        supermod.docSimpleSectType.__init__(self, kind, title, para)
-supermod.docSimpleSectType.subclass = docSimpleSectTypeSub
-# end class docSimpleSectTypeSub
-
-
-class docVarListEntryTypeSub(supermod.docVarListEntryType):
-    def __init__(self, term=None):
-        supermod.docVarListEntryType.__init__(self, term)
-supermod.docVarListEntryType.subclass = docVarListEntryTypeSub
-# end class docVarListEntryTypeSub
-
-
-class docRefTextTypeSub(supermod.docRefTextType):
-    def __init__(self, refid=None, kindref=None, external=None, valueOf_='', mixedclass_=None, content_=None):
-        supermod.docRefTextType.__init__(self, mixedclass_, content_)
-supermod.docRefTextType.subclass = docRefTextTypeSub
-# end class docRefTextTypeSub
-
-
-class docTableTypeSub(supermod.docTableType):
-    def __init__(self, rows=None, cols=None, row=None, caption=None):
-        supermod.docTableType.__init__(self, rows, cols, row, caption)
-supermod.docTableType.subclass = docTableTypeSub
-# end class docTableTypeSub
-
-
-class docRowTypeSub(supermod.docRowType):
-    def __init__(self, entry=None):
-        supermod.docRowType.__init__(self, entry)
-supermod.docRowType.subclass = docRowTypeSub
-# end class docRowTypeSub
-
-
-class docEntryTypeSub(supermod.docEntryType):
-    def __init__(self, thead=None, para=None):
-        supermod.docEntryType.__init__(self, thead, para)
-supermod.docEntryType.subclass = docEntryTypeSub
-# end class docEntryTypeSub
-
-
-class docHeadingTypeSub(supermod.docHeadingType):
-    def __init__(self, level=None, valueOf_='', mixedclass_=None, content_=None):
-        supermod.docHeadingType.__init__(self, mixedclass_, content_)
-supermod.docHeadingType.subclass = docHeadingTypeSub
-# end class docHeadingTypeSub
-
-
-class docImageTypeSub(supermod.docImageType):
-    def __init__(self, width=None, type_=None, name=None, height=None, valueOf_='', mixedclass_=None, content_=None):
-        supermod.docImageType.__init__(self, mixedclass_, content_)
-supermod.docImageType.subclass = docImageTypeSub
-# end class docImageTypeSub
-
-
-class docDotFileTypeSub(supermod.docDotFileType):
-    def __init__(self, name=None, valueOf_='', mixedclass_=None, content_=None):
-        supermod.docDotFileType.__init__(self, mixedclass_, content_)
-supermod.docDotFileType.subclass = docDotFileTypeSub
-# end class docDotFileTypeSub
-
-
-class docTocItemTypeSub(supermod.docTocItemType):
-    def __init__(self, id=None, valueOf_='', mixedclass_=None, content_=None):
-        supermod.docTocItemType.__init__(self, mixedclass_, content_)
-supermod.docTocItemType.subclass = docTocItemTypeSub
-# end class docTocItemTypeSub
-
-
-class docTocListTypeSub(supermod.docTocListType):
-    def __init__(self, tocitem=None):
-        supermod.docTocListType.__init__(self, tocitem)
-supermod.docTocListType.subclass = docTocListTypeSub
-# end class docTocListTypeSub
-
-
-class docLanguageTypeSub(supermod.docLanguageType):
-    def __init__(self, langid=None, para=None):
-        supermod.docLanguageType.__init__(self, langid, para)
-supermod.docLanguageType.subclass = docLanguageTypeSub
-# end class docLanguageTypeSub
-
-
-class docParamListTypeSub(supermod.docParamListType):
-    def __init__(self, kind=None, parameteritem=None):
-        supermod.docParamListType.__init__(self, kind, parameteritem)
-supermod.docParamListType.subclass = docParamListTypeSub
-# end class docParamListTypeSub
-
-
-class docParamListItemSub(supermod.docParamListItem):
-    def __init__(self, parameternamelist=None, parameterdescription=None):
-        supermod.docParamListItem.__init__(self, parameternamelist, parameterdescription)
-supermod.docParamListItem.subclass = docParamListItemSub
-# end class docParamListItemSub
-
-
-class docParamNameListSub(supermod.docParamNameList):
-    def __init__(self, parametername=None):
-        supermod.docParamNameList.__init__(self, parametername)
-supermod.docParamNameList.subclass = docParamNameListSub
-# end class docParamNameListSub
-
-
-class docParamNameSub(supermod.docParamName):
-    def __init__(self, direction=None, ref=None, mixedclass_=None, content_=None):
-        supermod.docParamName.__init__(self, mixedclass_, content_)
-supermod.docParamName.subclass = docParamNameSub
-# end class docParamNameSub
-
-
-class docXRefSectTypeSub(supermod.docXRefSectType):
-    def __init__(self, id=None, xreftitle=None, xrefdescription=None):
-        supermod.docXRefSectType.__init__(self, id, xreftitle, xrefdescription)
-supermod.docXRefSectType.subclass = docXRefSectTypeSub
-# end class docXRefSectTypeSub
-
-
-class docCopyTypeSub(supermod.docCopyType):
-    def __init__(self, link=None, para=None, sect1=None, internal=None):
-        supermod.docCopyType.__init__(self, link, para, sect1, internal)
-supermod.docCopyType.subclass = docCopyTypeSub
-# end class docCopyTypeSub
-
-
-class docCharTypeSub(supermod.docCharType):
-    def __init__(self, char=None, valueOf_=''):
-        supermod.docCharType.__init__(self, char)
-supermod.docCharType.subclass = docCharTypeSub
-# end class docCharTypeSub
-
-class docParaTypeSub(supermod.docParaType):
-    def __init__(self, char=None, valueOf_=''):
-        supermod.docParaType.__init__(self, char)
-
-        self.parameterlist = []
-        self.simplesects = []
-        self.content = []
-
-    def buildChildren(self, child_, nodeName_):
-        supermod.docParaType.buildChildren(self, child_, nodeName_)
-
-        if child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-                nodeName_ == "ref":
-            obj_ = supermod.docRefTextType.factory()
-            obj_.build(child_)
-            self.content.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-                nodeName_ == 'parameterlist':
-            obj_ = supermod.docParamListType.factory()
-            obj_.build(child_)
-            self.parameterlist.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-                nodeName_ == 'simplesect':
-            obj_ = supermod.docSimpleSectType.factory()
-            obj_.build(child_)
-            self.simplesects.append(obj_)
-
-
-supermod.docParaType.subclass = docParaTypeSub
-# end class docParaTypeSub
-
-
-
-def parse(inFilename):
-    doc = minidom.parse(inFilename)
-    rootNode = doc.documentElement
-    rootObj = supermod.DoxygenType.factory()
-    rootObj.build(rootNode)
-    return rootObj
-
-
diff --git a/drivers/gr-gn3s/docs/doxygen/doxyxml/generated/compoundsuper.py b/drivers/gr-gn3s/docs/doxygen/doxyxml/generated/compoundsuper.py
deleted file mode 100644
index 6255dda..0000000
--- a/drivers/gr-gn3s/docs/doxygen/doxyxml/generated/compoundsuper.py
+++ /dev/null
@@ -1,8342 +0,0 @@
-#!/usr/bin/env python
-
-#
-# Generated Thu Jun 11 18:44:25 2009 by generateDS.py.
-#
-
-import sys
-import getopt
-from string import lower as str_lower
-from xml.dom import minidom
-from xml.dom import Node
-
-#
-# User methods
-#
-# Calls to the methods in these classes are generated by generateDS.py.
-# You can replace these methods by re-implementing the following class
-#   in a module named generatedssuper.py.
-
-try:
-    from generatedssuper import GeneratedsSuper
-except ImportError, exp:
-
-    class GeneratedsSuper:
-        def format_string(self, input_data, input_name=''):
-            return input_data
-        def format_integer(self, input_data, input_name=''):
-            return '%d' % input_data
-        def format_float(self, input_data, input_name=''):
-            return '%f' % input_data
-        def format_double(self, input_data, input_name=''):
-            return '%e' % input_data
-        def format_boolean(self, input_data, input_name=''):
-            return '%s' % input_data
-
-
-#
-# If you have installed IPython you can uncomment and use the following.
-# IPython is available from http://ipython.scipy.org/.
-#
-
-## from IPython.Shell import IPShellEmbed
-## args = ''
-## ipshell = IPShellEmbed(args,
-##     banner = 'Dropping into IPython',
-##     exit_msg = 'Leaving Interpreter, back to program.')
-
-# Then use the following line where and when you want to drop into the
-# IPython shell:
-#    ipshell('<some message> -- Entering ipshell.\nHit Ctrl-D to exit')
-
-#
-# Globals
-#
-
-ExternalEncoding = 'ascii'
-
-#
-# Support/utility functions.
-#
-
-def showIndent(outfile, level):
-    for idx in range(level):
-        outfile.write('    ')
-
-def quote_xml(inStr):
-    s1 = (isinstance(inStr, basestring) and inStr or
-          '%s' % inStr)
-    s1 = s1.replace('&', '&')
-    s1 = s1.replace('<', '<')
-    s1 = s1.replace('>', '>')
-    return s1
-
-def quote_attrib(inStr):
-    s1 = (isinstance(inStr, basestring) and inStr or
-          '%s' % inStr)
-    s1 = s1.replace('&', '&')
-    s1 = s1.replace('<', '<')
-    s1 = s1.replace('>', '>')
-    if '"' in s1:
-        if "'" in s1:
-            s1 = '"%s"' % s1.replace('"', """)
-        else:
-            s1 = "'%s'" % s1
-    else:
-        s1 = '"%s"' % s1
-    return s1
-
-def quote_python(inStr):
-    s1 = inStr
-    if s1.find("'") == -1:
-        if s1.find('\n') == -1:
-            return "'%s'" % s1
-        else:
-            return "'''%s'''" % s1
-    else:
-        if s1.find('"') != -1:
-            s1 = s1.replace('"', '\\"')
-        if s1.find('\n') == -1:
-            return '"%s"' % s1
-        else:
-            return '"""%s"""' % s1
-
-
-class MixedContainer:
-    # Constants for category:
-    CategoryNone = 0
-    CategoryText = 1
-    CategorySimple = 2
-    CategoryComplex = 3
-    # Constants for content_type:
-    TypeNone = 0
-    TypeText = 1
-    TypeString = 2
-    TypeInteger = 3
-    TypeFloat = 4
-    TypeDecimal = 5
-    TypeDouble = 6
-    TypeBoolean = 7
-    def __init__(self, category, content_type, name, value):
-        self.category = category
-        self.content_type = content_type
-        self.name = name
-        self.value = value
-    def getCategory(self):
-        return self.category
-    def getContenttype(self, content_type):
-        return self.content_type
-    def getValue(self):
-        return self.value
-    def getName(self):
-        return self.name
-    def export(self, outfile, level, name, namespace):
-        if self.category == MixedContainer.CategoryText:
-            outfile.write(self.value)
-        elif self.category == MixedContainer.CategorySimple:
-            self.exportSimple(outfile, level, name)
-        else:    # category == MixedContainer.CategoryComplex
-            self.value.export(outfile, level, namespace,name)
-    def exportSimple(self, outfile, level, name):
-        if self.content_type == MixedContainer.TypeString:
-            outfile.write('<%s>%s</%s>' % (self.name, self.value, self.name))
-        elif self.content_type == MixedContainer.TypeInteger or \
-                self.content_type == MixedContainer.TypeBoolean:
-            outfile.write('<%s>%d</%s>' % (self.name, self.value, self.name))
-        elif self.content_type == MixedContainer.TypeFloat or \
-                self.content_type == MixedContainer.TypeDecimal:
-            outfile.write('<%s>%f</%s>' % (self.name, self.value, self.name))
-        elif self.content_type == MixedContainer.TypeDouble:
-            outfile.write('<%s>%g</%s>' % (self.name, self.value, self.name))
-    def exportLiteral(self, outfile, level, name):
-        if self.category == MixedContainer.CategoryText:
-            showIndent(outfile, level)
-            outfile.write('MixedContainer(%d, %d, "%s", "%s"),\n' % \
-                (self.category, self.content_type, self.name, self.value))
-        elif self.category == MixedContainer.CategorySimple:
-            showIndent(outfile, level)
-            outfile.write('MixedContainer(%d, %d, "%s", "%s"),\n' % \
-                (self.category, self.content_type, self.name, self.value))
-        else:    # category == MixedContainer.CategoryComplex
-            showIndent(outfile, level)
-            outfile.write('MixedContainer(%d, %d, "%s",\n' % \
-                (self.category, self.content_type, self.name,))
-            self.value.exportLiteral(outfile, level + 1)
-            showIndent(outfile, level)
-            outfile.write(')\n')
-
-
-class _MemberSpec(object):
-    def __init__(self, name='', data_type='', container=0):
-        self.name = name
-        self.data_type = data_type
-        self.container = container
-    def set_name(self, name): self.name = name
-    def get_name(self): return self.name
-    def set_data_type(self, data_type): self.data_type = data_type
-    def get_data_type(self): return self.data_type
-    def set_container(self, container): self.container = container
-    def get_container(self): return self.container
-
-
-#
-# Data representation classes.
-#
-
-class DoxygenType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, version=None, compounddef=None):
-        self.version = version
-        self.compounddef = compounddef
-    def factory(*args_, **kwargs_):
-        if DoxygenType.subclass:
-            return DoxygenType.subclass(*args_, **kwargs_)
-        else:
-            return DoxygenType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_compounddef(self): return self.compounddef
-    def set_compounddef(self, compounddef): self.compounddef = compounddef
-    def get_version(self): return self.version
-    def set_version(self, version): self.version = version
-    def export(self, outfile, level, namespace_='', name_='DoxygenType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='DoxygenType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='DoxygenType'):
-        outfile.write(' version=%s' % (quote_attrib(self.version), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='DoxygenType'):
-        if self.compounddef:
-            self.compounddef.export(outfile, level, namespace_, name_='compounddef')
-    def hasContent_(self):
-        if (
-            self.compounddef is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='DoxygenType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.version is not None:
-            showIndent(outfile, level)
-            outfile.write('version = "%s",\n' % (self.version,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        if self.compounddef:
-            showIndent(outfile, level)
-            outfile.write('compounddef=model_.compounddefType(\n')
-            self.compounddef.exportLiteral(outfile, level, name_='compounddef')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('version'):
-            self.version = attrs.get('version').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'compounddef':
-            obj_ = compounddefType.factory()
-            obj_.build(child_)
-            self.set_compounddef(obj_)
-# end class DoxygenType
-
-
-class compounddefType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, kind=None, prot=None, id=None, compoundname=None, title=None, basecompoundref=None, derivedcompoundref=None, includes=None, includedby=None, incdepgraph=None, invincdepgraph=None, innerdir=None, innerfile=None, innerclass=None, innernamespace=None, innerpage=None, innergroup=None, templateparamlist=None, sectiondef=None, briefdescription=None, detaileddescription=None, inheritancegraph=None, collaborationgraph=None, programlisting=None, location=None, listofallmemb [...]
-        self.kind = kind
-        self.prot = prot
-        self.id = id
-        self.compoundname = compoundname
-        self.title = title
-        if basecompoundref is None:
-            self.basecompoundref = []
-        else:
-            self.basecompoundref = basecompoundref
-        if derivedcompoundref is None:
-            self.derivedcompoundref = []
-        else:
-            self.derivedcompoundref = derivedcompoundref
-        if includes is None:
-            self.includes = []
-        else:
-            self.includes = includes
-        if includedby is None:
-            self.includedby = []
-        else:
-            self.includedby = includedby
-        self.incdepgraph = incdepgraph
-        self.invincdepgraph = invincdepgraph
-        if innerdir is None:
-            self.innerdir = []
-        else:
-            self.innerdir = innerdir
-        if innerfile is None:
-            self.innerfile = []
-        else:
-            self.innerfile = innerfile
-        if innerclass is None:
-            self.innerclass = []
-        else:
-            self.innerclass = innerclass
-        if innernamespace is None:
-            self.innernamespace = []
-        else:
-            self.innernamespace = innernamespace
-        if innerpage is None:
-            self.innerpage = []
-        else:
-            self.innerpage = innerpage
-        if innergroup is None:
-            self.innergroup = []
-        else:
-            self.innergroup = innergroup
-        self.templateparamlist = templateparamlist
-        if sectiondef is None:
-            self.sectiondef = []
-        else:
-            self.sectiondef = sectiondef
-        self.briefdescription = briefdescription
-        self.detaileddescription = detaileddescription
-        self.inheritancegraph = inheritancegraph
-        self.collaborationgraph = collaborationgraph
-        self.programlisting = programlisting
-        self.location = location
-        self.listofallmembers = listofallmembers
-    def factory(*args_, **kwargs_):
-        if compounddefType.subclass:
-            return compounddefType.subclass(*args_, **kwargs_)
-        else:
-            return compounddefType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_compoundname(self): return self.compoundname
-    def set_compoundname(self, compoundname): self.compoundname = compoundname
-    def get_title(self): return self.title
-    def set_title(self, title): self.title = title
-    def get_basecompoundref(self): return self.basecompoundref
-    def set_basecompoundref(self, basecompoundref): self.basecompoundref = basecompoundref
-    def add_basecompoundref(self, value): self.basecompoundref.append(value)
-    def insert_basecompoundref(self, index, value): self.basecompoundref[index] = value
-    def get_derivedcompoundref(self): return self.derivedcompoundref
-    def set_derivedcompoundref(self, derivedcompoundref): self.derivedcompoundref = derivedcompoundref
-    def add_derivedcompoundref(self, value): self.derivedcompoundref.append(value)
-    def insert_derivedcompoundref(self, index, value): self.derivedcompoundref[index] = value
-    def get_includes(self): return self.includes
-    def set_includes(self, includes): self.includes = includes
-    def add_includes(self, value): self.includes.append(value)
-    def insert_includes(self, index, value): self.includes[index] = value
-    def get_includedby(self): return self.includedby
-    def set_includedby(self, includedby): self.includedby = includedby
-    def add_includedby(self, value): self.includedby.append(value)
-    def insert_includedby(self, index, value): self.includedby[index] = value
-    def get_incdepgraph(self): return self.incdepgraph
-    def set_incdepgraph(self, incdepgraph): self.incdepgraph = incdepgraph
-    def get_invincdepgraph(self): return self.invincdepgraph
-    def set_invincdepgraph(self, invincdepgraph): self.invincdepgraph = invincdepgraph
-    def get_innerdir(self): return self.innerdir
-    def set_innerdir(self, innerdir): self.innerdir = innerdir
-    def add_innerdir(self, value): self.innerdir.append(value)
-    def insert_innerdir(self, index, value): self.innerdir[index] = value
-    def get_innerfile(self): return self.innerfile
-    def set_innerfile(self, innerfile): self.innerfile = innerfile
-    def add_innerfile(self, value): self.innerfile.append(value)
-    def insert_innerfile(self, index, value): self.innerfile[index] = value
-    def get_innerclass(self): return self.innerclass
-    def set_innerclass(self, innerclass): self.innerclass = innerclass
-    def add_innerclass(self, value): self.innerclass.append(value)
-    def insert_innerclass(self, index, value): self.innerclass[index] = value
-    def get_innernamespace(self): return self.innernamespace
-    def set_innernamespace(self, innernamespace): self.innernamespace = innernamespace
-    def add_innernamespace(self, value): self.innernamespace.append(value)
-    def insert_innernamespace(self, index, value): self.innernamespace[index] = value
-    def get_innerpage(self): return self.innerpage
-    def set_innerpage(self, innerpage): self.innerpage = innerpage
-    def add_innerpage(self, value): self.innerpage.append(value)
-    def insert_innerpage(self, index, value): self.innerpage[index] = value
-    def get_innergroup(self): return self.innergroup
-    def set_innergroup(self, innergroup): self.innergroup = innergroup
-    def add_innergroup(self, value): self.innergroup.append(value)
-    def insert_innergroup(self, index, value): self.innergroup[index] = value
-    def get_templateparamlist(self): return self.templateparamlist
-    def set_templateparamlist(self, templateparamlist): self.templateparamlist = templateparamlist
-    def get_sectiondef(self): return self.sectiondef
-    def set_sectiondef(self, sectiondef): self.sectiondef = sectiondef
-    def add_sectiondef(self, value): self.sectiondef.append(value)
-    def insert_sectiondef(self, index, value): self.sectiondef[index] = value
-    def get_briefdescription(self): return self.briefdescription
-    def set_briefdescription(self, briefdescription): self.briefdescription = briefdescription
-    def get_detaileddescription(self): return self.detaileddescription
-    def set_detaileddescription(self, detaileddescription): self.detaileddescription = detaileddescription
-    def get_inheritancegraph(self): return self.inheritancegraph
-    def set_inheritancegraph(self, inheritancegraph): self.inheritancegraph = inheritancegraph
-    def get_collaborationgraph(self): return self.collaborationgraph
-    def set_collaborationgraph(self, collaborationgraph): self.collaborationgraph = collaborationgraph
-    def get_programlisting(self): return self.programlisting
-    def set_programlisting(self, programlisting): self.programlisting = programlisting
-    def get_location(self): return self.location
-    def set_location(self, location): self.location = location
-    def get_listofallmembers(self): return self.listofallmembers
-    def set_listofallmembers(self, listofallmembers): self.listofallmembers = listofallmembers
-    def get_kind(self): return self.kind
-    def set_kind(self, kind): self.kind = kind
-    def get_prot(self): return self.prot
-    def set_prot(self, prot): self.prot = prot
-    def get_id(self): return self.id
-    def set_id(self, id): self.id = id
-    def export(self, outfile, level, namespace_='', name_='compounddefType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='compounddefType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='compounddefType'):
-        if self.kind is not None:
-            outfile.write(' kind=%s' % (quote_attrib(self.kind), ))
-        if self.prot is not None:
-            outfile.write(' prot=%s' % (quote_attrib(self.prot), ))
-        if self.id is not None:
-            outfile.write(' id=%s' % (self.format_string(quote_attrib(self.id).encode(ExternalEncoding), input_name='id'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='compounddefType'):
-        if self.compoundname is not None:
-            showIndent(outfile, level)
-            outfile.write('<%scompoundname>%s</%scompoundname>\n' % (namespace_, self.format_string(quote_xml(self.compoundname).encode(ExternalEncoding), input_name='compoundname'), namespace_))
-        if self.title is not None:
-            showIndent(outfile, level)
-            outfile.write('<%stitle>%s</%stitle>\n' % (namespace_, self.format_string(quote_xml(self.title).encode(ExternalEncoding), input_name='title'), namespace_))
-        for basecompoundref_ in self.basecompoundref:
-            basecompoundref_.export(outfile, level, namespace_, name_='basecompoundref')
-        for derivedcompoundref_ in self.derivedcompoundref:
-            derivedcompoundref_.export(outfile, level, namespace_, name_='derivedcompoundref')
-        for includes_ in self.includes:
-            includes_.export(outfile, level, namespace_, name_='includes')
-        for includedby_ in self.includedby:
-            includedby_.export(outfile, level, namespace_, name_='includedby')
-        if self.incdepgraph:
-            self.incdepgraph.export(outfile, level, namespace_, name_='incdepgraph')
-        if self.invincdepgraph:
-            self.invincdepgraph.export(outfile, level, namespace_, name_='invincdepgraph')
-        for innerdir_ in self.innerdir:
-            innerdir_.export(outfile, level, namespace_, name_='innerdir')
-        for innerfile_ in self.innerfile:
-            innerfile_.export(outfile, level, namespace_, name_='innerfile')
-        for innerclass_ in self.innerclass:
-            innerclass_.export(outfile, level, namespace_, name_='innerclass')
-        for innernamespace_ in self.innernamespace:
-            innernamespace_.export(outfile, level, namespace_, name_='innernamespace')
-        for innerpage_ in self.innerpage:
-            innerpage_.export(outfile, level, namespace_, name_='innerpage')
-        for innergroup_ in self.innergroup:
-            innergroup_.export(outfile, level, namespace_, name_='innergroup')
-        if self.templateparamlist:
-            self.templateparamlist.export(outfile, level, namespace_, name_='templateparamlist')
-        for sectiondef_ in self.sectiondef:
-            sectiondef_.export(outfile, level, namespace_, name_='sectiondef')
-        if self.briefdescription:
-            self.briefdescription.export(outfile, level, namespace_, name_='briefdescription')
-        if self.detaileddescription:
-            self.detaileddescription.export(outfile, level, namespace_, name_='detaileddescription')
-        if self.inheritancegraph:
-            self.inheritancegraph.export(outfile, level, namespace_, name_='inheritancegraph')
-        if self.collaborationgraph:
-            self.collaborationgraph.export(outfile, level, namespace_, name_='collaborationgraph')
-        if self.programlisting:
-            self.programlisting.export(outfile, level, namespace_, name_='programlisting')
-        if self.location:
-            self.location.export(outfile, level, namespace_, name_='location')
-        if self.listofallmembers:
-            self.listofallmembers.export(outfile, level, namespace_, name_='listofallmembers')
-    def hasContent_(self):
-        if (
-            self.compoundname is not None or
-            self.title is not None or
-            self.basecompoundref is not None or
-            self.derivedcompoundref is not None or
-            self.includes is not None or
-            self.includedby is not None or
-            self.incdepgraph is not None or
-            self.invincdepgraph is not None or
-            self.innerdir is not None or
-            self.innerfile is not None or
-            self.innerclass is not None or
-            self.innernamespace is not None or
-            self.innerpage is not None or
-            self.innergroup is not None or
-            self.templateparamlist is not None or
-            self.sectiondef is not None or
-            self.briefdescription is not None or
-            self.detaileddescription is not None or
-            self.inheritancegraph is not None or
-            self.collaborationgraph is not None or
-            self.programlisting is not None or
-            self.location is not None or
-            self.listofallmembers is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='compounddefType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.kind is not None:
-            showIndent(outfile, level)
-            outfile.write('kind = "%s",\n' % (self.kind,))
-        if self.prot is not None:
-            showIndent(outfile, level)
-            outfile.write('prot = "%s",\n' % (self.prot,))
-        if self.id is not None:
-            showIndent(outfile, level)
-            outfile.write('id = %s,\n' % (self.id,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('compoundname=%s,\n' % quote_python(self.compoundname).encode(ExternalEncoding))
-        if self.title:
-            showIndent(outfile, level)
-            outfile.write('title=model_.xsd_string(\n')
-            self.title.exportLiteral(outfile, level, name_='title')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        showIndent(outfile, level)
-        outfile.write('basecompoundref=[\n')
-        level += 1
-        for basecompoundref in self.basecompoundref:
-            showIndent(outfile, level)
-            outfile.write('model_.basecompoundref(\n')
-            basecompoundref.exportLiteral(outfile, level, name_='basecompoundref')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('derivedcompoundref=[\n')
-        level += 1
-        for derivedcompoundref in self.derivedcompoundref:
-            showIndent(outfile, level)
-            outfile.write('model_.derivedcompoundref(\n')
-            derivedcompoundref.exportLiteral(outfile, level, name_='derivedcompoundref')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('includes=[\n')
-        level += 1
-        for includes in self.includes:
-            showIndent(outfile, level)
-            outfile.write('model_.includes(\n')
-            includes.exportLiteral(outfile, level, name_='includes')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('includedby=[\n')
-        level += 1
-        for includedby in self.includedby:
-            showIndent(outfile, level)
-            outfile.write('model_.includedby(\n')
-            includedby.exportLiteral(outfile, level, name_='includedby')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        if self.incdepgraph:
-            showIndent(outfile, level)
-            outfile.write('incdepgraph=model_.graphType(\n')
-            self.incdepgraph.exportLiteral(outfile, level, name_='incdepgraph')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        if self.invincdepgraph:
-            showIndent(outfile, level)
-            outfile.write('invincdepgraph=model_.graphType(\n')
-            self.invincdepgraph.exportLiteral(outfile, level, name_='invincdepgraph')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        showIndent(outfile, level)
-        outfile.write('innerdir=[\n')
-        level += 1
-        for innerdir in self.innerdir:
-            showIndent(outfile, level)
-            outfile.write('model_.innerdir(\n')
-            innerdir.exportLiteral(outfile, level, name_='innerdir')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('innerfile=[\n')
-        level += 1
-        for innerfile in self.innerfile:
-            showIndent(outfile, level)
-            outfile.write('model_.innerfile(\n')
-            innerfile.exportLiteral(outfile, level, name_='innerfile')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('innerclass=[\n')
-        level += 1
-        for innerclass in self.innerclass:
-            showIndent(outfile, level)
-            outfile.write('model_.innerclass(\n')
-            innerclass.exportLiteral(outfile, level, name_='innerclass')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('innernamespace=[\n')
-        level += 1
-        for innernamespace in self.innernamespace:
-            showIndent(outfile, level)
-            outfile.write('model_.innernamespace(\n')
-            innernamespace.exportLiteral(outfile, level, name_='innernamespace')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('innerpage=[\n')
-        level += 1
-        for innerpage in self.innerpage:
-            showIndent(outfile, level)
-            outfile.write('model_.innerpage(\n')
-            innerpage.exportLiteral(outfile, level, name_='innerpage')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('innergroup=[\n')
-        level += 1
-        for innergroup in self.innergroup:
-            showIndent(outfile, level)
-            outfile.write('model_.innergroup(\n')
-            innergroup.exportLiteral(outfile, level, name_='innergroup')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        if self.templateparamlist:
-            showIndent(outfile, level)
-            outfile.write('templateparamlist=model_.templateparamlistType(\n')
-            self.templateparamlist.exportLiteral(outfile, level, name_='templateparamlist')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        showIndent(outfile, level)
-        outfile.write('sectiondef=[\n')
-        level += 1
-        for sectiondef in self.sectiondef:
-            showIndent(outfile, level)
-            outfile.write('model_.sectiondef(\n')
-            sectiondef.exportLiteral(outfile, level, name_='sectiondef')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        if self.briefdescription:
-            showIndent(outfile, level)
-            outfile.write('briefdescription=model_.descriptionType(\n')
-            self.briefdescription.exportLiteral(outfile, level, name_='briefdescription')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        if self.detaileddescription:
-            showIndent(outfile, level)
-            outfile.write('detaileddescription=model_.descriptionType(\n')
-            self.detaileddescription.exportLiteral(outfile, level, name_='detaileddescription')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        if self.inheritancegraph:
-            showIndent(outfile, level)
-            outfile.write('inheritancegraph=model_.graphType(\n')
-            self.inheritancegraph.exportLiteral(outfile, level, name_='inheritancegraph')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        if self.collaborationgraph:
-            showIndent(outfile, level)
-            outfile.write('collaborationgraph=model_.graphType(\n')
-            self.collaborationgraph.exportLiteral(outfile, level, name_='collaborationgraph')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        if self.programlisting:
-            showIndent(outfile, level)
-            outfile.write('programlisting=model_.listingType(\n')
-            self.programlisting.exportLiteral(outfile, level, name_='programlisting')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        if self.location:
-            showIndent(outfile, level)
-            outfile.write('location=model_.locationType(\n')
-            self.location.exportLiteral(outfile, level, name_='location')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        if self.listofallmembers:
-            showIndent(outfile, level)
-            outfile.write('listofallmembers=model_.listofallmembersType(\n')
-            self.listofallmembers.exportLiteral(outfile, level, name_='listofallmembers')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('kind'):
-            self.kind = attrs.get('kind').value
-        if attrs.get('prot'):
-            self.prot = attrs.get('prot').value
-        if attrs.get('id'):
-            self.id = attrs.get('id').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'compoundname':
-            compoundname_ = ''
-            for text__content_ in child_.childNodes:
-                compoundname_ += text__content_.nodeValue
-            self.compoundname = compoundname_
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'title':
-            obj_ = docTitleType.factory()
-            obj_.build(child_)
-            self.set_title(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'basecompoundref':
-            obj_ = compoundRefType.factory()
-            obj_.build(child_)
-            self.basecompoundref.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'derivedcompoundref':
-            obj_ = compoundRefType.factory()
-            obj_.build(child_)
-            self.derivedcompoundref.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'includes':
-            obj_ = incType.factory()
-            obj_.build(child_)
-            self.includes.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'includedby':
-            obj_ = incType.factory()
-            obj_.build(child_)
-            self.includedby.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'incdepgraph':
-            obj_ = graphType.factory()
-            obj_.build(child_)
-            self.set_incdepgraph(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'invincdepgraph':
-            obj_ = graphType.factory()
-            obj_.build(child_)
-            self.set_invincdepgraph(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'innerdir':
-            obj_ = refType.factory()
-            obj_.build(child_)
-            self.innerdir.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'innerfile':
-            obj_ = refType.factory()
-            obj_.build(child_)
-            self.innerfile.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'innerclass':
-            obj_ = refType.factory()
-            obj_.build(child_)
-            self.innerclass.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'innernamespace':
-            obj_ = refType.factory()
-            obj_.build(child_)
-            self.innernamespace.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'innerpage':
-            obj_ = refType.factory()
-            obj_.build(child_)
-            self.innerpage.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'innergroup':
-            obj_ = refType.factory()
-            obj_.build(child_)
-            self.innergroup.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'templateparamlist':
-            obj_ = templateparamlistType.factory()
-            obj_.build(child_)
-            self.set_templateparamlist(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'sectiondef':
-            obj_ = sectiondefType.factory()
-            obj_.build(child_)
-            self.sectiondef.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'briefdescription':
-            obj_ = descriptionType.factory()
-            obj_.build(child_)
-            self.set_briefdescription(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'detaileddescription':
-            obj_ = descriptionType.factory()
-            obj_.build(child_)
-            self.set_detaileddescription(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'inheritancegraph':
-            obj_ = graphType.factory()
-            obj_.build(child_)
-            self.set_inheritancegraph(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'collaborationgraph':
-            obj_ = graphType.factory()
-            obj_.build(child_)
-            self.set_collaborationgraph(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'programlisting':
-            obj_ = listingType.factory()
-            obj_.build(child_)
-            self.set_programlisting(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'location':
-            obj_ = locationType.factory()
-            obj_.build(child_)
-            self.set_location(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'listofallmembers':
-            obj_ = listofallmembersType.factory()
-            obj_.build(child_)
-            self.set_listofallmembers(obj_)
-# end class compounddefType
-
-
-class listofallmembersType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, member=None):
-        if member is None:
-            self.member = []
-        else:
-            self.member = member
-    def factory(*args_, **kwargs_):
-        if listofallmembersType.subclass:
-            return listofallmembersType.subclass(*args_, **kwargs_)
-        else:
-            return listofallmembersType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_member(self): return self.member
-    def set_member(self, member): self.member = member
-    def add_member(self, value): self.member.append(value)
-    def insert_member(self, index, value): self.member[index] = value
-    def export(self, outfile, level, namespace_='', name_='listofallmembersType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='listofallmembersType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='listofallmembersType'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='listofallmembersType'):
-        for member_ in self.member:
-            member_.export(outfile, level, namespace_, name_='member')
-    def hasContent_(self):
-        if (
-            self.member is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='listofallmembersType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('member=[\n')
-        level += 1
-        for member in self.member:
-            showIndent(outfile, level)
-            outfile.write('model_.member(\n')
-            member.exportLiteral(outfile, level, name_='member')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'member':
-            obj_ = memberRefType.factory()
-            obj_.build(child_)
-            self.member.append(obj_)
-# end class listofallmembersType
-
-
-class memberRefType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, virt=None, prot=None, refid=None, ambiguityscope=None, scope=None, name=None):
-        self.virt = virt
-        self.prot = prot
-        self.refid = refid
-        self.ambiguityscope = ambiguityscope
-        self.scope = scope
-        self.name = name
-    def factory(*args_, **kwargs_):
-        if memberRefType.subclass:
-            return memberRefType.subclass(*args_, **kwargs_)
-        else:
-            return memberRefType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_scope(self): return self.scope
-    def set_scope(self, scope): self.scope = scope
-    def get_name(self): return self.name
-    def set_name(self, name): self.name = name
-    def get_virt(self): return self.virt
-    def set_virt(self, virt): self.virt = virt
-    def get_prot(self): return self.prot
-    def set_prot(self, prot): self.prot = prot
-    def get_refid(self): return self.refid
-    def set_refid(self, refid): self.refid = refid
-    def get_ambiguityscope(self): return self.ambiguityscope
-    def set_ambiguityscope(self, ambiguityscope): self.ambiguityscope = ambiguityscope
-    def export(self, outfile, level, namespace_='', name_='memberRefType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='memberRefType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='memberRefType'):
-        if self.virt is not None:
-            outfile.write(' virt=%s' % (quote_attrib(self.virt), ))
-        if self.prot is not None:
-            outfile.write(' prot=%s' % (quote_attrib(self.prot), ))
-        if self.refid is not None:
-            outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), ))
-        if self.ambiguityscope is not None:
-            outfile.write(' ambiguityscope=%s' % (self.format_string(quote_attrib(self.ambiguityscope).encode(ExternalEncoding), input_name='ambiguityscope'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='memberRefType'):
-        if self.scope is not None:
-            showIndent(outfile, level)
-            outfile.write('<%sscope>%s</%sscope>\n' % (namespace_, self.format_string(quote_xml(self.scope).encode(ExternalEncoding), input_name='scope'), namespace_))
-        if self.name is not None:
-            showIndent(outfile, level)
-            outfile.write('<%sname>%s</%sname>\n' % (namespace_, self.format_string(quote_xml(self.name).encode(ExternalEncoding), input_name='name'), namespace_))
-    def hasContent_(self):
-        if (
-            self.scope is not None or
-            self.name is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='memberRefType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.virt is not None:
-            showIndent(outfile, level)
-            outfile.write('virt = "%s",\n' % (self.virt,))
-        if self.prot is not None:
-            showIndent(outfile, level)
-            outfile.write('prot = "%s",\n' % (self.prot,))
-        if self.refid is not None:
-            showIndent(outfile, level)
-            outfile.write('refid = %s,\n' % (self.refid,))
-        if self.ambiguityscope is not None:
-            showIndent(outfile, level)
-            outfile.write('ambiguityscope = %s,\n' % (self.ambiguityscope,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('scope=%s,\n' % quote_python(self.scope).encode(ExternalEncoding))
-        showIndent(outfile, level)
-        outfile.write('name=%s,\n' % quote_python(self.name).encode(ExternalEncoding))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('virt'):
-            self.virt = attrs.get('virt').value
-        if attrs.get('prot'):
-            self.prot = attrs.get('prot').value
-        if attrs.get('refid'):
-            self.refid = attrs.get('refid').value
-        if attrs.get('ambiguityscope'):
-            self.ambiguityscope = attrs.get('ambiguityscope').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'scope':
-            scope_ = ''
-            for text__content_ in child_.childNodes:
-                scope_ += text__content_.nodeValue
-            self.scope = scope_
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'name':
-            name_ = ''
-            for text__content_ in child_.childNodes:
-                name_ += text__content_.nodeValue
-            self.name = name_
-# end class memberRefType
-
-
-class scope(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, valueOf_=''):
-        self.valueOf_ = valueOf_
-    def factory(*args_, **kwargs_):
-        if scope.subclass:
-            return scope.subclass(*args_, **kwargs_)
-        else:
-            return scope(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='scope', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='scope')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='scope'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='scope'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='scope'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class scope
-
-
-class name(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, valueOf_=''):
-        self.valueOf_ = valueOf_
-    def factory(*args_, **kwargs_):
-        if name.subclass:
-            return name.subclass(*args_, **kwargs_)
-        else:
-            return name(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='name', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='name')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='name'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='name'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='name'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class name
-
-
-class compoundRefType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, virt=None, prot=None, refid=None, valueOf_='', mixedclass_=None, content_=None):
-        self.virt = virt
-        self.prot = prot
-        self.refid = refid
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if compoundRefType.subclass:
-            return compoundRefType.subclass(*args_, **kwargs_)
-        else:
-            return compoundRefType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_virt(self): return self.virt
-    def set_virt(self, virt): self.virt = virt
-    def get_prot(self): return self.prot
-    def set_prot(self, prot): self.prot = prot
-    def get_refid(self): return self.refid
-    def set_refid(self, refid): self.refid = refid
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='compoundRefType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='compoundRefType')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='compoundRefType'):
-        if self.virt is not None:
-            outfile.write(' virt=%s' % (quote_attrib(self.virt), ))
-        if self.prot is not None:
-            outfile.write(' prot=%s' % (quote_attrib(self.prot), ))
-        if self.refid is not None:
-            outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='compoundRefType'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='compoundRefType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.virt is not None:
-            showIndent(outfile, level)
-            outfile.write('virt = "%s",\n' % (self.virt,))
-        if self.prot is not None:
-            showIndent(outfile, level)
-            outfile.write('prot = "%s",\n' % (self.prot,))
-        if self.refid is not None:
-            showIndent(outfile, level)
-            outfile.write('refid = %s,\n' % (self.refid,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('virt'):
-            self.virt = attrs.get('virt').value
-        if attrs.get('prot'):
-            self.prot = attrs.get('prot').value
-        if attrs.get('refid'):
-            self.refid = attrs.get('refid').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class compoundRefType
-
-
-class reimplementType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, refid=None, valueOf_='', mixedclass_=None, content_=None):
-        self.refid = refid
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if reimplementType.subclass:
-            return reimplementType.subclass(*args_, **kwargs_)
-        else:
-            return reimplementType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_refid(self): return self.refid
-    def set_refid(self, refid): self.refid = refid
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='reimplementType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='reimplementType')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='reimplementType'):
-        if self.refid is not None:
-            outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='reimplementType'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='reimplementType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.refid is not None:
-            showIndent(outfile, level)
-            outfile.write('refid = %s,\n' % (self.refid,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('refid'):
-            self.refid = attrs.get('refid').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class reimplementType
-
-
-class incType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, local=None, refid=None, valueOf_='', mixedclass_=None, content_=None):
-        self.local = local
-        self.refid = refid
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if incType.subclass:
-            return incType.subclass(*args_, **kwargs_)
-        else:
-            return incType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_local(self): return self.local
-    def set_local(self, local): self.local = local
-    def get_refid(self): return self.refid
-    def set_refid(self, refid): self.refid = refid
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='incType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='incType')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='incType'):
-        if self.local is not None:
-            outfile.write(' local=%s' % (quote_attrib(self.local), ))
-        if self.refid is not None:
-            outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='incType'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='incType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.local is not None:
-            showIndent(outfile, level)
-            outfile.write('local = "%s",\n' % (self.local,))
-        if self.refid is not None:
-            showIndent(outfile, level)
-            outfile.write('refid = %s,\n' % (self.refid,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('local'):
-            self.local = attrs.get('local').value
-        if attrs.get('refid'):
-            self.refid = attrs.get('refid').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class incType
-
-
-class refType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, prot=None, refid=None, valueOf_='', mixedclass_=None, content_=None):
-        self.prot = prot
-        self.refid = refid
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if refType.subclass:
-            return refType.subclass(*args_, **kwargs_)
-        else:
-            return refType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_prot(self): return self.prot
-    def set_prot(self, prot): self.prot = prot
-    def get_refid(self): return self.refid
-    def set_refid(self, refid): self.refid = refid
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='refType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='refType')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='refType'):
-        if self.prot is not None:
-            outfile.write(' prot=%s' % (quote_attrib(self.prot), ))
-        if self.refid is not None:
-            outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='refType'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='refType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.prot is not None:
-            showIndent(outfile, level)
-            outfile.write('prot = "%s",\n' % (self.prot,))
-        if self.refid is not None:
-            showIndent(outfile, level)
-            outfile.write('refid = %s,\n' % (self.refid,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('prot'):
-            self.prot = attrs.get('prot').value
-        if attrs.get('refid'):
-            self.refid = attrs.get('refid').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class refType
-
-
-class refTextType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, refid=None, kindref=None, external=None, valueOf_='', mixedclass_=None, content_=None):
-        self.refid = refid
-        self.kindref = kindref
-        self.external = external
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if refTextType.subclass:
-            return refTextType.subclass(*args_, **kwargs_)
-        else:
-            return refTextType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_refid(self): return self.refid
-    def set_refid(self, refid): self.refid = refid
-    def get_kindref(self): return self.kindref
-    def set_kindref(self, kindref): self.kindref = kindref
-    def get_external(self): return self.external
-    def set_external(self, external): self.external = external
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='refTextType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='refTextType')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='refTextType'):
-        if self.refid is not None:
-            outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), ))
-        if self.kindref is not None:
-            outfile.write(' kindref=%s' % (quote_attrib(self.kindref), ))
-        if self.external is not None:
-            outfile.write(' external=%s' % (self.format_string(quote_attrib(self.external).encode(ExternalEncoding), input_name='external'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='refTextType'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='refTextType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.refid is not None:
-            showIndent(outfile, level)
-            outfile.write('refid = %s,\n' % (self.refid,))
-        if self.kindref is not None:
-            showIndent(outfile, level)
-            outfile.write('kindref = "%s",\n' % (self.kindref,))
-        if self.external is not None:
-            showIndent(outfile, level)
-            outfile.write('external = %s,\n' % (self.external,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('refid'):
-            self.refid = attrs.get('refid').value
-        if attrs.get('kindref'):
-            self.kindref = attrs.get('kindref').value
-        if attrs.get('external'):
-            self.external = attrs.get('external').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class refTextType
-
-
-class sectiondefType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, kind=None, header=None, description=None, memberdef=None):
-        self.kind = kind
-        self.header = header
-        self.description = description
-        if memberdef is None:
-            self.memberdef = []
-        else:
-            self.memberdef = memberdef
-    def factory(*args_, **kwargs_):
-        if sectiondefType.subclass:
-            return sectiondefType.subclass(*args_, **kwargs_)
-        else:
-            return sectiondefType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_header(self): return self.header
-    def set_header(self, header): self.header = header
-    def get_description(self): return self.description
-    def set_description(self, description): self.description = description
-    def get_memberdef(self): return self.memberdef
-    def set_memberdef(self, memberdef): self.memberdef = memberdef
-    def add_memberdef(self, value): self.memberdef.append(value)
-    def insert_memberdef(self, index, value): self.memberdef[index] = value
-    def get_kind(self): return self.kind
-    def set_kind(self, kind): self.kind = kind
-    def export(self, outfile, level, namespace_='', name_='sectiondefType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='sectiondefType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='sectiondefType'):
-        if self.kind is not None:
-            outfile.write(' kind=%s' % (quote_attrib(self.kind), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='sectiondefType'):
-        if self.header is not None:
-            showIndent(outfile, level)
-            outfile.write('<%sheader>%s</%sheader>\n' % (namespace_, self.format_string(quote_xml(self.header).encode(ExternalEncoding), input_name='header'), namespace_))
-        if self.description:
-            self.description.export(outfile, level, namespace_, name_='description')
-        for memberdef_ in self.memberdef:
-            memberdef_.export(outfile, level, namespace_, name_='memberdef')
-    def hasContent_(self):
-        if (
-            self.header is not None or
-            self.description is not None or
-            self.memberdef is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='sectiondefType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.kind is not None:
-            showIndent(outfile, level)
-            outfile.write('kind = "%s",\n' % (self.kind,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('header=%s,\n' % quote_python(self.header).encode(ExternalEncoding))
-        if self.description:
-            showIndent(outfile, level)
-            outfile.write('description=model_.descriptionType(\n')
-            self.description.exportLiteral(outfile, level, name_='description')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        showIndent(outfile, level)
-        outfile.write('memberdef=[\n')
-        level += 1
-        for memberdef in self.memberdef:
-            showIndent(outfile, level)
-            outfile.write('model_.memberdef(\n')
-            memberdef.exportLiteral(outfile, level, name_='memberdef')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('kind'):
-            self.kind = attrs.get('kind').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'header':
-            header_ = ''
-            for text__content_ in child_.childNodes:
-                header_ += text__content_.nodeValue
-            self.header = header_
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'description':
-            obj_ = descriptionType.factory()
-            obj_.build(child_)
-            self.set_description(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'memberdef':
-            obj_ = memberdefType.factory()
-            obj_.build(child_)
-            self.memberdef.append(obj_)
-# end class sectiondefType
-
-
-class memberdefType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, initonly=None, kind=None, volatile=None, const=None, raisexx=None, virt=None, readable=None, prot=None, explicit=None, new=None, final=None, writable=None, add=None, static=None, remove=None, sealed=None, mutable=None, gettable=None, inline=None, settable=None, id=None, templateparamlist=None, type_=None, definition=None, argsstring=None, name=None, read=None, write=None, bitfield=None, reimplements=None, reimplementedby=None, param=None, enumvalue=None, initialize [...]
-        self.initonly = initonly
-        self.kind = kind
-        self.volatile = volatile
-        self.const = const
-        self.raisexx = raisexx
-        self.virt = virt
-        self.readable = readable
-        self.prot = prot
-        self.explicit = explicit
-        self.new = new
-        self.final = final
-        self.writable = writable
-        self.add = add
-        self.static = static
-        self.remove = remove
-        self.sealed = sealed
-        self.mutable = mutable
-        self.gettable = gettable
-        self.inline = inline
-        self.settable = settable
-        self.id = id
-        self.templateparamlist = templateparamlist
-        self.type_ = type_
-        self.definition = definition
-        self.argsstring = argsstring
-        self.name = name
-        self.read = read
-        self.write = write
-        self.bitfield = bitfield
-        if reimplements is None:
-            self.reimplements = []
-        else:
-            self.reimplements = reimplements
-        if reimplementedby is None:
-            self.reimplementedby = []
-        else:
-            self.reimplementedby = reimplementedby
-        if param is None:
-            self.param = []
-        else:
-            self.param = param
-        if enumvalue is None:
-            self.enumvalue = []
-        else:
-            self.enumvalue = enumvalue
-        self.initializer = initializer
-        self.exceptions = exceptions
-        self.briefdescription = briefdescription
-        self.detaileddescription = detaileddescription
-        self.inbodydescription = inbodydescription
-        self.location = location
-        if references is None:
-            self.references = []
-        else:
-            self.references = references
-        if referencedby is None:
-            self.referencedby = []
-        else:
-            self.referencedby = referencedby
-    def factory(*args_, **kwargs_):
-        if memberdefType.subclass:
-            return memberdefType.subclass(*args_, **kwargs_)
-        else:
-            return memberdefType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_templateparamlist(self): return self.templateparamlist
-    def set_templateparamlist(self, templateparamlist): self.templateparamlist = templateparamlist
-    def get_type(self): return self.type_
-    def set_type(self, type_): self.type_ = type_
-    def get_definition(self): return self.definition
-    def set_definition(self, definition): self.definition = definition
-    def get_argsstring(self): return self.argsstring
-    def set_argsstring(self, argsstring): self.argsstring = argsstring
-    def get_name(self): return self.name
-    def set_name(self, name): self.name = name
-    def get_read(self): return self.read
-    def set_read(self, read): self.read = read
-    def get_write(self): return self.write
-    def set_write(self, write): self.write = write
-    def get_bitfield(self): return self.bitfield
-    def set_bitfield(self, bitfield): self.bitfield = bitfield
-    def get_reimplements(self): return self.reimplements
-    def set_reimplements(self, reimplements): self.reimplements = reimplements
-    def add_reimplements(self, value): self.reimplements.append(value)
-    def insert_reimplements(self, index, value): self.reimplements[index] = value
-    def get_reimplementedby(self): return self.reimplementedby
-    def set_reimplementedby(self, reimplementedby): self.reimplementedby = reimplementedby
-    def add_reimplementedby(self, value): self.reimplementedby.append(value)
-    def insert_reimplementedby(self, index, value): self.reimplementedby[index] = value
-    def get_param(self): return self.param
-    def set_param(self, param): self.param = param
-    def add_param(self, value): self.param.append(value)
-    def insert_param(self, index, value): self.param[index] = value
-    def get_enumvalue(self): return self.enumvalue
-    def set_enumvalue(self, enumvalue): self.enumvalue = enumvalue
-    def add_enumvalue(self, value): self.enumvalue.append(value)
-    def insert_enumvalue(self, index, value): self.enumvalue[index] = value
-    def get_initializer(self): return self.initializer
-    def set_initializer(self, initializer): self.initializer = initializer
-    def get_exceptions(self): return self.exceptions
-    def set_exceptions(self, exceptions): self.exceptions = exceptions
-    def get_briefdescription(self): return self.briefdescription
-    def set_briefdescription(self, briefdescription): self.briefdescription = briefdescription
-    def get_detaileddescription(self): return self.detaileddescription
-    def set_detaileddescription(self, detaileddescription): self.detaileddescription = detaileddescription
-    def get_inbodydescription(self): return self.inbodydescription
-    def set_inbodydescription(self, inbodydescription): self.inbodydescription = inbodydescription
-    def get_location(self): return self.location
-    def set_location(self, location): self.location = location
-    def get_references(self): return self.references
-    def set_references(self, references): self.references = references
-    def add_references(self, value): self.references.append(value)
-    def insert_references(self, index, value): self.references[index] = value
-    def get_referencedby(self): return self.referencedby
-    def set_referencedby(self, referencedby): self.referencedby = referencedby
-    def add_referencedby(self, value): self.referencedby.append(value)
-    def insert_referencedby(self, index, value): self.referencedby[index] = value
-    def get_initonly(self): return self.initonly
-    def set_initonly(self, initonly): self.initonly = initonly
-    def get_kind(self): return self.kind
-    def set_kind(self, kind): self.kind = kind
-    def get_volatile(self): return self.volatile
-    def set_volatile(self, volatile): self.volatile = volatile
-    def get_const(self): return self.const
-    def set_const(self, const): self.const = const
-    def get_raise(self): return self.raisexx
-    def set_raise(self, raisexx): self.raisexx = raisexx
-    def get_virt(self): return self.virt
-    def set_virt(self, virt): self.virt = virt
-    def get_readable(self): return self.readable
-    def set_readable(self, readable): self.readable = readable
-    def get_prot(self): return self.prot
-    def set_prot(self, prot): self.prot = prot
-    def get_explicit(self): return self.explicit
-    def set_explicit(self, explicit): self.explicit = explicit
-    def get_new(self): return self.new
-    def set_new(self, new): self.new = new
-    def get_final(self): return self.final
-    def set_final(self, final): self.final = final
-    def get_writable(self): return self.writable
-    def set_writable(self, writable): self.writable = writable
-    def get_add(self): return self.add
-    def set_add(self, add): self.add = add
-    def get_static(self): return self.static
-    def set_static(self, static): self.static = static
-    def get_remove(self): return self.remove
-    def set_remove(self, remove): self.remove = remove
-    def get_sealed(self): return self.sealed
-    def set_sealed(self, sealed): self.sealed = sealed
-    def get_mutable(self): return self.mutable
-    def set_mutable(self, mutable): self.mutable = mutable
-    def get_gettable(self): return self.gettable
-    def set_gettable(self, gettable): self.gettable = gettable
-    def get_inline(self): return self.inline
-    def set_inline(self, inline): self.inline = inline
-    def get_settable(self): return self.settable
-    def set_settable(self, settable): self.settable = settable
-    def get_id(self): return self.id
-    def set_id(self, id): self.id = id
-    def export(self, outfile, level, namespace_='', name_='memberdefType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='memberdefType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='memberdefType'):
-        if self.initonly is not None:
-            outfile.write(' initonly=%s' % (quote_attrib(self.initonly), ))
-        if self.kind is not None:
-            outfile.write(' kind=%s' % (quote_attrib(self.kind), ))
-        if self.volatile is not None:
-            outfile.write(' volatile=%s' % (quote_attrib(self.volatile), ))
-        if self.const is not None:
-            outfile.write(' const=%s' % (quote_attrib(self.const), ))
-        if self.raisexx is not None:
-            outfile.write(' raise=%s' % (quote_attrib(self.raisexx), ))
-        if self.virt is not None:
-            outfile.write(' virt=%s' % (quote_attrib(self.virt), ))
-        if self.readable is not None:
-            outfile.write(' readable=%s' % (quote_attrib(self.readable), ))
-        if self.prot is not None:
-            outfile.write(' prot=%s' % (quote_attrib(self.prot), ))
-        if self.explicit is not None:
-            outfile.write(' explicit=%s' % (quote_attrib(self.explicit), ))
-        if self.new is not None:
-            outfile.write(' new=%s' % (quote_attrib(self.new), ))
-        if self.final is not None:
-            outfile.write(' final=%s' % (quote_attrib(self.final), ))
-        if self.writable is not None:
-            outfile.write(' writable=%s' % (quote_attrib(self.writable), ))
-        if self.add is not None:
-            outfile.write(' add=%s' % (quote_attrib(self.add), ))
-        if self.static is not None:
-            outfile.write(' static=%s' % (quote_attrib(self.static), ))
-        if self.remove is not None:
-            outfile.write(' remove=%s' % (quote_attrib(self.remove), ))
-        if self.sealed is not None:
-            outfile.write(' sealed=%s' % (quote_attrib(self.sealed), ))
-        if self.mutable is not None:
-            outfile.write(' mutable=%s' % (quote_attrib(self.mutable), ))
-        if self.gettable is not None:
-            outfile.write(' gettable=%s' % (quote_attrib(self.gettable), ))
-        if self.inline is not None:
-            outfile.write(' inline=%s' % (quote_attrib(self.inline), ))
-        if self.settable is not None:
-            outfile.write(' settable=%s' % (quote_attrib(self.settable), ))
-        if self.id is not None:
-            outfile.write(' id=%s' % (self.format_string(quote_attrib(self.id).encode(ExternalEncoding), input_name='id'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='memberdefType'):
-        if self.templateparamlist:
-            self.templateparamlist.export(outfile, level, namespace_, name_='templateparamlist')
-        if self.type_:
-            self.type_.export(outfile, level, namespace_, name_='type')
-        if self.definition is not None:
-            showIndent(outfile, level)
-            outfile.write('<%sdefinition>%s</%sdefinition>\n' % (namespace_, self.format_string(quote_xml(self.definition).encode(ExternalEncoding), input_name='definition'), namespace_))
-        if self.argsstring is not None:
-            showIndent(outfile, level)
-            outfile.write('<%sargsstring>%s</%sargsstring>\n' % (namespace_, self.format_string(quote_xml(self.argsstring).encode(ExternalEncoding), input_name='argsstring'), namespace_))
-        if self.name is not None:
-            showIndent(outfile, level)
-            outfile.write('<%sname>%s</%sname>\n' % (namespace_, self.format_string(quote_xml(self.name).encode(ExternalEncoding), input_name='name'), namespace_))
-        if self.read is not None:
-            showIndent(outfile, level)
-            outfile.write('<%sread>%s</%sread>\n' % (namespace_, self.format_string(quote_xml(self.read).encode(ExternalEncoding), input_name='read'), namespace_))
-        if self.write is not None:
-            showIndent(outfile, level)
-            outfile.write('<%swrite>%s</%swrite>\n' % (namespace_, self.format_string(quote_xml(self.write).encode(ExternalEncoding), input_name='write'), namespace_))
-        if self.bitfield is not None:
-            showIndent(outfile, level)
-            outfile.write('<%sbitfield>%s</%sbitfield>\n' % (namespace_, self.format_string(quote_xml(self.bitfield).encode(ExternalEncoding), input_name='bitfield'), namespace_))
-        for reimplements_ in self.reimplements:
-            reimplements_.export(outfile, level, namespace_, name_='reimplements')
-        for reimplementedby_ in self.reimplementedby:
-            reimplementedby_.export(outfile, level, namespace_, name_='reimplementedby')
-        for param_ in self.param:
-            param_.export(outfile, level, namespace_, name_='param')
-        for enumvalue_ in self.enumvalue:
-            enumvalue_.export(outfile, level, namespace_, name_='enumvalue')
-        if self.initializer:
-            self.initializer.export(outfile, level, namespace_, name_='initializer')
-        if self.exceptions:
-            self.exceptions.export(outfile, level, namespace_, name_='exceptions')
-        if self.briefdescription:
-            self.briefdescription.export(outfile, level, namespace_, name_='briefdescription')
-        if self.detaileddescription:
-            self.detaileddescription.export(outfile, level, namespace_, name_='detaileddescription')
-        if self.inbodydescription:
-            self.inbodydescription.export(outfile, level, namespace_, name_='inbodydescription')
-        if self.location:
-            self.location.export(outfile, level, namespace_, name_='location', )
-        for references_ in self.references:
-            references_.export(outfile, level, namespace_, name_='references')
-        for referencedby_ in self.referencedby:
-            referencedby_.export(outfile, level, namespace_, name_='referencedby')
-    def hasContent_(self):
-        if (
-            self.templateparamlist is not None or
-            self.type_ is not None or
-            self.definition is not None or
-            self.argsstring is not None or
-            self.name is not None or
-            self.read is not None or
-            self.write is not None or
-            self.bitfield is not None or
-            self.reimplements is not None or
-            self.reimplementedby is not None or
-            self.param is not None or
-            self.enumvalue is not None or
-            self.initializer is not None or
-            self.exceptions is not None or
-            self.briefdescription is not None or
-            self.detaileddescription is not None or
-            self.inbodydescription is not None or
-            self.location is not None or
-            self.references is not None or
-            self.referencedby is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='memberdefType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.initonly is not None:
-            showIndent(outfile, level)
-            outfile.write('initonly = "%s",\n' % (self.initonly,))
-        if self.kind is not None:
-            showIndent(outfile, level)
-            outfile.write('kind = "%s",\n' % (self.kind,))
-        if self.volatile is not None:
-            showIndent(outfile, level)
-            outfile.write('volatile = "%s",\n' % (self.volatile,))
-        if self.const is not None:
-            showIndent(outfile, level)
-            outfile.write('const = "%s",\n' % (self.const,))
-        if self.raisexx is not None:
-            showIndent(outfile, level)
-            outfile.write('raisexx = "%s",\n' % (self.raisexx,))
-        if self.virt is not None:
-            showIndent(outfile, level)
-            outfile.write('virt = "%s",\n' % (self.virt,))
-        if self.readable is not None:
-            showIndent(outfile, level)
-            outfile.write('readable = "%s",\n' % (self.readable,))
-        if self.prot is not None:
-            showIndent(outfile, level)
-            outfile.write('prot = "%s",\n' % (self.prot,))
-        if self.explicit is not None:
-            showIndent(outfile, level)
-            outfile.write('explicit = "%s",\n' % (self.explicit,))
-        if self.new is not None:
-            showIndent(outfile, level)
-            outfile.write('new = "%s",\n' % (self.new,))
-        if self.final is not None:
-            showIndent(outfile, level)
-            outfile.write('final = "%s",\n' % (self.final,))
-        if self.writable is not None:
-            showIndent(outfile, level)
-            outfile.write('writable = "%s",\n' % (self.writable,))
-        if self.add is not None:
-            showIndent(outfile, level)
-            outfile.write('add = "%s",\n' % (self.add,))
-        if self.static is not None:
-            showIndent(outfile, level)
-            outfile.write('static = "%s",\n' % (self.static,))
-        if self.remove is not None:
-            showIndent(outfile, level)
-            outfile.write('remove = "%s",\n' % (self.remove,))
-        if self.sealed is not None:
-            showIndent(outfile, level)
-            outfile.write('sealed = "%s",\n' % (self.sealed,))
-        if self.mutable is not None:
-            showIndent(outfile, level)
-            outfile.write('mutable = "%s",\n' % (self.mutable,))
-        if self.gettable is not None:
-            showIndent(outfile, level)
-            outfile.write('gettable = "%s",\n' % (self.gettable,))
-        if self.inline is not None:
-            showIndent(outfile, level)
-            outfile.write('inline = "%s",\n' % (self.inline,))
-        if self.settable is not None:
-            showIndent(outfile, level)
-            outfile.write('settable = "%s",\n' % (self.settable,))
-        if self.id is not None:
-            showIndent(outfile, level)
-            outfile.write('id = %s,\n' % (self.id,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        if self.templateparamlist:
-            showIndent(outfile, level)
-            outfile.write('templateparamlist=model_.templateparamlistType(\n')
-            self.templateparamlist.exportLiteral(outfile, level, name_='templateparamlist')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        if self.type_:
-            showIndent(outfile, level)
-            outfile.write('type_=model_.linkedTextType(\n')
-            self.type_.exportLiteral(outfile, level, name_='type')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        showIndent(outfile, level)
-        outfile.write('definition=%s,\n' % quote_python(self.definition).encode(ExternalEncoding))
-        showIndent(outfile, level)
-        outfile.write('argsstring=%s,\n' % quote_python(self.argsstring).encode(ExternalEncoding))
-        showIndent(outfile, level)
-        outfile.write('name=%s,\n' % quote_python(self.name).encode(ExternalEncoding))
-        showIndent(outfile, level)
-        outfile.write('read=%s,\n' % quote_python(self.read).encode(ExternalEncoding))
-        showIndent(outfile, level)
-        outfile.write('write=%s,\n' % quote_python(self.write).encode(ExternalEncoding))
-        showIndent(outfile, level)
-        outfile.write('bitfield=%s,\n' % quote_python(self.bitfield).encode(ExternalEncoding))
-        showIndent(outfile, level)
-        outfile.write('reimplements=[\n')
-        level += 1
-        for reimplements in self.reimplements:
-            showIndent(outfile, level)
-            outfile.write('model_.reimplements(\n')
-            reimplements.exportLiteral(outfile, level, name_='reimplements')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('reimplementedby=[\n')
-        level += 1
-        for reimplementedby in self.reimplementedby:
-            showIndent(outfile, level)
-            outfile.write('model_.reimplementedby(\n')
-            reimplementedby.exportLiteral(outfile, level, name_='reimplementedby')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('param=[\n')
-        level += 1
-        for param in self.param:
-            showIndent(outfile, level)
-            outfile.write('model_.param(\n')
-            param.exportLiteral(outfile, level, name_='param')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('enumvalue=[\n')
-        level += 1
-        for enumvalue in self.enumvalue:
-            showIndent(outfile, level)
-            outfile.write('model_.enumvalue(\n')
-            enumvalue.exportLiteral(outfile, level, name_='enumvalue')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        if self.initializer:
-            showIndent(outfile, level)
-            outfile.write('initializer=model_.linkedTextType(\n')
-            self.initializer.exportLiteral(outfile, level, name_='initializer')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        if self.exceptions:
-            showIndent(outfile, level)
-            outfile.write('exceptions=model_.linkedTextType(\n')
-            self.exceptions.exportLiteral(outfile, level, name_='exceptions')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        if self.briefdescription:
-            showIndent(outfile, level)
-            outfile.write('briefdescription=model_.descriptionType(\n')
-            self.briefdescription.exportLiteral(outfile, level, name_='briefdescription')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        if self.detaileddescription:
-            showIndent(outfile, level)
-            outfile.write('detaileddescription=model_.descriptionType(\n')
-            self.detaileddescription.exportLiteral(outfile, level, name_='detaileddescription')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        if self.inbodydescription:
-            showIndent(outfile, level)
-            outfile.write('inbodydescription=model_.descriptionType(\n')
-            self.inbodydescription.exportLiteral(outfile, level, name_='inbodydescription')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        if self.location:
-            showIndent(outfile, level)
-            outfile.write('location=model_.locationType(\n')
-            self.location.exportLiteral(outfile, level, name_='location')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        showIndent(outfile, level)
-        outfile.write('references=[\n')
-        level += 1
-        for references in self.references:
-            showIndent(outfile, level)
-            outfile.write('model_.references(\n')
-            references.exportLiteral(outfile, level, name_='references')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('referencedby=[\n')
-        level += 1
-        for referencedby in self.referencedby:
-            showIndent(outfile, level)
-            outfile.write('model_.referencedby(\n')
-            referencedby.exportLiteral(outfile, level, name_='referencedby')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('initonly'):
-            self.initonly = attrs.get('initonly').value
-        if attrs.get('kind'):
-            self.kind = attrs.get('kind').value
-        if attrs.get('volatile'):
-            self.volatile = attrs.get('volatile').value
-        if attrs.get('const'):
-            self.const = attrs.get('const').value
-        if attrs.get('raise'):
-            self.raisexx = attrs.get('raise').value
-        if attrs.get('virt'):
-            self.virt = attrs.get('virt').value
-        if attrs.get('readable'):
-            self.readable = attrs.get('readable').value
-        if attrs.get('prot'):
-            self.prot = attrs.get('prot').value
-        if attrs.get('explicit'):
-            self.explicit = attrs.get('explicit').value
-        if attrs.get('new'):
-            self.new = attrs.get('new').value
-        if attrs.get('final'):
-            self.final = attrs.get('final').value
-        if attrs.get('writable'):
-            self.writable = attrs.get('writable').value
-        if attrs.get('add'):
-            self.add = attrs.get('add').value
-        if attrs.get('static'):
-            self.static = attrs.get('static').value
-        if attrs.get('remove'):
-            self.remove = attrs.get('remove').value
-        if attrs.get('sealed'):
-            self.sealed = attrs.get('sealed').value
-        if attrs.get('mutable'):
-            self.mutable = attrs.get('mutable').value
-        if attrs.get('gettable'):
-            self.gettable = attrs.get('gettable').value
-        if attrs.get('inline'):
-            self.inline = attrs.get('inline').value
-        if attrs.get('settable'):
-            self.settable = attrs.get('settable').value
-        if attrs.get('id'):
-            self.id = attrs.get('id').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'templateparamlist':
-            obj_ = templateparamlistType.factory()
-            obj_.build(child_)
-            self.set_templateparamlist(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'type':
-            obj_ = linkedTextType.factory()
-            obj_.build(child_)
-            self.set_type(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'definition':
-            definition_ = ''
-            for text__content_ in child_.childNodes:
-                definition_ += text__content_.nodeValue
-            self.definition = definition_
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'argsstring':
-            argsstring_ = ''
-            for text__content_ in child_.childNodes:
-                argsstring_ += text__content_.nodeValue
-            self.argsstring = argsstring_
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'name':
-            name_ = ''
-            for text__content_ in child_.childNodes:
-                name_ += text__content_.nodeValue
-            self.name = name_
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'read':
-            read_ = ''
-            for text__content_ in child_.childNodes:
-                read_ += text__content_.nodeValue
-            self.read = read_
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'write':
-            write_ = ''
-            for text__content_ in child_.childNodes:
-                write_ += text__content_.nodeValue
-            self.write = write_
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'bitfield':
-            bitfield_ = ''
-            for text__content_ in child_.childNodes:
-                bitfield_ += text__content_.nodeValue
-            self.bitfield = bitfield_
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'reimplements':
-            obj_ = reimplementType.factory()
-            obj_.build(child_)
-            self.reimplements.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'reimplementedby':
-            obj_ = reimplementType.factory()
-            obj_.build(child_)
-            self.reimplementedby.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'param':
-            obj_ = paramType.factory()
-            obj_.build(child_)
-            self.param.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'enumvalue':
-            obj_ = enumvalueType.factory()
-            obj_.build(child_)
-            self.enumvalue.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'initializer':
-            obj_ = linkedTextType.factory()
-            obj_.build(child_)
-            self.set_initializer(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'exceptions':
-            obj_ = linkedTextType.factory()
-            obj_.build(child_)
-            self.set_exceptions(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'briefdescription':
-            obj_ = descriptionType.factory()
-            obj_.build(child_)
-            self.set_briefdescription(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'detaileddescription':
-            obj_ = descriptionType.factory()
-            obj_.build(child_)
-            self.set_detaileddescription(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'inbodydescription':
-            obj_ = descriptionType.factory()
-            obj_.build(child_)
-            self.set_inbodydescription(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'location':
-            obj_ = locationType.factory()
-            obj_.build(child_)
-            self.set_location(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'references':
-            obj_ = referenceType.factory()
-            obj_.build(child_)
-            self.references.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'referencedby':
-            obj_ = referenceType.factory()
-            obj_.build(child_)
-            self.referencedby.append(obj_)
-# end class memberdefType
-
-
-class definition(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, valueOf_=''):
-        self.valueOf_ = valueOf_
-    def factory(*args_, **kwargs_):
-        if definition.subclass:
-            return definition.subclass(*args_, **kwargs_)
-        else:
-            return definition(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='definition', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='definition')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='definition'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='definition'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='definition'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class definition
-
-
-class argsstring(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, valueOf_=''):
-        self.valueOf_ = valueOf_
-    def factory(*args_, **kwargs_):
-        if argsstring.subclass:
-            return argsstring.subclass(*args_, **kwargs_)
-        else:
-            return argsstring(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='argsstring', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='argsstring')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='argsstring'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='argsstring'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='argsstring'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class argsstring
-
-
-class read(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, valueOf_=''):
-        self.valueOf_ = valueOf_
-    def factory(*args_, **kwargs_):
-        if read.subclass:
-            return read.subclass(*args_, **kwargs_)
-        else:
-            return read(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='read', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='read')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='read'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='read'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='read'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class read
-
-
-class write(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, valueOf_=''):
-        self.valueOf_ = valueOf_
-    def factory(*args_, **kwargs_):
-        if write.subclass:
-            return write.subclass(*args_, **kwargs_)
-        else:
-            return write(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='write', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='write')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='write'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='write'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='write'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class write
-
-
-class bitfield(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, valueOf_=''):
-        self.valueOf_ = valueOf_
-    def factory(*args_, **kwargs_):
-        if bitfield.subclass:
-            return bitfield.subclass(*args_, **kwargs_)
-        else:
-            return bitfield(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='bitfield', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='bitfield')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='bitfield'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='bitfield'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='bitfield'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class bitfield
-
-
-class descriptionType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, title=None, para=None, sect1=None, internal=None, mixedclass_=None, content_=None):
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if descriptionType.subclass:
-            return descriptionType.subclass(*args_, **kwargs_)
-        else:
-            return descriptionType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_title(self): return self.title
-    def set_title(self, title): self.title = title
-    def get_para(self): return self.para
-    def set_para(self, para): self.para = para
-    def add_para(self, value): self.para.append(value)
-    def insert_para(self, index, value): self.para[index] = value
-    def get_sect1(self): return self.sect1
-    def set_sect1(self, sect1): self.sect1 = sect1
-    def add_sect1(self, value): self.sect1.append(value)
-    def insert_sect1(self, index, value): self.sect1[index] = value
-    def get_internal(self): return self.internal
-    def set_internal(self, internal): self.internal = internal
-    def export(self, outfile, level, namespace_='', name_='descriptionType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='descriptionType')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='descriptionType'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='descriptionType'):
-        for item_ in self.content_:
-            item_.export(outfile, level, item_.name, namespace_)
-    def hasContent_(self):
-        if (
-            self.title is not None or
-            self.para is not None or
-            self.sect1 is not None or
-            self.internal is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='descriptionType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'title':
-            childobj_ = docTitleType.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'title', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'para':
-            childobj_ = docParaType.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'para', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'sect1':
-            childobj_ = docSect1Type.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'sect1', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'internal':
-            childobj_ = docInternalType.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'internal', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-# end class descriptionType
-
-
-class enumvalueType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, prot=None, id=None, name=None, initializer=None, briefdescription=None, detaileddescription=None, mixedclass_=None, content_=None):
-        self.prot = prot
-        self.id = id
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if enumvalueType.subclass:
-            return enumvalueType.subclass(*args_, **kwargs_)
-        else:
-            return enumvalueType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_name(self): return self.name
-    def set_name(self, name): self.name = name
-    def get_initializer(self): return self.initializer
-    def set_initializer(self, initializer): self.initializer = initializer
-    def get_briefdescription(self): return self.briefdescription
-    def set_briefdescription(self, briefdescription): self.briefdescription = briefdescription
-    def get_detaileddescription(self): return self.detaileddescription
-    def set_detaileddescription(self, detaileddescription): self.detaileddescription = detaileddescription
-    def get_prot(self): return self.prot
-    def set_prot(self, prot): self.prot = prot
-    def get_id(self): return self.id
-    def set_id(self, id): self.id = id
-    def export(self, outfile, level, namespace_='', name_='enumvalueType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='enumvalueType')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='enumvalueType'):
-        if self.prot is not None:
-            outfile.write(' prot=%s' % (quote_attrib(self.prot), ))
-        if self.id is not None:
-            outfile.write(' id=%s' % (self.format_string(quote_attrib(self.id).encode(ExternalEncoding), input_name='id'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='enumvalueType'):
-        for item_ in self.content_:
-            item_.export(outfile, level, item_.name, namespace_)
-    def hasContent_(self):
-        if (
-            self.name is not None or
-            self.initializer is not None or
-            self.briefdescription is not None or
-            self.detaileddescription is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='enumvalueType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.prot is not None:
-            showIndent(outfile, level)
-            outfile.write('prot = "%s",\n' % (self.prot,))
-        if self.id is not None:
-            showIndent(outfile, level)
-            outfile.write('id = %s,\n' % (self.id,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('prot'):
-            self.prot = attrs.get('prot').value
-        if attrs.get('id'):
-            self.id = attrs.get('id').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'name':
-            value_ = []
-            for text_ in child_.childNodes:
-                value_.append(text_.nodeValue)
-            valuestr_ = ''.join(value_)
-            obj_ = self.mixedclass_(MixedContainer.CategorySimple,
-                MixedContainer.TypeString, 'name', valuestr_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'initializer':
-            childobj_ = linkedTextType.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'initializer', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'briefdescription':
-            childobj_ = descriptionType.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'briefdescription', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'detaileddescription':
-            childobj_ = descriptionType.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'detaileddescription', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-# end class enumvalueType
-
-
-class templateparamlistType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, param=None):
-        if param is None:
-            self.param = []
-        else:
-            self.param = param
-    def factory(*args_, **kwargs_):
-        if templateparamlistType.subclass:
-            return templateparamlistType.subclass(*args_, **kwargs_)
-        else:
-            return templateparamlistType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_param(self): return self.param
-    def set_param(self, param): self.param = param
-    def add_param(self, value): self.param.append(value)
-    def insert_param(self, index, value): self.param[index] = value
-    def export(self, outfile, level, namespace_='', name_='templateparamlistType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='templateparamlistType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='templateparamlistType'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='templateparamlistType'):
-        for param_ in self.param:
-            param_.export(outfile, level, namespace_, name_='param')
-    def hasContent_(self):
-        if (
-            self.param is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='templateparamlistType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('param=[\n')
-        level += 1
-        for param in self.param:
-            showIndent(outfile, level)
-            outfile.write('model_.param(\n')
-            param.exportLiteral(outfile, level, name_='param')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'param':
-            obj_ = paramType.factory()
-            obj_.build(child_)
-            self.param.append(obj_)
-# end class templateparamlistType
-
-
-class paramType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, type_=None, declname=None, defname=None, array=None, defval=None, briefdescription=None):
-        self.type_ = type_
-        self.declname = declname
-        self.defname = defname
-        self.array = array
-        self.defval = defval
-        self.briefdescription = briefdescription
-    def factory(*args_, **kwargs_):
-        if paramType.subclass:
-            return paramType.subclass(*args_, **kwargs_)
-        else:
-            return paramType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_type(self): return self.type_
-    def set_type(self, type_): self.type_ = type_
-    def get_declname(self): return self.declname
-    def set_declname(self, declname): self.declname = declname
-    def get_defname(self): return self.defname
-    def set_defname(self, defname): self.defname = defname
-    def get_array(self): return self.array
-    def set_array(self, array): self.array = array
-    def get_defval(self): return self.defval
-    def set_defval(self, defval): self.defval = defval
-    def get_briefdescription(self): return self.briefdescription
-    def set_briefdescription(self, briefdescription): self.briefdescription = briefdescription
-    def export(self, outfile, level, namespace_='', name_='paramType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='paramType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='paramType'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='paramType'):
-        if self.type_:
-            self.type_.export(outfile, level, namespace_, name_='type')
-        if self.declname is not None:
-            showIndent(outfile, level)
-            outfile.write('<%sdeclname>%s</%sdeclname>\n' % (namespace_, self.format_string(quote_xml(self.declname).encode(ExternalEncoding), input_name='declname'), namespace_))
-        if self.defname is not None:
-            showIndent(outfile, level)
-            outfile.write('<%sdefname>%s</%sdefname>\n' % (namespace_, self.format_string(quote_xml(self.defname).encode(ExternalEncoding), input_name='defname'), namespace_))
-        if self.array is not None:
-            showIndent(outfile, level)
-            outfile.write('<%sarray>%s</%sarray>\n' % (namespace_, self.format_string(quote_xml(self.array).encode(ExternalEncoding), input_name='array'), namespace_))
-        if self.defval:
-            self.defval.export(outfile, level, namespace_, name_='defval')
-        if self.briefdescription:
-            self.briefdescription.export(outfile, level, namespace_, name_='briefdescription')
-    def hasContent_(self):
-        if (
-            self.type_ is not None or
-            self.declname is not None or
-            self.defname is not None or
-            self.array is not None or
-            self.defval is not None or
-            self.briefdescription is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='paramType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        if self.type_:
-            showIndent(outfile, level)
-            outfile.write('type_=model_.linkedTextType(\n')
-            self.type_.exportLiteral(outfile, level, name_='type')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        showIndent(outfile, level)
-        outfile.write('declname=%s,\n' % quote_python(self.declname).encode(ExternalEncoding))
-        showIndent(outfile, level)
-        outfile.write('defname=%s,\n' % quote_python(self.defname).encode(ExternalEncoding))
-        showIndent(outfile, level)
-        outfile.write('array=%s,\n' % quote_python(self.array).encode(ExternalEncoding))
-        if self.defval:
-            showIndent(outfile, level)
-            outfile.write('defval=model_.linkedTextType(\n')
-            self.defval.exportLiteral(outfile, level, name_='defval')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        if self.briefdescription:
-            showIndent(outfile, level)
-            outfile.write('briefdescription=model_.descriptionType(\n')
-            self.briefdescription.exportLiteral(outfile, level, name_='briefdescription')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'type':
-            obj_ = linkedTextType.factory()
-            obj_.build(child_)
-            self.set_type(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'declname':
-            declname_ = ''
-            for text__content_ in child_.childNodes:
-                declname_ += text__content_.nodeValue
-            self.declname = declname_
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'defname':
-            defname_ = ''
-            for text__content_ in child_.childNodes:
-                defname_ += text__content_.nodeValue
-            self.defname = defname_
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'array':
-            array_ = ''
-            for text__content_ in child_.childNodes:
-                array_ += text__content_.nodeValue
-            self.array = array_
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'defval':
-            obj_ = linkedTextType.factory()
-            obj_.build(child_)
-            self.set_defval(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'briefdescription':
-            obj_ = descriptionType.factory()
-            obj_.build(child_)
-            self.set_briefdescription(obj_)
-# end class paramType
-
-
-class declname(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, valueOf_=''):
-        self.valueOf_ = valueOf_
-    def factory(*args_, **kwargs_):
-        if declname.subclass:
-            return declname.subclass(*args_, **kwargs_)
-        else:
-            return declname(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='declname', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='declname')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='declname'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='declname'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='declname'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class declname
-
-
-class defname(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, valueOf_=''):
-        self.valueOf_ = valueOf_
-    def factory(*args_, **kwargs_):
-        if defname.subclass:
-            return defname.subclass(*args_, **kwargs_)
-        else:
-            return defname(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='defname', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='defname')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='defname'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='defname'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='defname'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class defname
-
-
-class array(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, valueOf_=''):
-        self.valueOf_ = valueOf_
-    def factory(*args_, **kwargs_):
-        if array.subclass:
-            return array.subclass(*args_, **kwargs_)
-        else:
-            return array(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='array', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='array')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='array'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='array'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='array'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class array
-
-
-class linkedTextType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, ref=None, mixedclass_=None, content_=None):
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if linkedTextType.subclass:
-            return linkedTextType.subclass(*args_, **kwargs_)
-        else:
-            return linkedTextType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_ref(self): return self.ref
-    def set_ref(self, ref): self.ref = ref
-    def add_ref(self, value): self.ref.append(value)
-    def insert_ref(self, index, value): self.ref[index] = value
-    def export(self, outfile, level, namespace_='', name_='linkedTextType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='linkedTextType')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='linkedTextType'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='linkedTextType'):
-        for item_ in self.content_:
-            item_.export(outfile, level, item_.name, namespace_)
-    def hasContent_(self):
-        if (
-            self.ref is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='linkedTextType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'ref':
-            childobj_ = docRefTextType.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'ref', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-# end class linkedTextType
-
-
-class graphType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, node=None):
-        if node is None:
-            self.node = []
-        else:
-            self.node = node
-    def factory(*args_, **kwargs_):
-        if graphType.subclass:
-            return graphType.subclass(*args_, **kwargs_)
-        else:
-            return graphType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_node(self): return self.node
-    def set_node(self, node): self.node = node
-    def add_node(self, value): self.node.append(value)
-    def insert_node(self, index, value): self.node[index] = value
-    def export(self, outfile, level, namespace_='', name_='graphType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='graphType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='graphType'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='graphType'):
-        for node_ in self.node:
-            node_.export(outfile, level, namespace_, name_='node')
-    def hasContent_(self):
-        if (
-            self.node is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='graphType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('node=[\n')
-        level += 1
-        for node in self.node:
-            showIndent(outfile, level)
-            outfile.write('model_.node(\n')
-            node.exportLiteral(outfile, level, name_='node')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'node':
-            obj_ = nodeType.factory()
-            obj_.build(child_)
-            self.node.append(obj_)
-# end class graphType
-
-
-class nodeType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, id=None, label=None, link=None, childnode=None):
-        self.id = id
-        self.label = label
-        self.link = link
-        if childnode is None:
-            self.childnode = []
-        else:
-            self.childnode = childnode
-    def factory(*args_, **kwargs_):
-        if nodeType.subclass:
-            return nodeType.subclass(*args_, **kwargs_)
-        else:
-            return nodeType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_label(self): return self.label
-    def set_label(self, label): self.label = label
-    def get_link(self): return self.link
-    def set_link(self, link): self.link = link
-    def get_childnode(self): return self.childnode
-    def set_childnode(self, childnode): self.childnode = childnode
-    def add_childnode(self, value): self.childnode.append(value)
-    def insert_childnode(self, index, value): self.childnode[index] = value
-    def get_id(self): return self.id
-    def set_id(self, id): self.id = id
-    def export(self, outfile, level, namespace_='', name_='nodeType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='nodeType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='nodeType'):
-        if self.id is not None:
-            outfile.write(' id=%s' % (self.format_string(quote_attrib(self.id).encode(ExternalEncoding), input_name='id'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='nodeType'):
-        if self.label is not None:
-            showIndent(outfile, level)
-            outfile.write('<%slabel>%s</%slabel>\n' % (namespace_, self.format_string(quote_xml(self.label).encode(ExternalEncoding), input_name='label'), namespace_))
-        if self.link:
-            self.link.export(outfile, level, namespace_, name_='link')
-        for childnode_ in self.childnode:
-            childnode_.export(outfile, level, namespace_, name_='childnode')
-    def hasContent_(self):
-        if (
-            self.label is not None or
-            self.link is not None or
-            self.childnode is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='nodeType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.id is not None:
-            showIndent(outfile, level)
-            outfile.write('id = %s,\n' % (self.id,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('label=%s,\n' % quote_python(self.label).encode(ExternalEncoding))
-        if self.link:
-            showIndent(outfile, level)
-            outfile.write('link=model_.linkType(\n')
-            self.link.exportLiteral(outfile, level, name_='link')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        showIndent(outfile, level)
-        outfile.write('childnode=[\n')
-        level += 1
-        for childnode in self.childnode:
-            showIndent(outfile, level)
-            outfile.write('model_.childnode(\n')
-            childnode.exportLiteral(outfile, level, name_='childnode')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('id'):
-            self.id = attrs.get('id').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'label':
-            label_ = ''
-            for text__content_ in child_.childNodes:
-                label_ += text__content_.nodeValue
-            self.label = label_
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'link':
-            obj_ = linkType.factory()
-            obj_.build(child_)
-            self.set_link(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'childnode':
-            obj_ = childnodeType.factory()
-            obj_.build(child_)
-            self.childnode.append(obj_)
-# end class nodeType
-
-
-class label(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, valueOf_=''):
-        self.valueOf_ = valueOf_
-    def factory(*args_, **kwargs_):
-        if label.subclass:
-            return label.subclass(*args_, **kwargs_)
-        else:
-            return label(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='label', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='label')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='label'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='label'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='label'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class label
-
-
-class childnodeType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, relation=None, refid=None, edgelabel=None):
-        self.relation = relation
-        self.refid = refid
-        if edgelabel is None:
-            self.edgelabel = []
-        else:
-            self.edgelabel = edgelabel
-    def factory(*args_, **kwargs_):
-        if childnodeType.subclass:
-            return childnodeType.subclass(*args_, **kwargs_)
-        else:
-            return childnodeType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_edgelabel(self): return self.edgelabel
-    def set_edgelabel(self, edgelabel): self.edgelabel = edgelabel
-    def add_edgelabel(self, value): self.edgelabel.append(value)
-    def insert_edgelabel(self, index, value): self.edgelabel[index] = value
-    def get_relation(self): return self.relation
-    def set_relation(self, relation): self.relation = relation
-    def get_refid(self): return self.refid
-    def set_refid(self, refid): self.refid = refid
-    def export(self, outfile, level, namespace_='', name_='childnodeType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='childnodeType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='childnodeType'):
-        if self.relation is not None:
-            outfile.write(' relation=%s' % (quote_attrib(self.relation), ))
-        if self.refid is not None:
-            outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='childnodeType'):
-        for edgelabel_ in self.edgelabel:
-            showIndent(outfile, level)
-            outfile.write('<%sedgelabel>%s</%sedgelabel>\n' % (namespace_, self.format_string(quote_xml(edgelabel_).encode(ExternalEncoding), input_name='edgelabel'), namespace_))
-    def hasContent_(self):
-        if (
-            self.edgelabel is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='childnodeType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.relation is not None:
-            showIndent(outfile, level)
-            outfile.write('relation = "%s",\n' % (self.relation,))
-        if self.refid is not None:
-            showIndent(outfile, level)
-            outfile.write('refid = %s,\n' % (self.refid,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('edgelabel=[\n')
-        level += 1
-        for edgelabel in self.edgelabel:
-            showIndent(outfile, level)
-            outfile.write('%s,\n' % quote_python(edgelabel).encode(ExternalEncoding))
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('relation'):
-            self.relation = attrs.get('relation').value
-        if attrs.get('refid'):
-            self.refid = attrs.get('refid').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'edgelabel':
-            edgelabel_ = ''
-            for text__content_ in child_.childNodes:
-                edgelabel_ += text__content_.nodeValue
-            self.edgelabel.append(edgelabel_)
-# end class childnodeType
-
-
-class edgelabel(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, valueOf_=''):
-        self.valueOf_ = valueOf_
-    def factory(*args_, **kwargs_):
-        if edgelabel.subclass:
-            return edgelabel.subclass(*args_, **kwargs_)
-        else:
-            return edgelabel(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='edgelabel', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='edgelabel')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='edgelabel'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='edgelabel'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='edgelabel'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class edgelabel
-
-
-class linkType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, refid=None, external=None, valueOf_=''):
-        self.refid = refid
-        self.external = external
-        self.valueOf_ = valueOf_
-    def factory(*args_, **kwargs_):
-        if linkType.subclass:
-            return linkType.subclass(*args_, **kwargs_)
-        else:
-            return linkType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_refid(self): return self.refid
-    def set_refid(self, refid): self.refid = refid
-    def get_external(self): return self.external
-    def set_external(self, external): self.external = external
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='linkType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='linkType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='linkType'):
-        if self.refid is not None:
-            outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), ))
-        if self.external is not None:
-            outfile.write(' external=%s' % (self.format_string(quote_attrib(self.external).encode(ExternalEncoding), input_name='external'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='linkType'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='linkType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.refid is not None:
-            showIndent(outfile, level)
-            outfile.write('refid = %s,\n' % (self.refid,))
-        if self.external is not None:
-            showIndent(outfile, level)
-            outfile.write('external = %s,\n' % (self.external,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('refid'):
-            self.refid = attrs.get('refid').value
-        if attrs.get('external'):
-            self.external = attrs.get('external').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class linkType
-
-
-class listingType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, codeline=None):
-        if codeline is None:
-            self.codeline = []
-        else:
-            self.codeline = codeline
-    def factory(*args_, **kwargs_):
-        if listingType.subclass:
-            return listingType.subclass(*args_, **kwargs_)
-        else:
-            return listingType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_codeline(self): return self.codeline
-    def set_codeline(self, codeline): self.codeline = codeline
-    def add_codeline(self, value): self.codeline.append(value)
-    def insert_codeline(self, index, value): self.codeline[index] = value
-    def export(self, outfile, level, namespace_='', name_='listingType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='listingType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='listingType'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='listingType'):
-        for codeline_ in self.codeline:
-            codeline_.export(outfile, level, namespace_, name_='codeline')
-    def hasContent_(self):
-        if (
-            self.codeline is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='listingType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('codeline=[\n')
-        level += 1
-        for codeline in self.codeline:
-            showIndent(outfile, level)
-            outfile.write('model_.codeline(\n')
-            codeline.exportLiteral(outfile, level, name_='codeline')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'codeline':
-            obj_ = codelineType.factory()
-            obj_.build(child_)
-            self.codeline.append(obj_)
-# end class listingType
-
-
-class codelineType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, external=None, lineno=None, refkind=None, refid=None, highlight=None):
-        self.external = external
-        self.lineno = lineno
-        self.refkind = refkind
-        self.refid = refid
-        if highlight is None:
-            self.highlight = []
-        else:
-            self.highlight = highlight
-    def factory(*args_, **kwargs_):
-        if codelineType.subclass:
-            return codelineType.subclass(*args_, **kwargs_)
-        else:
-            return codelineType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_highlight(self): return self.highlight
-    def set_highlight(self, highlight): self.highlight = highlight
-    def add_highlight(self, value): self.highlight.append(value)
-    def insert_highlight(self, index, value): self.highlight[index] = value
-    def get_external(self): return self.external
-    def set_external(self, external): self.external = external
-    def get_lineno(self): return self.lineno
-    def set_lineno(self, lineno): self.lineno = lineno
-    def get_refkind(self): return self.refkind
-    def set_refkind(self, refkind): self.refkind = refkind
-    def get_refid(self): return self.refid
-    def set_refid(self, refid): self.refid = refid
-    def export(self, outfile, level, namespace_='', name_='codelineType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='codelineType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='codelineType'):
-        if self.external is not None:
-            outfile.write(' external=%s' % (quote_attrib(self.external), ))
-        if self.lineno is not None:
-            outfile.write(' lineno="%s"' % self.format_integer(self.lineno, input_name='lineno'))
-        if self.refkind is not None:
-            outfile.write(' refkind=%s' % (quote_attrib(self.refkind), ))
-        if self.refid is not None:
-            outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='codelineType'):
-        for highlight_ in self.highlight:
-            highlight_.export(outfile, level, namespace_, name_='highlight')
-    def hasContent_(self):
-        if (
-            self.highlight is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='codelineType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.external is not None:
-            showIndent(outfile, level)
-            outfile.write('external = "%s",\n' % (self.external,))
-        if self.lineno is not None:
-            showIndent(outfile, level)
-            outfile.write('lineno = %s,\n' % (self.lineno,))
-        if self.refkind is not None:
-            showIndent(outfile, level)
-            outfile.write('refkind = "%s",\n' % (self.refkind,))
-        if self.refid is not None:
-            showIndent(outfile, level)
-            outfile.write('refid = %s,\n' % (self.refid,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('highlight=[\n')
-        level += 1
-        for highlight in self.highlight:
-            showIndent(outfile, level)
-            outfile.write('model_.highlight(\n')
-            highlight.exportLiteral(outfile, level, name_='highlight')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('external'):
-            self.external = attrs.get('external').value
-        if attrs.get('lineno'):
-            try:
-                self.lineno = int(attrs.get('lineno').value)
-            except ValueError, exp:
-                raise ValueError('Bad integer attribute (lineno): %s' % exp)
-        if attrs.get('refkind'):
-            self.refkind = attrs.get('refkind').value
-        if attrs.get('refid'):
-            self.refid = attrs.get('refid').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'highlight':
-            obj_ = highlightType.factory()
-            obj_.build(child_)
-            self.highlight.append(obj_)
-# end class codelineType
-
-
-class highlightType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, classxx=None, sp=None, ref=None, mixedclass_=None, content_=None):
-        self.classxx = classxx
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if highlightType.subclass:
-            return highlightType.subclass(*args_, **kwargs_)
-        else:
-            return highlightType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_sp(self): return self.sp
-    def set_sp(self, sp): self.sp = sp
-    def add_sp(self, value): self.sp.append(value)
-    def insert_sp(self, index, value): self.sp[index] = value
-    def get_ref(self): return self.ref
-    def set_ref(self, ref): self.ref = ref
-    def add_ref(self, value): self.ref.append(value)
-    def insert_ref(self, index, value): self.ref[index] = value
-    def get_class(self): return self.classxx
-    def set_class(self, classxx): self.classxx = classxx
-    def export(self, outfile, level, namespace_='', name_='highlightType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='highlightType')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='highlightType'):
-        if self.classxx is not None:
-            outfile.write(' class=%s' % (quote_attrib(self.classxx), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='highlightType'):
-        for item_ in self.content_:
-            item_.export(outfile, level, item_.name, namespace_)
-    def hasContent_(self):
-        if (
-            self.sp is not None or
-            self.ref is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='highlightType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.classxx is not None:
-            showIndent(outfile, level)
-            outfile.write('classxx = "%s",\n' % (self.classxx,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('class'):
-            self.classxx = attrs.get('class').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'sp':
-            value_ = []
-            for text_ in child_.childNodes:
-                value_.append(text_.nodeValue)
-            valuestr_ = ''.join(value_)
-            obj_ = self.mixedclass_(MixedContainer.CategorySimple,
-                MixedContainer.TypeString, 'sp', valuestr_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'ref':
-            childobj_ = docRefTextType.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'ref', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-# end class highlightType
-
-
-class sp(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, valueOf_=''):
-        self.valueOf_ = valueOf_
-    def factory(*args_, **kwargs_):
-        if sp.subclass:
-            return sp.subclass(*args_, **kwargs_)
-        else:
-            return sp(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='sp', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='sp')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='sp'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='sp'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='sp'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class sp
-
-
-class referenceType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, endline=None, startline=None, refid=None, compoundref=None, valueOf_='', mixedclass_=None, content_=None):
-        self.endline = endline
-        self.startline = startline
-        self.refid = refid
-        self.compoundref = compoundref
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if referenceType.subclass:
-            return referenceType.subclass(*args_, **kwargs_)
-        else:
-            return referenceType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_endline(self): return self.endline
-    def set_endline(self, endline): self.endline = endline
-    def get_startline(self): return self.startline
-    def set_startline(self, startline): self.startline = startline
-    def get_refid(self): return self.refid
-    def set_refid(self, refid): self.refid = refid
-    def get_compoundref(self): return self.compoundref
-    def set_compoundref(self, compoundref): self.compoundref = compoundref
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='referenceType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='referenceType')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='referenceType'):
-        if self.endline is not None:
-            outfile.write(' endline="%s"' % self.format_integer(self.endline, input_name='endline'))
-        if self.startline is not None:
-            outfile.write(' startline="%s"' % self.format_integer(self.startline, input_name='startline'))
-        if self.refid is not None:
-            outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), ))
-        if self.compoundref is not None:
-            outfile.write(' compoundref=%s' % (self.format_string(quote_attrib(self.compoundref).encode(ExternalEncoding), input_name='compoundref'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='referenceType'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='referenceType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.endline is not None:
-            showIndent(outfile, level)
-            outfile.write('endline = %s,\n' % (self.endline,))
-        if self.startline is not None:
-            showIndent(outfile, level)
-            outfile.write('startline = %s,\n' % (self.startline,))
-        if self.refid is not None:
-            showIndent(outfile, level)
-            outfile.write('refid = %s,\n' % (self.refid,))
-        if self.compoundref is not None:
-            showIndent(outfile, level)
-            outfile.write('compoundref = %s,\n' % (self.compoundref,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('endline'):
-            try:
-                self.endline = int(attrs.get('endline').value)
-            except ValueError, exp:
-                raise ValueError('Bad integer attribute (endline): %s' % exp)
-        if attrs.get('startline'):
-            try:
-                self.startline = int(attrs.get('startline').value)
-            except ValueError, exp:
-                raise ValueError('Bad integer attribute (startline): %s' % exp)
-        if attrs.get('refid'):
-            self.refid = attrs.get('refid').value
-        if attrs.get('compoundref'):
-            self.compoundref = attrs.get('compoundref').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class referenceType
-
-
-class locationType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, bodystart=None, line=None, bodyend=None, bodyfile=None, file=None, valueOf_=''):
-        self.bodystart = bodystart
-        self.line = line
-        self.bodyend = bodyend
-        self.bodyfile = bodyfile
-        self.file = file
-        self.valueOf_ = valueOf_
-    def factory(*args_, **kwargs_):
-        if locationType.subclass:
-            return locationType.subclass(*args_, **kwargs_)
-        else:
-            return locationType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_bodystart(self): return self.bodystart
-    def set_bodystart(self, bodystart): self.bodystart = bodystart
-    def get_line(self): return self.line
-    def set_line(self, line): self.line = line
-    def get_bodyend(self): return self.bodyend
-    def set_bodyend(self, bodyend): self.bodyend = bodyend
-    def get_bodyfile(self): return self.bodyfile
-    def set_bodyfile(self, bodyfile): self.bodyfile = bodyfile
-    def get_file(self): return self.file
-    def set_file(self, file): self.file = file
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='locationType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='locationType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='locationType'):
-        if self.bodystart is not None:
-            outfile.write(' bodystart="%s"' % self.format_integer(self.bodystart, input_name='bodystart'))
-        if self.line is not None:
-            outfile.write(' line="%s"' % self.format_integer(self.line, input_name='line'))
-        if self.bodyend is not None:
-            outfile.write(' bodyend="%s"' % self.format_integer(self.bodyend, input_name='bodyend'))
-        if self.bodyfile is not None:
-            outfile.write(' bodyfile=%s' % (self.format_string(quote_attrib(self.bodyfile).encode(ExternalEncoding), input_name='bodyfile'), ))
-        if self.file is not None:
-            outfile.write(' file=%s' % (self.format_string(quote_attrib(self.file).encode(ExternalEncoding), input_name='file'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='locationType'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='locationType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.bodystart is not None:
-            showIndent(outfile, level)
-            outfile.write('bodystart = %s,\n' % (self.bodystart,))
-        if self.line is not None:
-            showIndent(outfile, level)
-            outfile.write('line = %s,\n' % (self.line,))
-        if self.bodyend is not None:
-            showIndent(outfile, level)
-            outfile.write('bodyend = %s,\n' % (self.bodyend,))
-        if self.bodyfile is not None:
-            showIndent(outfile, level)
-            outfile.write('bodyfile = %s,\n' % (self.bodyfile,))
-        if self.file is not None:
-            showIndent(outfile, level)
-            outfile.write('file = %s,\n' % (self.file,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('bodystart'):
-            try:
-                self.bodystart = int(attrs.get('bodystart').value)
-            except ValueError, exp:
-                raise ValueError('Bad integer attribute (bodystart): %s' % exp)
-        if attrs.get('line'):
-            try:
-                self.line = int(attrs.get('line').value)
-            except ValueError, exp:
-                raise ValueError('Bad integer attribute (line): %s' % exp)
-        if attrs.get('bodyend'):
-            try:
-                self.bodyend = int(attrs.get('bodyend').value)
-            except ValueError, exp:
-                raise ValueError('Bad integer attribute (bodyend): %s' % exp)
-        if attrs.get('bodyfile'):
-            self.bodyfile = attrs.get('bodyfile').value
-        if attrs.get('file'):
-            self.file = attrs.get('file').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class locationType
-
-
-class docSect1Type(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, id=None, title=None, para=None, sect2=None, internal=None, mixedclass_=None, content_=None):
-        self.id = id
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if docSect1Type.subclass:
-            return docSect1Type.subclass(*args_, **kwargs_)
-        else:
-            return docSect1Type(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_title(self): return self.title
-    def set_title(self, title): self.title = title
-    def get_para(self): return self.para
-    def set_para(self, para): self.para = para
-    def add_para(self, value): self.para.append(value)
-    def insert_para(self, index, value): self.para[index] = value
-    def get_sect2(self): return self.sect2
-    def set_sect2(self, sect2): self.sect2 = sect2
-    def add_sect2(self, value): self.sect2.append(value)
-    def insert_sect2(self, index, value): self.sect2[index] = value
-    def get_internal(self): return self.internal
-    def set_internal(self, internal): self.internal = internal
-    def get_id(self): return self.id
-    def set_id(self, id): self.id = id
-    def export(self, outfile, level, namespace_='', name_='docSect1Type', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docSect1Type')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='docSect1Type'):
-        if self.id is not None:
-            outfile.write(' id=%s' % (self.format_string(quote_attrib(self.id).encode(ExternalEncoding), input_name='id'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='docSect1Type'):
-        for item_ in self.content_:
-            item_.export(outfile, level, item_.name, namespace_)
-    def hasContent_(self):
-        if (
-            self.title is not None or
-            self.para is not None or
-            self.sect2 is not None or
-            self.internal is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docSect1Type'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.id is not None:
-            showIndent(outfile, level)
-            outfile.write('id = %s,\n' % (self.id,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('id'):
-            self.id = attrs.get('id').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'title':
-            childobj_ = docTitleType.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'title', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'para':
-            childobj_ = docParaType.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'para', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'sect2':
-            childobj_ = docSect2Type.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'sect2', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'internal':
-            childobj_ = docInternalS1Type.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'internal', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-# end class docSect1Type
-
-
-class docSect2Type(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, id=None, title=None, para=None, sect3=None, internal=None, mixedclass_=None, content_=None):
-        self.id = id
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if docSect2Type.subclass:
-            return docSect2Type.subclass(*args_, **kwargs_)
-        else:
-            return docSect2Type(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_title(self): return self.title
-    def set_title(self, title): self.title = title
-    def get_para(self): return self.para
-    def set_para(self, para): self.para = para
-    def add_para(self, value): self.para.append(value)
-    def insert_para(self, index, value): self.para[index] = value
-    def get_sect3(self): return self.sect3
-    def set_sect3(self, sect3): self.sect3 = sect3
-    def add_sect3(self, value): self.sect3.append(value)
-    def insert_sect3(self, index, value): self.sect3[index] = value
-    def get_internal(self): return self.internal
-    def set_internal(self, internal): self.internal = internal
-    def get_id(self): return self.id
-    def set_id(self, id): self.id = id
-    def export(self, outfile, level, namespace_='', name_='docSect2Type', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docSect2Type')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='docSect2Type'):
-        if self.id is not None:
-            outfile.write(' id=%s' % (self.format_string(quote_attrib(self.id).encode(ExternalEncoding), input_name='id'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='docSect2Type'):
-        for item_ in self.content_:
-            item_.export(outfile, level, item_.name, namespace_)
-    def hasContent_(self):
-        if (
-            self.title is not None or
-            self.para is not None or
-            self.sect3 is not None or
-            self.internal is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docSect2Type'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.id is not None:
-            showIndent(outfile, level)
-            outfile.write('id = %s,\n' % (self.id,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('id'):
-            self.id = attrs.get('id').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'title':
-            childobj_ = docTitleType.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'title', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'para':
-            childobj_ = docParaType.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'para', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'sect3':
-            childobj_ = docSect3Type.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'sect3', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'internal':
-            childobj_ = docInternalS2Type.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'internal', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-# end class docSect2Type
-
-
-class docSect3Type(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, id=None, title=None, para=None, sect4=None, internal=None, mixedclass_=None, content_=None):
-        self.id = id
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if docSect3Type.subclass:
-            return docSect3Type.subclass(*args_, **kwargs_)
-        else:
-            return docSect3Type(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_title(self): return self.title
-    def set_title(self, title): self.title = title
-    def get_para(self): return self.para
-    def set_para(self, para): self.para = para
-    def add_para(self, value): self.para.append(value)
-    def insert_para(self, index, value): self.para[index] = value
-    def get_sect4(self): return self.sect4
-    def set_sect4(self, sect4): self.sect4 = sect4
-    def add_sect4(self, value): self.sect4.append(value)
-    def insert_sect4(self, index, value): self.sect4[index] = value
-    def get_internal(self): return self.internal
-    def set_internal(self, internal): self.internal = internal
-    def get_id(self): return self.id
-    def set_id(self, id): self.id = id
-    def export(self, outfile, level, namespace_='', name_='docSect3Type', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docSect3Type')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='docSect3Type'):
-        if self.id is not None:
-            outfile.write(' id=%s' % (self.format_string(quote_attrib(self.id).encode(ExternalEncoding), input_name='id'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='docSect3Type'):
-        for item_ in self.content_:
-            item_.export(outfile, level, item_.name, namespace_)
-    def hasContent_(self):
-        if (
-            self.title is not None or
-            self.para is not None or
-            self.sect4 is not None or
-            self.internal is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docSect3Type'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.id is not None:
-            showIndent(outfile, level)
-            outfile.write('id = %s,\n' % (self.id,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('id'):
-            self.id = attrs.get('id').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'title':
-            childobj_ = docTitleType.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'title', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'para':
-            childobj_ = docParaType.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'para', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'sect4':
-            childobj_ = docSect4Type.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'sect4', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'internal':
-            childobj_ = docInternalS3Type.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'internal', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-# end class docSect3Type
-
-
-class docSect4Type(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, id=None, title=None, para=None, internal=None, mixedclass_=None, content_=None):
-        self.id = id
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if docSect4Type.subclass:
-            return docSect4Type.subclass(*args_, **kwargs_)
-        else:
-            return docSect4Type(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_title(self): return self.title
-    def set_title(self, title): self.title = title
-    def get_para(self): return self.para
-    def set_para(self, para): self.para = para
-    def add_para(self, value): self.para.append(value)
-    def insert_para(self, index, value): self.para[index] = value
-    def get_internal(self): return self.internal
-    def set_internal(self, internal): self.internal = internal
-    def get_id(self): return self.id
-    def set_id(self, id): self.id = id
-    def export(self, outfile, level, namespace_='', name_='docSect4Type', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docSect4Type')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='docSect4Type'):
-        if self.id is not None:
-            outfile.write(' id=%s' % (self.format_string(quote_attrib(self.id).encode(ExternalEncoding), input_name='id'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='docSect4Type'):
-        for item_ in self.content_:
-            item_.export(outfile, level, item_.name, namespace_)
-    def hasContent_(self):
-        if (
-            self.title is not None or
-            self.para is not None or
-            self.internal is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docSect4Type'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.id is not None:
-            showIndent(outfile, level)
-            outfile.write('id = %s,\n' % (self.id,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('id'):
-            self.id = attrs.get('id').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'title':
-            childobj_ = docTitleType.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'title', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'para':
-            childobj_ = docParaType.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'para', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'internal':
-            childobj_ = docInternalS4Type.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'internal', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-# end class docSect4Type
-
-
-class docInternalType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, para=None, sect1=None, mixedclass_=None, content_=None):
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if docInternalType.subclass:
-            return docInternalType.subclass(*args_, **kwargs_)
-        else:
-            return docInternalType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_para(self): return self.para
-    def set_para(self, para): self.para = para
-    def add_para(self, value): self.para.append(value)
-    def insert_para(self, index, value): self.para[index] = value
-    def get_sect1(self): return self.sect1
-    def set_sect1(self, sect1): self.sect1 = sect1
-    def add_sect1(self, value): self.sect1.append(value)
-    def insert_sect1(self, index, value): self.sect1[index] = value
-    def export(self, outfile, level, namespace_='', name_='docInternalType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docInternalType')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='docInternalType'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='docInternalType'):
-        for item_ in self.content_:
-            item_.export(outfile, level, item_.name, namespace_)
-    def hasContent_(self):
-        if (
-            self.para is not None or
-            self.sect1 is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docInternalType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'para':
-            childobj_ = docParaType.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'para', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'sect1':
-            childobj_ = docSect1Type.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'sect1', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-# end class docInternalType
-
-
-class docInternalS1Type(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, para=None, sect2=None, mixedclass_=None, content_=None):
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if docInternalS1Type.subclass:
-            return docInternalS1Type.subclass(*args_, **kwargs_)
-        else:
-            return docInternalS1Type(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_para(self): return self.para
-    def set_para(self, para): self.para = para
-    def add_para(self, value): self.para.append(value)
-    def insert_para(self, index, value): self.para[index] = value
-    def get_sect2(self): return self.sect2
-    def set_sect2(self, sect2): self.sect2 = sect2
-    def add_sect2(self, value): self.sect2.append(value)
-    def insert_sect2(self, index, value): self.sect2[index] = value
-    def export(self, outfile, level, namespace_='', name_='docInternalS1Type', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docInternalS1Type')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='docInternalS1Type'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='docInternalS1Type'):
-        for item_ in self.content_:
-            item_.export(outfile, level, item_.name, namespace_)
-    def hasContent_(self):
-        if (
-            self.para is not None or
-            self.sect2 is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docInternalS1Type'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'para':
-            childobj_ = docParaType.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'para', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'sect2':
-            childobj_ = docSect2Type.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'sect2', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-# end class docInternalS1Type
-
-
-class docInternalS2Type(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, para=None, sect3=None, mixedclass_=None, content_=None):
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if docInternalS2Type.subclass:
-            return docInternalS2Type.subclass(*args_, **kwargs_)
-        else:
-            return docInternalS2Type(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_para(self): return self.para
-    def set_para(self, para): self.para = para
-    def add_para(self, value): self.para.append(value)
-    def insert_para(self, index, value): self.para[index] = value
-    def get_sect3(self): return self.sect3
-    def set_sect3(self, sect3): self.sect3 = sect3
-    def add_sect3(self, value): self.sect3.append(value)
-    def insert_sect3(self, index, value): self.sect3[index] = value
-    def export(self, outfile, level, namespace_='', name_='docInternalS2Type', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docInternalS2Type')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='docInternalS2Type'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='docInternalS2Type'):
-        for item_ in self.content_:
-            item_.export(outfile, level, item_.name, namespace_)
-    def hasContent_(self):
-        if (
-            self.para is not None or
-            self.sect3 is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docInternalS2Type'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'para':
-            childobj_ = docParaType.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'para', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'sect3':
-            childobj_ = docSect3Type.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'sect3', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-# end class docInternalS2Type
-
-
-class docInternalS3Type(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, para=None, sect3=None, mixedclass_=None, content_=None):
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if docInternalS3Type.subclass:
-            return docInternalS3Type.subclass(*args_, **kwargs_)
-        else:
-            return docInternalS3Type(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_para(self): return self.para
-    def set_para(self, para): self.para = para
-    def add_para(self, value): self.para.append(value)
-    def insert_para(self, index, value): self.para[index] = value
-    def get_sect3(self): return self.sect3
-    def set_sect3(self, sect3): self.sect3 = sect3
-    def add_sect3(self, value): self.sect3.append(value)
-    def insert_sect3(self, index, value): self.sect3[index] = value
-    def export(self, outfile, level, namespace_='', name_='docInternalS3Type', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docInternalS3Type')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='docInternalS3Type'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='docInternalS3Type'):
-        for item_ in self.content_:
-            item_.export(outfile, level, item_.name, namespace_)
-    def hasContent_(self):
-        if (
-            self.para is not None or
-            self.sect3 is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docInternalS3Type'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'para':
-            childobj_ = docParaType.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'para', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'sect3':
-            childobj_ = docSect4Type.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'sect3', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-# end class docInternalS3Type
-
-
-class docInternalS4Type(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, para=None, mixedclass_=None, content_=None):
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if docInternalS4Type.subclass:
-            return docInternalS4Type.subclass(*args_, **kwargs_)
-        else:
-            return docInternalS4Type(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_para(self): return self.para
-    def set_para(self, para): self.para = para
-    def add_para(self, value): self.para.append(value)
-    def insert_para(self, index, value): self.para[index] = value
-    def export(self, outfile, level, namespace_='', name_='docInternalS4Type', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docInternalS4Type')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='docInternalS4Type'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='docInternalS4Type'):
-        for item_ in self.content_:
-            item_.export(outfile, level, item_.name, namespace_)
-    def hasContent_(self):
-        if (
-            self.para is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docInternalS4Type'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'para':
-            childobj_ = docParaType.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'para', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-# end class docInternalS4Type
-
-
-class docTitleType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, valueOf_='', mixedclass_=None, content_=None):
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if docTitleType.subclass:
-            return docTitleType.subclass(*args_, **kwargs_)
-        else:
-            return docTitleType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='docTitleType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docTitleType')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='docTitleType'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='docTitleType'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docTitleType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class docTitleType
-
-
-class docParaType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, valueOf_='', mixedclass_=None, content_=None):
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if docParaType.subclass:
-            return docParaType.subclass(*args_, **kwargs_)
-        else:
-            return docParaType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='docParaType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docParaType')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='docParaType'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='docParaType'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docParaType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class docParaType
-
-
-class docMarkupType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, valueOf_='', mixedclass_=None, content_=None):
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if docMarkupType.subclass:
-            return docMarkupType.subclass(*args_, **kwargs_)
-        else:
-            return docMarkupType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='docMarkupType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docMarkupType')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='docMarkupType'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='docMarkupType'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docMarkupType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class docMarkupType
-
-
-class docURLLink(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, url=None, valueOf_='', mixedclass_=None, content_=None):
-        self.url = url
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if docURLLink.subclass:
-            return docURLLink.subclass(*args_, **kwargs_)
-        else:
-            return docURLLink(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_url(self): return self.url
-    def set_url(self, url): self.url = url
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='docURLLink', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docURLLink')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='docURLLink'):
-        if self.url is not None:
-            outfile.write(' url=%s' % (self.format_string(quote_attrib(self.url).encode(ExternalEncoding), input_name='url'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='docURLLink'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docURLLink'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.url is not None:
-            showIndent(outfile, level)
-            outfile.write('url = %s,\n' % (self.url,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('url'):
-            self.url = attrs.get('url').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class docURLLink
-
-
-class docAnchorType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, id=None, valueOf_='', mixedclass_=None, content_=None):
-        self.id = id
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if docAnchorType.subclass:
-            return docAnchorType.subclass(*args_, **kwargs_)
-        else:
-            return docAnchorType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_id(self): return self.id
-    def set_id(self, id): self.id = id
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='docAnchorType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docAnchorType')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='docAnchorType'):
-        if self.id is not None:
-            outfile.write(' id=%s' % (self.format_string(quote_attrib(self.id).encode(ExternalEncoding), input_name='id'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='docAnchorType'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docAnchorType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.id is not None:
-            showIndent(outfile, level)
-            outfile.write('id = %s,\n' % (self.id,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('id'):
-            self.id = attrs.get('id').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class docAnchorType
-
-
-class docFormulaType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, id=None, valueOf_='', mixedclass_=None, content_=None):
-        self.id = id
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if docFormulaType.subclass:
-            return docFormulaType.subclass(*args_, **kwargs_)
-        else:
-            return docFormulaType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_id(self): return self.id
-    def set_id(self, id): self.id = id
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='docFormulaType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docFormulaType')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='docFormulaType'):
-        if self.id is not None:
-            outfile.write(' id=%s' % (self.format_string(quote_attrib(self.id).encode(ExternalEncoding), input_name='id'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='docFormulaType'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docFormulaType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.id is not None:
-            showIndent(outfile, level)
-            outfile.write('id = %s,\n' % (self.id,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('id'):
-            self.id = attrs.get('id').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class docFormulaType
-
-
-class docIndexEntryType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, primaryie=None, secondaryie=None):
-        self.primaryie = primaryie
-        self.secondaryie = secondaryie
-    def factory(*args_, **kwargs_):
-        if docIndexEntryType.subclass:
-            return docIndexEntryType.subclass(*args_, **kwargs_)
-        else:
-            return docIndexEntryType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_primaryie(self): return self.primaryie
-    def set_primaryie(self, primaryie): self.primaryie = primaryie
-    def get_secondaryie(self): return self.secondaryie
-    def set_secondaryie(self, secondaryie): self.secondaryie = secondaryie
-    def export(self, outfile, level, namespace_='', name_='docIndexEntryType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docIndexEntryType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='docIndexEntryType'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='docIndexEntryType'):
-        if self.primaryie is not None:
-            showIndent(outfile, level)
-            outfile.write('<%sprimaryie>%s</%sprimaryie>\n' % (namespace_, self.format_string(quote_xml(self.primaryie).encode(ExternalEncoding), input_name='primaryie'), namespace_))
-        if self.secondaryie is not None:
-            showIndent(outfile, level)
-            outfile.write('<%ssecondaryie>%s</%ssecondaryie>\n' % (namespace_, self.format_string(quote_xml(self.secondaryie).encode(ExternalEncoding), input_name='secondaryie'), namespace_))
-    def hasContent_(self):
-        if (
-            self.primaryie is not None or
-            self.secondaryie is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docIndexEntryType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('primaryie=%s,\n' % quote_python(self.primaryie).encode(ExternalEncoding))
-        showIndent(outfile, level)
-        outfile.write('secondaryie=%s,\n' % quote_python(self.secondaryie).encode(ExternalEncoding))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'primaryie':
-            primaryie_ = ''
-            for text__content_ in child_.childNodes:
-                primaryie_ += text__content_.nodeValue
-            self.primaryie = primaryie_
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'secondaryie':
-            secondaryie_ = ''
-            for text__content_ in child_.childNodes:
-                secondaryie_ += text__content_.nodeValue
-            self.secondaryie = secondaryie_
-# end class docIndexEntryType
-
-
-class docListType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, listitem=None):
-        if listitem is None:
-            self.listitem = []
-        else:
-            self.listitem = listitem
-    def factory(*args_, **kwargs_):
-        if docListType.subclass:
-            return docListType.subclass(*args_, **kwargs_)
-        else:
-            return docListType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_listitem(self): return self.listitem
-    def set_listitem(self, listitem): self.listitem = listitem
-    def add_listitem(self, value): self.listitem.append(value)
-    def insert_listitem(self, index, value): self.listitem[index] = value
-    def export(self, outfile, level, namespace_='', name_='docListType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docListType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='docListType'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='docListType'):
-        for listitem_ in self.listitem:
-            listitem_.export(outfile, level, namespace_, name_='listitem')
-    def hasContent_(self):
-        if (
-            self.listitem is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docListType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('listitem=[\n')
-        level += 1
-        for listitem in self.listitem:
-            showIndent(outfile, level)
-            outfile.write('model_.listitem(\n')
-            listitem.exportLiteral(outfile, level, name_='listitem')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'listitem':
-            obj_ = docListItemType.factory()
-            obj_.build(child_)
-            self.listitem.append(obj_)
-# end class docListType
-
-
-class docListItemType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, para=None):
-        if para is None:
-            self.para = []
-        else:
-            self.para = para
-    def factory(*args_, **kwargs_):
-        if docListItemType.subclass:
-            return docListItemType.subclass(*args_, **kwargs_)
-        else:
-            return docListItemType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_para(self): return self.para
-    def set_para(self, para): self.para = para
-    def add_para(self, value): self.para.append(value)
-    def insert_para(self, index, value): self.para[index] = value
-    def export(self, outfile, level, namespace_='', name_='docListItemType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docListItemType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='docListItemType'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='docListItemType'):
-        for para_ in self.para:
-            para_.export(outfile, level, namespace_, name_='para')
-    def hasContent_(self):
-        if (
-            self.para is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docListItemType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('para=[\n')
-        level += 1
-        for para in self.para:
-            showIndent(outfile, level)
-            outfile.write('model_.para(\n')
-            para.exportLiteral(outfile, level, name_='para')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'para':
-            obj_ = docParaType.factory()
-            obj_.build(child_)
-            self.para.append(obj_)
-# end class docListItemType
-
-
-class docSimpleSectType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, kind=None, title=None, para=None):
-        self.kind = kind
-        self.title = title
-        if para is None:
-            self.para = []
-        else:
-            self.para = para
-    def factory(*args_, **kwargs_):
-        if docSimpleSectType.subclass:
-            return docSimpleSectType.subclass(*args_, **kwargs_)
-        else:
-            return docSimpleSectType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_title(self): return self.title
-    def set_title(self, title): self.title = title
-    def get_para(self): return self.para
-    def set_para(self, para): self.para = para
-    def add_para(self, value): self.para.append(value)
-    def insert_para(self, index, value): self.para[index] = value
-    def get_kind(self): return self.kind
-    def set_kind(self, kind): self.kind = kind
-    def export(self, outfile, level, namespace_='', name_='docSimpleSectType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docSimpleSectType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='docSimpleSectType'):
-        if self.kind is not None:
-            outfile.write(' kind=%s' % (quote_attrib(self.kind), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='docSimpleSectType'):
-        if self.title:
-            self.title.export(outfile, level, namespace_, name_='title')
-        for para_ in self.para:
-            para_.export(outfile, level, namespace_, name_='para')
-    def hasContent_(self):
-        if (
-            self.title is not None or
-            self.para is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docSimpleSectType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.kind is not None:
-            showIndent(outfile, level)
-            outfile.write('kind = "%s",\n' % (self.kind,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        if self.title:
-            showIndent(outfile, level)
-            outfile.write('title=model_.docTitleType(\n')
-            self.title.exportLiteral(outfile, level, name_='title')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        showIndent(outfile, level)
-        outfile.write('para=[\n')
-        level += 1
-        for para in self.para:
-            showIndent(outfile, level)
-            outfile.write('model_.para(\n')
-            para.exportLiteral(outfile, level, name_='para')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('kind'):
-            self.kind = attrs.get('kind').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'title':
-            obj_ = docTitleType.factory()
-            obj_.build(child_)
-            self.set_title(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'para':
-            obj_ = docParaType.factory()
-            obj_.build(child_)
-            self.para.append(obj_)
-# end class docSimpleSectType
-
-
-class docVarListEntryType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, term=None):
-        self.term = term
-    def factory(*args_, **kwargs_):
-        if docVarListEntryType.subclass:
-            return docVarListEntryType.subclass(*args_, **kwargs_)
-        else:
-            return docVarListEntryType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_term(self): return self.term
-    def set_term(self, term): self.term = term
-    def export(self, outfile, level, namespace_='', name_='docVarListEntryType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docVarListEntryType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='docVarListEntryType'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='docVarListEntryType'):
-        if self.term:
-            self.term.export(outfile, level, namespace_, name_='term', )
-    def hasContent_(self):
-        if (
-            self.term is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docVarListEntryType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        if self.term:
-            showIndent(outfile, level)
-            outfile.write('term=model_.docTitleType(\n')
-            self.term.exportLiteral(outfile, level, name_='term')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'term':
-            obj_ = docTitleType.factory()
-            obj_.build(child_)
-            self.set_term(obj_)
-# end class docVarListEntryType
-
-
-class docVariableListType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, valueOf_=''):
-        self.valueOf_ = valueOf_
-    def factory(*args_, **kwargs_):
-        if docVariableListType.subclass:
-            return docVariableListType.subclass(*args_, **kwargs_)
-        else:
-            return docVariableListType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='docVariableListType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docVariableListType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='docVariableListType'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='docVariableListType'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docVariableListType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class docVariableListType
-
-
-class docRefTextType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, refid=None, kindref=None, external=None, valueOf_='', mixedclass_=None, content_=None):
-        self.refid = refid
-        self.kindref = kindref
-        self.external = external
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if docRefTextType.subclass:
-            return docRefTextType.subclass(*args_, **kwargs_)
-        else:
-            return docRefTextType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_refid(self): return self.refid
-    def set_refid(self, refid): self.refid = refid
-    def get_kindref(self): return self.kindref
-    def set_kindref(self, kindref): self.kindref = kindref
-    def get_external(self): return self.external
-    def set_external(self, external): self.external = external
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='docRefTextType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docRefTextType')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='docRefTextType'):
-        if self.refid is not None:
-            outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), ))
-        if self.kindref is not None:
-            outfile.write(' kindref=%s' % (quote_attrib(self.kindref), ))
-        if self.external is not None:
-            outfile.write(' external=%s' % (self.format_string(quote_attrib(self.external).encode(ExternalEncoding), input_name='external'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='docRefTextType'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docRefTextType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.refid is not None:
-            showIndent(outfile, level)
-            outfile.write('refid = %s,\n' % (self.refid,))
-        if self.kindref is not None:
-            showIndent(outfile, level)
-            outfile.write('kindref = "%s",\n' % (self.kindref,))
-        if self.external is not None:
-            showIndent(outfile, level)
-            outfile.write('external = %s,\n' % (self.external,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('refid'):
-            self.refid = attrs.get('refid').value
-        if attrs.get('kindref'):
-            self.kindref = attrs.get('kindref').value
-        if attrs.get('external'):
-            self.external = attrs.get('external').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class docRefTextType
-
-
-class docTableType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, rows=None, cols=None, row=None, caption=None):
-        self.rows = rows
-        self.cols = cols
-        if row is None:
-            self.row = []
-        else:
-            self.row = row
-        self.caption = caption
-    def factory(*args_, **kwargs_):
-        if docTableType.subclass:
-            return docTableType.subclass(*args_, **kwargs_)
-        else:
-            return docTableType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_row(self): return self.row
-    def set_row(self, row): self.row = row
-    def add_row(self, value): self.row.append(value)
-    def insert_row(self, index, value): self.row[index] = value
-    def get_caption(self): return self.caption
-    def set_caption(self, caption): self.caption = caption
-    def get_rows(self): return self.rows
-    def set_rows(self, rows): self.rows = rows
-    def get_cols(self): return self.cols
-    def set_cols(self, cols): self.cols = cols
-    def export(self, outfile, level, namespace_='', name_='docTableType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docTableType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='docTableType'):
-        if self.rows is not None:
-            outfile.write(' rows="%s"' % self.format_integer(self.rows, input_name='rows'))
-        if self.cols is not None:
-            outfile.write(' cols="%s"' % self.format_integer(self.cols, input_name='cols'))
-    def exportChildren(self, outfile, level, namespace_='', name_='docTableType'):
-        for row_ in self.row:
-            row_.export(outfile, level, namespace_, name_='row')
-        if self.caption:
-            self.caption.export(outfile, level, namespace_, name_='caption')
-    def hasContent_(self):
-        if (
-            self.row is not None or
-            self.caption is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docTableType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.rows is not None:
-            showIndent(outfile, level)
-            outfile.write('rows = %s,\n' % (self.rows,))
-        if self.cols is not None:
-            showIndent(outfile, level)
-            outfile.write('cols = %s,\n' % (self.cols,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('row=[\n')
-        level += 1
-        for row in self.row:
-            showIndent(outfile, level)
-            outfile.write('model_.row(\n')
-            row.exportLiteral(outfile, level, name_='row')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        if self.caption:
-            showIndent(outfile, level)
-            outfile.write('caption=model_.docCaptionType(\n')
-            self.caption.exportLiteral(outfile, level, name_='caption')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('rows'):
-            try:
-                self.rows = int(attrs.get('rows').value)
-            except ValueError, exp:
-                raise ValueError('Bad integer attribute (rows): %s' % exp)
-        if attrs.get('cols'):
-            try:
-                self.cols = int(attrs.get('cols').value)
-            except ValueError, exp:
-                raise ValueError('Bad integer attribute (cols): %s' % exp)
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'row':
-            obj_ = docRowType.factory()
-            obj_.build(child_)
-            self.row.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'caption':
-            obj_ = docCaptionType.factory()
-            obj_.build(child_)
-            self.set_caption(obj_)
-# end class docTableType
-
-
-class docRowType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, entry=None):
-        if entry is None:
-            self.entry = []
-        else:
-            self.entry = entry
-    def factory(*args_, **kwargs_):
-        if docRowType.subclass:
-            return docRowType.subclass(*args_, **kwargs_)
-        else:
-            return docRowType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_entry(self): return self.entry
-    def set_entry(self, entry): self.entry = entry
-    def add_entry(self, value): self.entry.append(value)
-    def insert_entry(self, index, value): self.entry[index] = value
-    def export(self, outfile, level, namespace_='', name_='docRowType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docRowType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='docRowType'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='docRowType'):
-        for entry_ in self.entry:
-            entry_.export(outfile, level, namespace_, name_='entry')
-    def hasContent_(self):
-        if (
-            self.entry is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docRowType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('entry=[\n')
-        level += 1
-        for entry in self.entry:
-            showIndent(outfile, level)
-            outfile.write('model_.entry(\n')
-            entry.exportLiteral(outfile, level, name_='entry')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'entry':
-            obj_ = docEntryType.factory()
-            obj_.build(child_)
-            self.entry.append(obj_)
-# end class docRowType
-
-
-class docEntryType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, thead=None, para=None):
-        self.thead = thead
-        if para is None:
-            self.para = []
-        else:
-            self.para = para
-    def factory(*args_, **kwargs_):
-        if docEntryType.subclass:
-            return docEntryType.subclass(*args_, **kwargs_)
-        else:
-            return docEntryType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_para(self): return self.para
-    def set_para(self, para): self.para = para
-    def add_para(self, value): self.para.append(value)
-    def insert_para(self, index, value): self.para[index] = value
-    def get_thead(self): return self.thead
-    def set_thead(self, thead): self.thead = thead
-    def export(self, outfile, level, namespace_='', name_='docEntryType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docEntryType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='docEntryType'):
-        if self.thead is not None:
-            outfile.write(' thead=%s' % (quote_attrib(self.thead), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='docEntryType'):
-        for para_ in self.para:
-            para_.export(outfile, level, namespace_, name_='para')
-    def hasContent_(self):
-        if (
-            self.para is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docEntryType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.thead is not None:
-            showIndent(outfile, level)
-            outfile.write('thead = "%s",\n' % (self.thead,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('para=[\n')
-        level += 1
-        for para in self.para:
-            showIndent(outfile, level)
-            outfile.write('model_.para(\n')
-            para.exportLiteral(outfile, level, name_='para')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('thead'):
-            self.thead = attrs.get('thead').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'para':
-            obj_ = docParaType.factory()
-            obj_.build(child_)
-            self.para.append(obj_)
-# end class docEntryType
-
-
-class docCaptionType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, valueOf_='', mixedclass_=None, content_=None):
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if docCaptionType.subclass:
-            return docCaptionType.subclass(*args_, **kwargs_)
-        else:
-            return docCaptionType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='docCaptionType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docCaptionType')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='docCaptionType'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='docCaptionType'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docCaptionType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class docCaptionType
-
-
-class docHeadingType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, level=None, valueOf_='', mixedclass_=None, content_=None):
-        self.level = level
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if docHeadingType.subclass:
-            return docHeadingType.subclass(*args_, **kwargs_)
-        else:
-            return docHeadingType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_level(self): return self.level
-    def set_level(self, level): self.level = level
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='docHeadingType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docHeadingType')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='docHeadingType'):
-        if self.level is not None:
-            outfile.write(' level="%s"' % self.format_integer(self.level, input_name='level'))
-    def exportChildren(self, outfile, level, namespace_='', name_='docHeadingType'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docHeadingType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.level is not None:
-            showIndent(outfile, level)
-            outfile.write('level = %s,\n' % (self.level,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('level'):
-            try:
-                self.level = int(attrs.get('level').value)
-            except ValueError, exp:
-                raise ValueError('Bad integer attribute (level): %s' % exp)
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class docHeadingType
-
-
-class docImageType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, width=None, type_=None, name=None, height=None, valueOf_='', mixedclass_=None, content_=None):
-        self.width = width
-        self.type_ = type_
-        self.name = name
-        self.height = height
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if docImageType.subclass:
-            return docImageType.subclass(*args_, **kwargs_)
-        else:
-            return docImageType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_width(self): return self.width
-    def set_width(self, width): self.width = width
-    def get_type(self): return self.type_
-    def set_type(self, type_): self.type_ = type_
-    def get_name(self): return self.name
-    def set_name(self, name): self.name = name
-    def get_height(self): return self.height
-    def set_height(self, height): self.height = height
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='docImageType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docImageType')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='docImageType'):
-        if self.width is not None:
-            outfile.write(' width=%s' % (self.format_string(quote_attrib(self.width).encode(ExternalEncoding), input_name='width'), ))
-        if self.type_ is not None:
-            outfile.write(' type=%s' % (quote_attrib(self.type_), ))
-        if self.name is not None:
-            outfile.write(' name=%s' % (self.format_string(quote_attrib(self.name).encode(ExternalEncoding), input_name='name'), ))
-        if self.height is not None:
-            outfile.write(' height=%s' % (self.format_string(quote_attrib(self.height).encode(ExternalEncoding), input_name='height'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='docImageType'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docImageType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.width is not None:
-            showIndent(outfile, level)
-            outfile.write('width = %s,\n' % (self.width,))
-        if self.type_ is not None:
-            showIndent(outfile, level)
-            outfile.write('type_ = "%s",\n' % (self.type_,))
-        if self.name is not None:
-            showIndent(outfile, level)
-            outfile.write('name = %s,\n' % (self.name,))
-        if self.height is not None:
-            showIndent(outfile, level)
-            outfile.write('height = %s,\n' % (self.height,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('width'):
-            self.width = attrs.get('width').value
-        if attrs.get('type'):
-            self.type_ = attrs.get('type').value
-        if attrs.get('name'):
-            self.name = attrs.get('name').value
-        if attrs.get('height'):
-            self.height = attrs.get('height').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class docImageType
-
-
-class docDotFileType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, name=None, valueOf_='', mixedclass_=None, content_=None):
-        self.name = name
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if docDotFileType.subclass:
-            return docDotFileType.subclass(*args_, **kwargs_)
-        else:
-            return docDotFileType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_name(self): return self.name
-    def set_name(self, name): self.name = name
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='docDotFileType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docDotFileType')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='docDotFileType'):
-        if self.name is not None:
-            outfile.write(' name=%s' % (self.format_string(quote_attrib(self.name).encode(ExternalEncoding), input_name='name'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='docDotFileType'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docDotFileType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.name is not None:
-            showIndent(outfile, level)
-            outfile.write('name = %s,\n' % (self.name,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('name'):
-            self.name = attrs.get('name').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class docDotFileType
-
-
-class docTocItemType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, id=None, valueOf_='', mixedclass_=None, content_=None):
-        self.id = id
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if docTocItemType.subclass:
-            return docTocItemType.subclass(*args_, **kwargs_)
-        else:
-            return docTocItemType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_id(self): return self.id
-    def set_id(self, id): self.id = id
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='docTocItemType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docTocItemType')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='docTocItemType'):
-        if self.id is not None:
-            outfile.write(' id=%s' % (self.format_string(quote_attrib(self.id).encode(ExternalEncoding), input_name='id'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='docTocItemType'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docTocItemType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.id is not None:
-            showIndent(outfile, level)
-            outfile.write('id = %s,\n' % (self.id,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('id'):
-            self.id = attrs.get('id').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class docTocItemType
-
-
-class docTocListType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, tocitem=None):
-        if tocitem is None:
-            self.tocitem = []
-        else:
-            self.tocitem = tocitem
-    def factory(*args_, **kwargs_):
-        if docTocListType.subclass:
-            return docTocListType.subclass(*args_, **kwargs_)
-        else:
-            return docTocListType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_tocitem(self): return self.tocitem
-    def set_tocitem(self, tocitem): self.tocitem = tocitem
-    def add_tocitem(self, value): self.tocitem.append(value)
-    def insert_tocitem(self, index, value): self.tocitem[index] = value
-    def export(self, outfile, level, namespace_='', name_='docTocListType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docTocListType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='docTocListType'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='docTocListType'):
-        for tocitem_ in self.tocitem:
-            tocitem_.export(outfile, level, namespace_, name_='tocitem')
-    def hasContent_(self):
-        if (
-            self.tocitem is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docTocListType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('tocitem=[\n')
-        level += 1
-        for tocitem in self.tocitem:
-            showIndent(outfile, level)
-            outfile.write('model_.tocitem(\n')
-            tocitem.exportLiteral(outfile, level, name_='tocitem')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'tocitem':
-            obj_ = docTocItemType.factory()
-            obj_.build(child_)
-            self.tocitem.append(obj_)
-# end class docTocListType
-
-
-class docLanguageType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, langid=None, para=None):
-        self.langid = langid
-        if para is None:
-            self.para = []
-        else:
-            self.para = para
-    def factory(*args_, **kwargs_):
-        if docLanguageType.subclass:
-            return docLanguageType.subclass(*args_, **kwargs_)
-        else:
-            return docLanguageType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_para(self): return self.para
-    def set_para(self, para): self.para = para
-    def add_para(self, value): self.para.append(value)
-    def insert_para(self, index, value): self.para[index] = value
-    def get_langid(self): return self.langid
-    def set_langid(self, langid): self.langid = langid
-    def export(self, outfile, level, namespace_='', name_='docLanguageType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docLanguageType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='docLanguageType'):
-        if self.langid is not None:
-            outfile.write(' langid=%s' % (self.format_string(quote_attrib(self.langid).encode(ExternalEncoding), input_name='langid'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='docLanguageType'):
-        for para_ in self.para:
-            para_.export(outfile, level, namespace_, name_='para')
-    def hasContent_(self):
-        if (
-            self.para is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docLanguageType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.langid is not None:
-            showIndent(outfile, level)
-            outfile.write('langid = %s,\n' % (self.langid,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('para=[\n')
-        level += 1
-        for para in self.para:
-            showIndent(outfile, level)
-            outfile.write('model_.para(\n')
-            para.exportLiteral(outfile, level, name_='para')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('langid'):
-            self.langid = attrs.get('langid').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'para':
-            obj_ = docParaType.factory()
-            obj_.build(child_)
-            self.para.append(obj_)
-# end class docLanguageType
-
-
-class docParamListType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, kind=None, parameteritem=None):
-        self.kind = kind
-        if parameteritem is None:
-            self.parameteritem = []
-        else:
-            self.parameteritem = parameteritem
-    def factory(*args_, **kwargs_):
-        if docParamListType.subclass:
-            return docParamListType.subclass(*args_, **kwargs_)
-        else:
-            return docParamListType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_parameteritem(self): return self.parameteritem
-    def set_parameteritem(self, parameteritem): self.parameteritem = parameteritem
-    def add_parameteritem(self, value): self.parameteritem.append(value)
-    def insert_parameteritem(self, index, value): self.parameteritem[index] = value
-    def get_kind(self): return self.kind
-    def set_kind(self, kind): self.kind = kind
-    def export(self, outfile, level, namespace_='', name_='docParamListType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docParamListType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='docParamListType'):
-        if self.kind is not None:
-            outfile.write(' kind=%s' % (quote_attrib(self.kind), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='docParamListType'):
-        for parameteritem_ in self.parameteritem:
-            parameteritem_.export(outfile, level, namespace_, name_='parameteritem')
-    def hasContent_(self):
-        if (
-            self.parameteritem is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docParamListType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.kind is not None:
-            showIndent(outfile, level)
-            outfile.write('kind = "%s",\n' % (self.kind,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('parameteritem=[\n')
-        level += 1
-        for parameteritem in self.parameteritem:
-            showIndent(outfile, level)
-            outfile.write('model_.parameteritem(\n')
-            parameteritem.exportLiteral(outfile, level, name_='parameteritem')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('kind'):
-            self.kind = attrs.get('kind').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'parameteritem':
-            obj_ = docParamListItem.factory()
-            obj_.build(child_)
-            self.parameteritem.append(obj_)
-# end class docParamListType
-
-
-class docParamListItem(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, parameternamelist=None, parameterdescription=None):
-        if parameternamelist is None:
-            self.parameternamelist = []
-        else:
-            self.parameternamelist = parameternamelist
-        self.parameterdescription = parameterdescription
-    def factory(*args_, **kwargs_):
-        if docParamListItem.subclass:
-            return docParamListItem.subclass(*args_, **kwargs_)
-        else:
-            return docParamListItem(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_parameternamelist(self): return self.parameternamelist
-    def set_parameternamelist(self, parameternamelist): self.parameternamelist = parameternamelist
-    def add_parameternamelist(self, value): self.parameternamelist.append(value)
-    def insert_parameternamelist(self, index, value): self.parameternamelist[index] = value
-    def get_parameterdescription(self): return self.parameterdescription
-    def set_parameterdescription(self, parameterdescription): self.parameterdescription = parameterdescription
-    def export(self, outfile, level, namespace_='', name_='docParamListItem', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docParamListItem')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='docParamListItem'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='docParamListItem'):
-        for parameternamelist_ in self.parameternamelist:
-            parameternamelist_.export(outfile, level, namespace_, name_='parameternamelist')
-        if self.parameterdescription:
-            self.parameterdescription.export(outfile, level, namespace_, name_='parameterdescription', )
-    def hasContent_(self):
-        if (
-            self.parameternamelist is not None or
-            self.parameterdescription is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docParamListItem'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('parameternamelist=[\n')
-        level += 1
-        for parameternamelist in self.parameternamelist:
-            showIndent(outfile, level)
-            outfile.write('model_.parameternamelist(\n')
-            parameternamelist.exportLiteral(outfile, level, name_='parameternamelist')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        if self.parameterdescription:
-            showIndent(outfile, level)
-            outfile.write('parameterdescription=model_.descriptionType(\n')
-            self.parameterdescription.exportLiteral(outfile, level, name_='parameterdescription')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'parameternamelist':
-            obj_ = docParamNameList.factory()
-            obj_.build(child_)
-            self.parameternamelist.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'parameterdescription':
-            obj_ = descriptionType.factory()
-            obj_.build(child_)
-            self.set_parameterdescription(obj_)
-# end class docParamListItem
-
-
-class docParamNameList(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, parametername=None):
-        if parametername is None:
-            self.parametername = []
-        else:
-            self.parametername = parametername
-    def factory(*args_, **kwargs_):
-        if docParamNameList.subclass:
-            return docParamNameList.subclass(*args_, **kwargs_)
-        else:
-            return docParamNameList(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_parametername(self): return self.parametername
-    def set_parametername(self, parametername): self.parametername = parametername
-    def add_parametername(self, value): self.parametername.append(value)
-    def insert_parametername(self, index, value): self.parametername[index] = value
-    def export(self, outfile, level, namespace_='', name_='docParamNameList', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docParamNameList')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='docParamNameList'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='docParamNameList'):
-        for parametername_ in self.parametername:
-            parametername_.export(outfile, level, namespace_, name_='parametername')
-    def hasContent_(self):
-        if (
-            self.parametername is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docParamNameList'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('parametername=[\n')
-        level += 1
-        for parametername in self.parametername:
-            showIndent(outfile, level)
-            outfile.write('model_.parametername(\n')
-            parametername.exportLiteral(outfile, level, name_='parametername')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'parametername':
-            obj_ = docParamName.factory()
-            obj_.build(child_)
-            self.parametername.append(obj_)
-# end class docParamNameList
-
-
-class docParamName(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, direction=None, ref=None, mixedclass_=None, content_=None):
-        self.direction = direction
-        if mixedclass_ is None:
-            self.mixedclass_ = MixedContainer
-        else:
-            self.mixedclass_ = mixedclass_
-        if content_ is None:
-            self.content_ = []
-        else:
-            self.content_ = content_
-    def factory(*args_, **kwargs_):
-        if docParamName.subclass:
-            return docParamName.subclass(*args_, **kwargs_)
-        else:
-            return docParamName(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_ref(self): return self.ref
-    def set_ref(self, ref): self.ref = ref
-    def get_direction(self): return self.direction
-    def set_direction(self, direction): self.direction = direction
-    def export(self, outfile, level, namespace_='', name_='docParamName', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docParamName')
-        outfile.write('>')
-        self.exportChildren(outfile, level + 1, namespace_, name_)
-        outfile.write('</%s%s>\n' % (namespace_, name_))
-    def exportAttributes(self, outfile, level, namespace_='', name_='docParamName'):
-        if self.direction is not None:
-            outfile.write(' direction=%s' % (quote_attrib(self.direction), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='docParamName'):
-        for item_ in self.content_:
-            item_.export(outfile, level, item_.name, namespace_)
-    def hasContent_(self):
-        if (
-            self.ref is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docParamName'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.direction is not None:
-            showIndent(outfile, level)
-            outfile.write('direction = "%s",\n' % (self.direction,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('content_ = [\n')
-        for item_ in self.content_:
-            item_.exportLiteral(outfile, level, name_)
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('direction'):
-            self.direction = attrs.get('direction').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'ref':
-            childobj_ = docRefTextType.factory()
-            childobj_.build(child_)
-            obj_ = self.mixedclass_(MixedContainer.CategoryComplex,
-                MixedContainer.TypeNone, 'ref', childobj_)
-            self.content_.append(obj_)
-        elif child_.nodeType == Node.TEXT_NODE:
-            obj_ = self.mixedclass_(MixedContainer.CategoryText,
-                MixedContainer.TypeNone, '', child_.nodeValue)
-            self.content_.append(obj_)
-# end class docParamName
-
-
-class docXRefSectType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, id=None, xreftitle=None, xrefdescription=None):
-        self.id = id
-        if xreftitle is None:
-            self.xreftitle = []
-        else:
-            self.xreftitle = xreftitle
-        self.xrefdescription = xrefdescription
-    def factory(*args_, **kwargs_):
-        if docXRefSectType.subclass:
-            return docXRefSectType.subclass(*args_, **kwargs_)
-        else:
-            return docXRefSectType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_xreftitle(self): return self.xreftitle
-    def set_xreftitle(self, xreftitle): self.xreftitle = xreftitle
-    def add_xreftitle(self, value): self.xreftitle.append(value)
-    def insert_xreftitle(self, index, value): self.xreftitle[index] = value
-    def get_xrefdescription(self): return self.xrefdescription
-    def set_xrefdescription(self, xrefdescription): self.xrefdescription = xrefdescription
-    def get_id(self): return self.id
-    def set_id(self, id): self.id = id
-    def export(self, outfile, level, namespace_='', name_='docXRefSectType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docXRefSectType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='docXRefSectType'):
-        if self.id is not None:
-            outfile.write(' id=%s' % (self.format_string(quote_attrib(self.id).encode(ExternalEncoding), input_name='id'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='docXRefSectType'):
-        for xreftitle_ in self.xreftitle:
-            showIndent(outfile, level)
-            outfile.write('<%sxreftitle>%s</%sxreftitle>\n' % (namespace_, self.format_string(quote_xml(xreftitle_).encode(ExternalEncoding), input_name='xreftitle'), namespace_))
-        if self.xrefdescription:
-            self.xrefdescription.export(outfile, level, namespace_, name_='xrefdescription', )
-    def hasContent_(self):
-        if (
-            self.xreftitle is not None or
-            self.xrefdescription is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docXRefSectType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.id is not None:
-            showIndent(outfile, level)
-            outfile.write('id = %s,\n' % (self.id,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('xreftitle=[\n')
-        level += 1
-        for xreftitle in self.xreftitle:
-            showIndent(outfile, level)
-            outfile.write('%s,\n' % quote_python(xreftitle).encode(ExternalEncoding))
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        if self.xrefdescription:
-            showIndent(outfile, level)
-            outfile.write('xrefdescription=model_.descriptionType(\n')
-            self.xrefdescription.exportLiteral(outfile, level, name_='xrefdescription')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('id'):
-            self.id = attrs.get('id').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'xreftitle':
-            xreftitle_ = ''
-            for text__content_ in child_.childNodes:
-                xreftitle_ += text__content_.nodeValue
-            self.xreftitle.append(xreftitle_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'xrefdescription':
-            obj_ = descriptionType.factory()
-            obj_.build(child_)
-            self.set_xrefdescription(obj_)
-# end class docXRefSectType
-
-
-class docCopyType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, link=None, para=None, sect1=None, internal=None):
-        self.link = link
-        if para is None:
-            self.para = []
-        else:
-            self.para = para
-        if sect1 is None:
-            self.sect1 = []
-        else:
-            self.sect1 = sect1
-        self.internal = internal
-    def factory(*args_, **kwargs_):
-        if docCopyType.subclass:
-            return docCopyType.subclass(*args_, **kwargs_)
-        else:
-            return docCopyType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_para(self): return self.para
-    def set_para(self, para): self.para = para
-    def add_para(self, value): self.para.append(value)
-    def insert_para(self, index, value): self.para[index] = value
-    def get_sect1(self): return self.sect1
-    def set_sect1(self, sect1): self.sect1 = sect1
-    def add_sect1(self, value): self.sect1.append(value)
-    def insert_sect1(self, index, value): self.sect1[index] = value
-    def get_internal(self): return self.internal
-    def set_internal(self, internal): self.internal = internal
-    def get_link(self): return self.link
-    def set_link(self, link): self.link = link
-    def export(self, outfile, level, namespace_='', name_='docCopyType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docCopyType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='docCopyType'):
-        if self.link is not None:
-            outfile.write(' link=%s' % (self.format_string(quote_attrib(self.link).encode(ExternalEncoding), input_name='link'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='docCopyType'):
-        for para_ in self.para:
-            para_.export(outfile, level, namespace_, name_='para')
-        for sect1_ in self.sect1:
-            sect1_.export(outfile, level, namespace_, name_='sect1')
-        if self.internal:
-            self.internal.export(outfile, level, namespace_, name_='internal')
-    def hasContent_(self):
-        if (
-            self.para is not None or
-            self.sect1 is not None or
-            self.internal is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docCopyType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.link is not None:
-            showIndent(outfile, level)
-            outfile.write('link = %s,\n' % (self.link,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('para=[\n')
-        level += 1
-        for para in self.para:
-            showIndent(outfile, level)
-            outfile.write('model_.para(\n')
-            para.exportLiteral(outfile, level, name_='para')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        showIndent(outfile, level)
-        outfile.write('sect1=[\n')
-        level += 1
-        for sect1 in self.sect1:
-            showIndent(outfile, level)
-            outfile.write('model_.sect1(\n')
-            sect1.exportLiteral(outfile, level, name_='sect1')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-        if self.internal:
-            showIndent(outfile, level)
-            outfile.write('internal=model_.docInternalType(\n')
-            self.internal.exportLiteral(outfile, level, name_='internal')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('link'):
-            self.link = attrs.get('link').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'para':
-            obj_ = docParaType.factory()
-            obj_.build(child_)
-            self.para.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'sect1':
-            obj_ = docSect1Type.factory()
-            obj_.build(child_)
-            self.sect1.append(obj_)
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'internal':
-            obj_ = docInternalType.factory()
-            obj_.build(child_)
-            self.set_internal(obj_)
-# end class docCopyType
-
-
-class docCharType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, char=None, valueOf_=''):
-        self.char = char
-        self.valueOf_ = valueOf_
-    def factory(*args_, **kwargs_):
-        if docCharType.subclass:
-            return docCharType.subclass(*args_, **kwargs_)
-        else:
-            return docCharType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_char(self): return self.char
-    def set_char(self, char): self.char = char
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='docCharType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docCharType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='docCharType'):
-        if self.char is not None:
-            outfile.write(' char=%s' % (quote_attrib(self.char), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='docCharType'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docCharType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.char is not None:
-            showIndent(outfile, level)
-            outfile.write('char = "%s",\n' % (self.char,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('char'):
-            self.char = attrs.get('char').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class docCharType
-
-
-class docEmptyType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, valueOf_=''):
-        self.valueOf_ = valueOf_
-    def factory(*args_, **kwargs_):
-        if docEmptyType.subclass:
-            return docEmptyType.subclass(*args_, **kwargs_)
-        else:
-            return docEmptyType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def getValueOf_(self): return self.valueOf_
-    def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_
-    def export(self, outfile, level, namespace_='', name_='docEmptyType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='docEmptyType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='docEmptyType'):
-        pass
-    def exportChildren(self, outfile, level, namespace_='', name_='docEmptyType'):
-        if self.valueOf_.find('![CDATA')>-1:
-            value=quote_xml('%s' % self.valueOf_)
-            value=value.replace('![CDATA','<![CDATA')
-            value=value.replace(']]',']]>')
-            outfile.write(value)
-        else:
-            outfile.write(quote_xml('%s' % self.valueOf_))
-    def hasContent_(self):
-        if (
-            self.valueOf_ is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='docEmptyType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        pass
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        self.valueOf_ = ''
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        pass
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.TEXT_NODE:
-            self.valueOf_ += child_.nodeValue
-        elif child_.nodeType == Node.CDATA_SECTION_NODE:
-            self.valueOf_ += '![CDATA['+child_.nodeValue+']]'
-# end class docEmptyType
-
-
-USAGE_TEXT = """
-Usage: python <Parser>.py [ -s ] <in_xml_file>
-Options:
-    -s        Use the SAX parser, not the minidom parser.
-"""
-
-def usage():
-    print USAGE_TEXT
-    sys.exit(1)
-
-
-def parse(inFileName):
-    doc = minidom.parse(inFileName)
-    rootNode = doc.documentElement
-    rootObj = DoxygenType.factory()
-    rootObj.build(rootNode)
-    # Enable Python to collect the space used by the DOM.
-    doc = None
-    sys.stdout.write('<?xml version="1.0" ?>\n')
-    rootObj.export(sys.stdout, 0, name_="doxygen",
-        namespacedef_='')
-    return rootObj
-
-
-def parseString(inString):
-    doc = minidom.parseString(inString)
-    rootNode = doc.documentElement
-    rootObj = DoxygenType.factory()
-    rootObj.build(rootNode)
-    # Enable Python to collect the space used by the DOM.
-    doc = None
-    sys.stdout.write('<?xml version="1.0" ?>\n')
-    rootObj.export(sys.stdout, 0, name_="doxygen",
-        namespacedef_='')
-    return rootObj
-
-
-def parseLiteral(inFileName):
-    doc = minidom.parse(inFileName)
-    rootNode = doc.documentElement
-    rootObj = DoxygenType.factory()
-    rootObj.build(rootNode)
-    # Enable Python to collect the space used by the DOM.
-    doc = None
-    sys.stdout.write('from compound import *\n\n')
-    sys.stdout.write('rootObj = doxygen(\n')
-    rootObj.exportLiteral(sys.stdout, 0, name_="doxygen")
-    sys.stdout.write(')\n')
-    return rootObj
-
-
-def main():
-    args = sys.argv[1:]
-    if len(args) == 1:
-        parse(args[0])
-    else:
-        usage()
-
-
-if __name__ == '__main__':
-    main()
-    #import pdb
-    #pdb.run('main()')
-
diff --git a/drivers/gr-gn3s/docs/doxygen/doxyxml/generated/index.py b/drivers/gr-gn3s/docs/doxygen/doxyxml/generated/index.py
deleted file mode 100644
index 7a70e14..0000000
--- a/drivers/gr-gn3s/docs/doxygen/doxyxml/generated/index.py
+++ /dev/null
@@ -1,77 +0,0 @@
-#!/usr/bin/env python
-
-"""
-Generated Mon Feb  9 19:08:05 2009 by generateDS.py.
-"""
-
-from xml.dom import minidom
-
-import os
-import sys
-import compound
-
-import indexsuper as supermod
-
-class DoxygenTypeSub(supermod.DoxygenType):
-    def __init__(self, version=None, compound=None):
-        supermod.DoxygenType.__init__(self, version, compound)
-
-    def find_compounds_and_members(self, details):
-        """
-        Returns a list of all compounds and their members which match details
-        """
-
-        results = []
-        for compound in self.compound:
-            members = compound.find_members(details)
-            if members:
-                results.append([compound, members])
-            else:
-                if details.match(compound):
-                    results.append([compound, []])
-
-        return results
-
-supermod.DoxygenType.subclass = DoxygenTypeSub
-# end class DoxygenTypeSub
-
-
-class CompoundTypeSub(supermod.CompoundType):
-    def __init__(self, kind=None, refid=None, name='', member=None):
-        supermod.CompoundType.__init__(self, kind, refid, name, member)
-
-    def find_members(self, details):
-        """
-        Returns a list of all members which match details
-        """
-
-        results = []
-
-        for member in self.member:
-            if details.match(member):
-                results.append(member)
-
-        return results
-
-supermod.CompoundType.subclass = CompoundTypeSub
-# end class CompoundTypeSub
-
-
-class MemberTypeSub(supermod.MemberType):
-
-    def __init__(self, kind=None, refid=None, name=''):
-        supermod.MemberType.__init__(self, kind, refid, name)
-
-supermod.MemberType.subclass = MemberTypeSub
-# end class MemberTypeSub
-
-
-def parse(inFilename):
-
-    doc = minidom.parse(inFilename)
-    rootNode = doc.documentElement
-    rootObj = supermod.DoxygenType.factory()
-    rootObj.build(rootNode)
-
-    return rootObj
-
diff --git a/drivers/gr-gn3s/docs/doxygen/doxyxml/generated/indexsuper.py b/drivers/gr-gn3s/docs/doxygen/doxyxml/generated/indexsuper.py
deleted file mode 100644
index a991530..0000000
--- a/drivers/gr-gn3s/docs/doxygen/doxyxml/generated/indexsuper.py
+++ /dev/null
@@ -1,523 +0,0 @@
-#!/usr/bin/env python
-
-#
-# Generated Thu Jun 11 18:43:54 2009 by generateDS.py.
-#
-
-import sys
-import getopt
-from string import lower as str_lower
-from xml.dom import minidom
-from xml.dom import Node
-
-#
-# User methods
-#
-# Calls to the methods in these classes are generated by generateDS.py.
-# You can replace these methods by re-implementing the following class
-#   in a module named generatedssuper.py.
-
-try:
-    from generatedssuper import GeneratedsSuper
-except ImportError, exp:
-
-    class GeneratedsSuper:
-        def format_string(self, input_data, input_name=''):
-            return input_data
-        def format_integer(self, input_data, input_name=''):
-            return '%d' % input_data
-        def format_float(self, input_data, input_name=''):
-            return '%f' % input_data
-        def format_double(self, input_data, input_name=''):
-            return '%e' % input_data
-        def format_boolean(self, input_data, input_name=''):
-            return '%s' % input_data
-
-
-#
-# If you have installed IPython you can uncomment and use the following.
-# IPython is available from http://ipython.scipy.org/.
-#
-
-## from IPython.Shell import IPShellEmbed
-## args = ''
-## ipshell = IPShellEmbed(args,
-##     banner = 'Dropping into IPython',
-##     exit_msg = 'Leaving Interpreter, back to program.')
-
-# Then use the following line where and when you want to drop into the
-# IPython shell:
-#    ipshell('<some message> -- Entering ipshell.\nHit Ctrl-D to exit')
-
-#
-# Globals
-#
-
-ExternalEncoding = 'ascii'
-
-#
-# Support/utility functions.
-#
-
-def showIndent(outfile, level):
-    for idx in range(level):
-        outfile.write('    ')
-
-def quote_xml(inStr):
-    s1 = (isinstance(inStr, basestring) and inStr or
-          '%s' % inStr)
-    s1 = s1.replace('&', '&')
-    s1 = s1.replace('<', '<')
-    s1 = s1.replace('>', '>')
-    return s1
-
-def quote_attrib(inStr):
-    s1 = (isinstance(inStr, basestring) and inStr or
-          '%s' % inStr)
-    s1 = s1.replace('&', '&')
-    s1 = s1.replace('<', '<')
-    s1 = s1.replace('>', '>')
-    if '"' in s1:
-        if "'" in s1:
-            s1 = '"%s"' % s1.replace('"', """)
-        else:
-            s1 = "'%s'" % s1
-    else:
-        s1 = '"%s"' % s1
-    return s1
-
-def quote_python(inStr):
-    s1 = inStr
-    if s1.find("'") == -1:
-        if s1.find('\n') == -1:
-            return "'%s'" % s1
-        else:
-            return "'''%s'''" % s1
-    else:
-        if s1.find('"') != -1:
-            s1 = s1.replace('"', '\\"')
-        if s1.find('\n') == -1:
-            return '"%s"' % s1
-        else:
-            return '"""%s"""' % s1
-
-
-class MixedContainer:
-    # Constants for category:
-    CategoryNone = 0
-    CategoryText = 1
-    CategorySimple = 2
-    CategoryComplex = 3
-    # Constants for content_type:
-    TypeNone = 0
-    TypeText = 1
-    TypeString = 2
-    TypeInteger = 3
-    TypeFloat = 4
-    TypeDecimal = 5
-    TypeDouble = 6
-    TypeBoolean = 7
-    def __init__(self, category, content_type, name, value):
-        self.category = category
-        self.content_type = content_type
-        self.name = name
-        self.value = value
-    def getCategory(self):
-        return self.category
-    def getContenttype(self, content_type):
-        return self.content_type
-    def getValue(self):
-        return self.value
-    def getName(self):
-        return self.name
-    def export(self, outfile, level, name, namespace):
-        if self.category == MixedContainer.CategoryText:
-            outfile.write(self.value)
-        elif self.category == MixedContainer.CategorySimple:
-            self.exportSimple(outfile, level, name)
-        else:    # category == MixedContainer.CategoryComplex
-            self.value.export(outfile, level, namespace,name)
-    def exportSimple(self, outfile, level, name):
-        if self.content_type == MixedContainer.TypeString:
-            outfile.write('<%s>%s</%s>' % (self.name, self.value, self.name))
-        elif self.content_type == MixedContainer.TypeInteger or \
-                self.content_type == MixedContainer.TypeBoolean:
-            outfile.write('<%s>%d</%s>' % (self.name, self.value, self.name))
-        elif self.content_type == MixedContainer.TypeFloat or \
-                self.content_type == MixedContainer.TypeDecimal:
-            outfile.write('<%s>%f</%s>' % (self.name, self.value, self.name))
-        elif self.content_type == MixedContainer.TypeDouble:
-            outfile.write('<%s>%g</%s>' % (self.name, self.value, self.name))
-    def exportLiteral(self, outfile, level, name):
-        if self.category == MixedContainer.CategoryText:
-            showIndent(outfile, level)
-            outfile.write('MixedContainer(%d, %d, "%s", "%s"),\n' % \
-                (self.category, self.content_type, self.name, self.value))
-        elif self.category == MixedContainer.CategorySimple:
-            showIndent(outfile, level)
-            outfile.write('MixedContainer(%d, %d, "%s", "%s"),\n' % \
-                (self.category, self.content_type, self.name, self.value))
-        else:    # category == MixedContainer.CategoryComplex
-            showIndent(outfile, level)
-            outfile.write('MixedContainer(%d, %d, "%s",\n' % \
-                (self.category, self.content_type, self.name,))
-            self.value.exportLiteral(outfile, level + 1)
-            showIndent(outfile, level)
-            outfile.write(')\n')
-
-
-class _MemberSpec(object):
-    def __init__(self, name='', data_type='', container=0):
-        self.name = name
-        self.data_type = data_type
-        self.container = container
-    def set_name(self, name): self.name = name
-    def get_name(self): return self.name
-    def set_data_type(self, data_type): self.data_type = data_type
-    def get_data_type(self): return self.data_type
-    def set_container(self, container): self.container = container
-    def get_container(self): return self.container
-
-
-#
-# Data representation classes.
-#
-
-class DoxygenType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, version=None, compound=None):
-        self.version = version
-        if compound is None:
-            self.compound = []
-        else:
-            self.compound = compound
-    def factory(*args_, **kwargs_):
-        if DoxygenType.subclass:
-            return DoxygenType.subclass(*args_, **kwargs_)
-        else:
-            return DoxygenType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_compound(self): return self.compound
-    def set_compound(self, compound): self.compound = compound
-    def add_compound(self, value): self.compound.append(value)
-    def insert_compound(self, index, value): self.compound[index] = value
-    def get_version(self): return self.version
-    def set_version(self, version): self.version = version
-    def export(self, outfile, level, namespace_='', name_='DoxygenType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='DoxygenType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='DoxygenType'):
-        outfile.write(' version=%s' % (self.format_string(quote_attrib(self.version).encode(ExternalEncoding), input_name='version'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='DoxygenType'):
-        for compound_ in self.compound:
-            compound_.export(outfile, level, namespace_, name_='compound')
-    def hasContent_(self):
-        if (
-            self.compound is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='DoxygenType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.version is not None:
-            showIndent(outfile, level)
-            outfile.write('version = %s,\n' % (self.version,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('compound=[\n')
-        level += 1
-        for compound in self.compound:
-            showIndent(outfile, level)
-            outfile.write('model_.compound(\n')
-            compound.exportLiteral(outfile, level, name_='compound')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('version'):
-            self.version = attrs.get('version').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'compound':
-            obj_ = CompoundType.factory()
-            obj_.build(child_)
-            self.compound.append(obj_)
-# end class DoxygenType
-
-
-class CompoundType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, kind=None, refid=None, name=None, member=None):
-        self.kind = kind
-        self.refid = refid
-        self.name = name
-        if member is None:
-            self.member = []
-        else:
-            self.member = member
-    def factory(*args_, **kwargs_):
-        if CompoundType.subclass:
-            return CompoundType.subclass(*args_, **kwargs_)
-        else:
-            return CompoundType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_name(self): return self.name
-    def set_name(self, name): self.name = name
-    def get_member(self): return self.member
-    def set_member(self, member): self.member = member
-    def add_member(self, value): self.member.append(value)
-    def insert_member(self, index, value): self.member[index] = value
-    def get_kind(self): return self.kind
-    def set_kind(self, kind): self.kind = kind
-    def get_refid(self): return self.refid
-    def set_refid(self, refid): self.refid = refid
-    def export(self, outfile, level, namespace_='', name_='CompoundType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='CompoundType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='CompoundType'):
-        outfile.write(' kind=%s' % (quote_attrib(self.kind), ))
-        outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='CompoundType'):
-        if self.name is not None:
-            showIndent(outfile, level)
-            outfile.write('<%sname>%s</%sname>\n' % (namespace_, self.format_string(quote_xml(self.name).encode(ExternalEncoding), input_name='name'), namespace_))
-        for member_ in self.member:
-            member_.export(outfile, level, namespace_, name_='member')
-    def hasContent_(self):
-        if (
-            self.name is not None or
-            self.member is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='CompoundType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.kind is not None:
-            showIndent(outfile, level)
-            outfile.write('kind = "%s",\n' % (self.kind,))
-        if self.refid is not None:
-            showIndent(outfile, level)
-            outfile.write('refid = %s,\n' % (self.refid,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('name=%s,\n' % quote_python(self.name).encode(ExternalEncoding))
-        showIndent(outfile, level)
-        outfile.write('member=[\n')
-        level += 1
-        for member in self.member:
-            showIndent(outfile, level)
-            outfile.write('model_.member(\n')
-            member.exportLiteral(outfile, level, name_='member')
-            showIndent(outfile, level)
-            outfile.write('),\n')
-        level -= 1
-        showIndent(outfile, level)
-        outfile.write('],\n')
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('kind'):
-            self.kind = attrs.get('kind').value
-        if attrs.get('refid'):
-            self.refid = attrs.get('refid').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'name':
-            name_ = ''
-            for text__content_ in child_.childNodes:
-                name_ += text__content_.nodeValue
-            self.name = name_
-        elif child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'member':
-            obj_ = MemberType.factory()
-            obj_.build(child_)
-            self.member.append(obj_)
-# end class CompoundType
-
-
-class MemberType(GeneratedsSuper):
-    subclass = None
-    superclass = None
-    def __init__(self, kind=None, refid=None, name=None):
-        self.kind = kind
-        self.refid = refid
-        self.name = name
-    def factory(*args_, **kwargs_):
-        if MemberType.subclass:
-            return MemberType.subclass(*args_, **kwargs_)
-        else:
-            return MemberType(*args_, **kwargs_)
-    factory = staticmethod(factory)
-    def get_name(self): return self.name
-    def set_name(self, name): self.name = name
-    def get_kind(self): return self.kind
-    def set_kind(self, kind): self.kind = kind
-    def get_refid(self): return self.refid
-    def set_refid(self, refid): self.refid = refid
-    def export(self, outfile, level, namespace_='', name_='MemberType', namespacedef_=''):
-        showIndent(outfile, level)
-        outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
-        self.exportAttributes(outfile, level, namespace_, name_='MemberType')
-        if self.hasContent_():
-            outfile.write('>\n')
-            self.exportChildren(outfile, level + 1, namespace_, name_)
-            showIndent(outfile, level)
-            outfile.write('</%s%s>\n' % (namespace_, name_))
-        else:
-            outfile.write(' />\n')
-    def exportAttributes(self, outfile, level, namespace_='', name_='MemberType'):
-        outfile.write(' kind=%s' % (quote_attrib(self.kind), ))
-        outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), ))
-    def exportChildren(self, outfile, level, namespace_='', name_='MemberType'):
-        if self.name is not None:
-            showIndent(outfile, level)
-            outfile.write('<%sname>%s</%sname>\n' % (namespace_, self.format_string(quote_xml(self.name).encode(ExternalEncoding), input_name='name'), namespace_))
-    def hasContent_(self):
-        if (
-            self.name is not None
-            ):
-            return True
-        else:
-            return False
-    def exportLiteral(self, outfile, level, name_='MemberType'):
-        level += 1
-        self.exportLiteralAttributes(outfile, level, name_)
-        if self.hasContent_():
-            self.exportLiteralChildren(outfile, level, name_)
-    def exportLiteralAttributes(self, outfile, level, name_):
-        if self.kind is not None:
-            showIndent(outfile, level)
-            outfile.write('kind = "%s",\n' % (self.kind,))
-        if self.refid is not None:
-            showIndent(outfile, level)
-            outfile.write('refid = %s,\n' % (self.refid,))
-    def exportLiteralChildren(self, outfile, level, name_):
-        showIndent(outfile, level)
-        outfile.write('name=%s,\n' % quote_python(self.name).encode(ExternalEncoding))
-    def build(self, node_):
-        attrs = node_.attributes
-        self.buildAttributes(attrs)
-        for child_ in node_.childNodes:
-            nodeName_ = child_.nodeName.split(':')[-1]
-            self.buildChildren(child_, nodeName_)
-    def buildAttributes(self, attrs):
-        if attrs.get('kind'):
-            self.kind = attrs.get('kind').value
-        if attrs.get('refid'):
-            self.refid = attrs.get('refid').value
-    def buildChildren(self, child_, nodeName_):
-        if child_.nodeType == Node.ELEMENT_NODE and \
-            nodeName_ == 'name':
-            name_ = ''
-            for text__content_ in child_.childNodes:
-                name_ += text__content_.nodeValue
-            self.name = name_
-# end class MemberType
-
-
-USAGE_TEXT = """
-Usage: python <Parser>.py [ -s ] <in_xml_file>
-Options:
-    -s        Use the SAX parser, not the minidom parser.
-"""
-
-def usage():
-    print USAGE_TEXT
-    sys.exit(1)
-
-
-def parse(inFileName):
-    doc = minidom.parse(inFileName)
-    rootNode = doc.documentElement
-    rootObj = DoxygenType.factory()
-    rootObj.build(rootNode)
-    # Enable Python to collect the space used by the DOM.
-    doc = None
-    sys.stdout.write('<?xml version="1.0" ?>\n')
-    rootObj.export(sys.stdout, 0, name_="doxygenindex",
-        namespacedef_='')
-    return rootObj
-
-
-def parseString(inString):
-    doc = minidom.parseString(inString)
-    rootNode = doc.documentElement
-    rootObj = DoxygenType.factory()
-    rootObj.build(rootNode)
-    # Enable Python to collect the space used by the DOM.
-    doc = None
-    sys.stdout.write('<?xml version="1.0" ?>\n')
-    rootObj.export(sys.stdout, 0, name_="doxygenindex",
-        namespacedef_='')
-    return rootObj
-
-
-def parseLiteral(inFileName):
-    doc = minidom.parse(inFileName)
-    rootNode = doc.documentElement
-    rootObj = DoxygenType.factory()
-    rootObj.build(rootNode)
-    # Enable Python to collect the space used by the DOM.
-    doc = None
-    sys.stdout.write('from index import *\n\n')
-    sys.stdout.write('rootObj = doxygenindex(\n')
-    rootObj.exportLiteral(sys.stdout, 0, name_="doxygenindex")
-    sys.stdout.write(')\n')
-    return rootObj
-
-
-def main():
-    args = sys.argv[1:]
-    if len(args) == 1:
-        parse(args[0])
-    else:
-        usage()
-
-
-
-
-if __name__ == '__main__':
-    main()
-    #import pdb
-    #pdb.run('main()')
-
diff --git a/drivers/gr-gn3s/docs/doxygen/doxyxml/text.py b/drivers/gr-gn3s/docs/doxygen/doxyxml/text.py
deleted file mode 100644
index 629edd1..0000000
--- a/drivers/gr-gn3s/docs/doxygen/doxyxml/text.py
+++ /dev/null
@@ -1,56 +0,0 @@
-#
-# Copyright 2010 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio 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 3, or (at your option)
-# any later version.
-#
-# GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-#
-"""
-Utilities for extracting text from generated classes.
-"""
-
-def is_string(txt):
-    if isinstance(txt, str):
-        return True
-    try:
-        if isinstance(txt, unicode):
-            return True
-    except NameError:
-        pass
-    return False
-
-def description(obj):
-    if obj is None:
-        return None
-    return description_bit(obj).strip()
-
-def description_bit(obj):
-    if hasattr(obj, 'content'):
-        contents = [description_bit(item) for item in obj.content]
-        result = ''.join(contents)
-    elif hasattr(obj, 'content_'):
-        contents = [description_bit(item) for item in obj.content_]
-        result = ''.join(contents)
-    elif hasattr(obj, 'value'):
-        result = description_bit(obj.value)
-    elif is_string(obj):
-        return obj
-    else:
-        raise StandardError('Expecting a string or something with content, content_ or value attribute')
-    # If this bit is a paragraph then add one some line breaks.
-    if hasattr(obj, 'name') and obj.name == 'para':
-        result += "\n\n"
-    return result
diff --git a/drivers/gr-gn3s/docs/doxygen/other/group_defs.dox b/drivers/gr-gn3s/docs/doxygen/other/group_defs.dox
deleted file mode 100644
index 708f8c6..0000000
--- a/drivers/gr-gn3s/docs/doxygen/other/group_defs.dox
+++ /dev/null
@@ -1,7 +0,0 @@
-/*!
- * \defgroup block GNU Radio HOWTO C++ Signal Processing Blocks
- * \brief All C++ blocks that can be used from the HOWTO GNU Radio
- *        module are listed here or in the subcategories below.
- *
- */
-
diff --git a/drivers/gr-gn3s/docs/doxygen/other/main_page.dox b/drivers/gr-gn3s/docs/doxygen/other/main_page.dox
deleted file mode 100644
index 6357044..0000000
--- a/drivers/gr-gn3s/docs/doxygen/other/main_page.dox
+++ /dev/null
@@ -1,10 +0,0 @@
-/*! \mainpage
-
-Welcome to the GNU Radio HOWTO Block
-
-This is the intro page for the Doxygen manual generated for the HOWTO
-block (docs/doxygen/other/main_page.dox). Edit it to add more detailed
-documentation about the new GNU Radio modules contained in this
-project.
-
-*/
diff --git a/drivers/gr-gn3s/docs/doxygen/swig_doc.py b/drivers/gr-gn3s/docs/doxygen/swig_doc.py
deleted file mode 100644
index 4e1ce2e..0000000
--- a/drivers/gr-gn3s/docs/doxygen/swig_doc.py
+++ /dev/null
@@ -1,255 +0,0 @@
-#
-# Copyright 2010,2011 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio 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 3, or (at your option)
-# any later version.
-#
-# GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-#
-"""
-Creates the swig_doc.i SWIG interface file.
-Execute using: python swig_doc.py xml_path outputfilename
-
-The file instructs SWIG to transfer the doxygen comments into the
-python docstrings.
-
-"""
-
-import sys
-
-try:
-    from doxyxml import DoxyIndex, DoxyClass, DoxyFriend, DoxyFunction, DoxyFile, base
-except ImportError:
-    from gnuradio.doxyxml import DoxyIndex, DoxyClass, DoxyFriend, DoxyFunction, DoxyFile, base
-
-
-def py_name(name):
-    bits = name.split('_')
-    return '_'.join(bits[1:])
-
-def make_name(name):
-    bits = name.split('_')
-    return bits[0] + '_make_' + '_'.join(bits[1:])
-
-
-class Block(object):
-    """
-    Checks if doxyxml produced objects correspond to a gnuradio block.
-    """
-
-    @classmethod
-    def includes(cls, item):
-        if not isinstance(item, DoxyClass):
-            return False
-        # Check for a parsing error.
-        if item.error():
-            return False
-        return item.has_member(make_name(item.name()), DoxyFriend)
-
-
-def utoascii(text):
-    """
-    Convert unicode text into ascii and escape quotes.
-    """
-    if text is None:
-        return ''
-    out = text.encode('ascii', 'replace')
-    out = out.replace('"', '\\"')
-    return out
-
-
-def combine_descriptions(obj):
-    """
-    Combines the brief and detailed descriptions of an object together.
-    """
-    description = []
-    bd = obj.brief_description.strip()
-    dd = obj.detailed_description.strip()
-    if bd:
-        description.append(bd)
-    if dd:
-        description.append(dd)
-    return utoascii('\n\n'.join(description)).strip()
-
-
-entry_templ = '%feature("docstring") {name} "{docstring}"'
-def make_entry(obj, name=None, templ="{description}", description=None):
-    """
-    Create a docstring entry for a swig interface file.
-
-    obj - a doxyxml object from which documentation will be extracted.
-    name - the name of the C object (defaults to obj.name())
-    templ - an optional template for the docstring containing only one
-            variable named 'description'.
-    description - if this optional variable is set then it's value is
-            used as the description instead of extracting it from obj.
-    """
-    if name is None:
-        name=obj.name()
-    if "operator " in name:
-        return ''
-    if description is None:
-        description = combine_descriptions(obj)
-    docstring = templ.format(description=description)
-    if not docstring:
-        return ''
-    return entry_templ.format(
-        name=name,
-        docstring=docstring,
-        )
-
-
-def make_func_entry(func, name=None, description=None, params=None):
-    """
-    Create a function docstring entry for a swig interface file.
-
-    func - a doxyxml object from which documentation will be extracted.
-    name - the name of the C object (defaults to func.name())
-    description - if this optional variable is set then it's value is
-            used as the description instead of extracting it from func.
-    params - a parameter list that overrides using func.params.
-    """
-    if params is None:
-        params = func.params
-    params = [prm.declname for prm in params]
-    if params:
-        sig = "Params: (%s)" % ", ".join(params)
-    else:
-        sig = "Params: (NONE)"
-    templ = "{description}\n\n" + sig
-    return make_entry(func, name=name, templ=utoascii(templ),
-                      description=description)
-
-
-def make_class_entry(klass, description=None):
-    """
-    Create a class docstring for a swig interface file.
-    """
-    output = []
-    output.append(make_entry(klass, description=description))
-    for func in klass.in_category(DoxyFunction):
-        name = klass.name() + '::' + func.name()
-        output.append(make_func_entry(func, name=name))
-    return "\n\n".join(output)
-
-
-def make_block_entry(di, block):
-    """
-    Create class and function docstrings of a gnuradio block for a
-    swig interface file.
-    """
-    descriptions = []
-    # Get the documentation associated with the class.
-    class_desc = combine_descriptions(block)
-    if class_desc:
-        descriptions.append(class_desc)
-    # Get the documentation associated with the make function
-    make_func = di.get_member(make_name(block.name()), DoxyFunction)
-    make_func_desc = combine_descriptions(make_func)
-    if make_func_desc:
-        descriptions.append(make_func_desc)
-    # Get the documentation associated with the file
-    try:
-        block_file = di.get_member(block.name() + ".h", DoxyFile)
-        file_desc = combine_descriptions(block_file)
-        if file_desc:
-            descriptions.append(file_desc)
-    except base.Base.NoSuchMember:
-        # Don't worry if we can't find a matching file.
-        pass
-    # And join them all together to make a super duper description.
-    super_description = "\n\n".join(descriptions)
-    # Associate the combined description with the class and
-    # the make function.
-    output = []
-    output.append(make_class_entry(block, description=super_description))
-    creator = block.get_member(block.name(), DoxyFunction)
-    output.append(make_func_entry(make_func, description=super_description,
-                                  params=creator.params))
-    return "\n\n".join(output)
-
-
-def make_swig_interface_file(di, swigdocfilename, custom_output=None):
-
-    output = ["""
-/*
- * This file was automatically generated using swig_doc.py.
- *
- * Any changes to it will be lost next time it is regenerated.
- */
-"""]
-
-    if custom_output is not None:
-        output.append(custom_output)
-
-    # Create docstrings for the blocks.
-    blocks = di.in_category(Block)
-    make_funcs = set([])
-    for block in blocks:
-        try:
-            make_func = di.get_member(make_name(block.name()), DoxyFunction)
-            make_funcs.add(make_func.name())
-            output.append(make_block_entry(di, block))
-        except block.ParsingError:
-            print('Parsing error for block %s' % block.name())
-
-    # Create docstrings for functions
-    # Don't include the make functions since they have already been dealt with.
-    funcs = [f for f in di.in_category(DoxyFunction) if f.name() not in make_funcs]
-    for f in funcs:
-        try:
-            output.append(make_func_entry(f))
-        except f.ParsingError:
-            print('Parsing error for function %s' % f.name())
-
-    # Create docstrings for classes
-    block_names = [block.name() for block in blocks]
-    klasses = [k for k in di.in_category(DoxyClass) if k.name() not in block_names]
-    for k in klasses:
-        try:
-            output.append(make_class_entry(k))
-        except k.ParsingError:
-            print('Parsing error for class %s' % k.name())
-
-    # Docstrings are not created for anything that is not a function or a class.
-    # If this excludes anything important please add it here.
-
-    output = "\n\n".join(output)
-
-    swig_doc = file(swigdocfilename, 'w')
-    swig_doc.write(output)
-    swig_doc.close()
-
-if __name__ == "__main__":
-    # Parse command line options and set up doxyxml.
-    err_msg = "Execute using: python swig_doc.py xml_path outputfilename"
-    if len(sys.argv) != 3:
-        raise StandardError(err_msg)
-    xml_path = sys.argv[1]
-    swigdocfilename = sys.argv[2]
-    di = DoxyIndex(xml_path)
-
-    # gnuradio.gr.msq_queue.insert_tail and delete_head create errors unless docstrings are defined!
-    # This is presumably a bug in SWIG.
-    #msg_q = di.get_member(u'gr_msg_queue', DoxyClass)
-    #insert_tail = msg_q.get_member(u'insert_tail', DoxyFunction)
-    #delete_head = msg_q.get_member(u'delete_head', DoxyFunction)
-    output = []
-    #output.append(make_func_entry(insert_tail, name='gr_py_msg_queue__insert_tail'))
-    #output.append(make_func_entry(delete_head, name='gr_py_msg_queue__delete_head'))
-    custom_output = "\n\n".join(output)
-
-    # Generate the docstrings interface file.
-    make_swig_interface_file(di, swigdocfilename, custom_output=custom_output)
diff --git a/drivers/gr-gn3s/grc/CMakeLists.txt b/drivers/gr-gn3s/grc/CMakeLists.txt
deleted file mode 100644
index a03cecb..0000000
--- a/drivers/gr-gn3s/grc/CMakeLists.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright (C) 2012-2015  (see AUTHORS file for a list of contributors)
-#
-# This file is part of GNSS-SDR.
-#
-# GNSS-SDR 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 3 of the License, or
-# (at your option) any later version.
-#
-# GNSS-SDR 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 GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
-#
-
-install(FILES
-    gn3s_source_cc.xml
-    DESTINATION share/gnuradio/grc/blocks
-)
diff --git a/drivers/gr-gn3s/grc/gn3s_source_cc.xml b/drivers/gr-gn3s/grc/gn3s_source_cc.xml
deleted file mode 100644
index cfe7d1a..0000000
--- a/drivers/gr-gn3s/grc/gn3s_source_cc.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0"?>
-<block>
-  <name>gn3s_source</name>
-  <key>gn3s_source_cc</key>
-  <category>GN3S</category>
-  <import>import gn3s</import>
-  <make>gn3s.source_cc()</make>
-
-  <source>
-    <name>out</name>
-    <type>complex</type>
-  </source>
-</block>
diff --git a/drivers/gr-gn3s/include/CMakeLists.txt b/drivers/gr-gn3s/include/CMakeLists.txt
deleted file mode 100644
index 67fb11d..0000000
--- a/drivers/gr-gn3s/include/CMakeLists.txt
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright (C) 2012-2015  (see AUTHORS file for a list of contributors)
-#
-# This file is part of GNSS-SDR.
-#
-# GNSS-SDR 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 3 of the License, or
-# (at your option) any later version.
-#
-# GNSS-SDR 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 GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
-#
-
-########################################################################
-# Install public header files
-########################################################################
-install(FILES
-    gn3s_api.h
-    gn3s_source_cc.h
-    gn3s_source.h
-    gn3s_defines.h
-    gn3s.h
-    fusb.h
-    libusb_types.h
-    fusb_linux.h
-    DESTINATION include/gn3s
-)
diff --git a/drivers/gr-gn3s/include/fusb.h b/drivers/gr-gn3s/include/fusb.h
deleted file mode 100644
index 7112353..0000000
--- a/drivers/gr-gn3s/include/fusb.h
+++ /dev/null
@@ -1,138 +0,0 @@
-/*  -*- c++ -*- */
-/*
- * Copyright 2005,2009 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * GNU Radio 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 3, or (at your option)
- * any later version.
- *
- * GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef _FUSB_H_
-#define _FUSB_H_
-
-#include "libusb_types.h"
-
-struct 	libusb_context;
-class   fusb_ephandle;
-
-/*!
- * \brief abstract usb device handle
- */
-class fusb_devhandle {
-private:
-  // NOT IMPLEMENTED
-  fusb_devhandle (const fusb_devhandle &rhs);		  // no copy constructor
-  fusb_devhandle &operator= (const fusb_devhandle &rhs);  // no assignment operator
-
-protected:
-  libusb_device_handle		*d_udh;
-
-public:
-  // CREATORS
-  fusb_devhandle (libusb_device_handle *udh);
-  virtual ~fusb_devhandle ();
-
-  // MANIPULATORS
-  
-  /*!
-   * \brief return an ephandle of the correct subtype
-   */
-  virtual fusb_ephandle *make_ephandle (int endpoint, bool input_p,
-					int block_size = 0, int nblocks = 0) = 0;
-  
-  // ACCESSORS
-  libusb_device_handle *get_usb_dev_handle () const { return d_udh; }
-};
-
-
-/*!
- * \brief abstract usb end point handle
- */
-class fusb_ephandle {
-private:
-  // NOT IMPLEMENTED
-  fusb_ephandle (const fusb_ephandle &rhs);	        // no copy constructor
-  fusb_ephandle &operator= (const fusb_ephandle &rhs);  // no assignment operator
-
-protected:
-  int				d_endpoint;
-  bool				d_input_p;
-  int				d_block_size;
-  int				d_nblocks;
-  bool				d_started;
-
-public:
-  fusb_ephandle (int endpoint, bool input_p,
-		 int block_size = 0, int nblocks = 0);
-  virtual ~fusb_ephandle ();
-
-  virtual bool start () = 0;  	//!< begin streaming i/o
-  virtual bool stop () = 0;	//!< stop streaming i/o
-
-  /*!
-   * \returns \p nbytes if write was successfully enqueued, else -1.
-   * Will block if no free buffers available.
-   */
-  virtual int write (const void *buffer, int nbytes) = 0;
-
-  /*!
-   * \returns number of bytes read or -1 if error.
-   * number of bytes read will be <= nbytes.
-   * Will block if no input available.
-   */
-  virtual int read (void *buffer, int nbytes) = 0;
-
-  /*
-   * block until all outstanding writes have completed
-   */
-  virtual void wait_for_completion () = 0;
-
-  /*!
-   * \brief returns current block size.
-   */
-  int block_size () { return d_block_size; };
-};
-
-
-/*!
- * \brief factory for creating concrete instances of the appropriate subtype.
- */
-class fusb_sysconfig {
-public:
-  /*!
-   * \brief returns fusb_devhandle or throws if trouble
-   */
-  static fusb_devhandle *make_devhandle (libusb_device_handle *udh,
-                                         libusb_context *ctx = 0);
-
-  /*!
-   * \brief Returns max block size in bytes (hard limit).
-   */
-  static int max_block_size ();
-
-  /*!
-   * \brief Returns default block size in bytes.
-   */
-  static int default_block_size ();
-
-  /*!
-   * \brief Returns the default buffer size in bytes.
-   */
-  static int default_buffer_size ();
-
-};
-
-#endif /* _FUSB_H_ */
diff --git a/drivers/gr-gn3s/include/fusb_linux.h b/drivers/gr-gn3s/include/fusb_linux.h
deleted file mode 100644
index c49878c..0000000
--- a/drivers/gr-gn3s/include/fusb_linux.h
+++ /dev/null
@@ -1,116 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2003 Free Software Foundation, Inc.
- * 
- * This file is part of GNU Radio
- * 
- * GNU Radio 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 3, or (at your option)
- * any later version.
- * 
- * GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street,
- * Boston, MA 02110-1301, USA.
- */
-
-// Fast USB interface
-
-#ifndef _FUSB_LINUX_H_
-#define _FUSB_LINUX_H_
-
-#include "fusb.h"
-#include <list>
-
-struct  usbdevfs_urb;
-class   fusb_ephandle_linux;
-
-/*!
- * \brief linux specific implementation of fusb_devhandle using usbdevice_fs
- */
-class fusb_devhandle_linux : public fusb_devhandle {
-private:
-  std::list<usbdevfs_urb*>	 d_pending_rqsts;
-
-  void pending_add (usbdevfs_urb *urb);
-  bool pending_remove (usbdevfs_urb *urb);
-  usbdevfs_urb * pending_get ();
-
-
-public:
-  // CREATORS
-  fusb_devhandle_linux (usb_dev_handle *udh);
-  virtual ~fusb_devhandle_linux ();
-
-  // MANIPULATORS
-  virtual fusb_ephandle *make_ephandle (int endpoint, bool input_p,
-					int block_size = 0, int nblocks = 0);
-
-  // internal use only
-  bool _submit_urb (usbdevfs_urb *urb);
-  bool _cancel_urb (usbdevfs_urb *urb);
-  void _cancel_pending_rqsts (fusb_ephandle_linux *eph);
-  bool _reap (bool ok_to_block_p);
-  void _wait_for_completion ();
-};
-
- /*!
- * \brief linux specific implementation of fusb_ephandle using usbdevice_fs
- */
-
-class fusb_ephandle_linux : public fusb_ephandle {
-private:
-  fusb_devhandle_linux	       *d_devhandle;
-  std::list<usbdevfs_urb*>	d_free_list;
-  std::list<usbdevfs_urb*>	d_completed_list;
-  usbdevfs_urb		       *d_write_work_in_progress;
-  unsigned char		       *d_write_buffer;
-  usbdevfs_urb		       *d_read_work_in_progress;
-  unsigned char		       *d_read_buffer;
-  unsigned char		       *d_read_buffer_end;
-
-  usbdevfs_urb *get_write_work_in_progress ();
-  void reap_complete_writes ();
-  bool reload_read_buffer ();
-  bool submit_urb (usbdevfs_urb *urb);
-  
-public:
-  fusb_ephandle_linux (fusb_devhandle_linux *dh, int endpoint, bool input_p,
-		       int block_size = 0, int nblocks = 0);
-  virtual ~fusb_ephandle_linux ();
-
-  virtual bool start ();  	//!< begin streaming i/o
-  virtual bool stop ();		//!< stop streaming i/o
-
-  /*!
-   * \returns \p nbytes if write was successfully enqueued, else -1.
-   * Will block if no free buffers available.
-   */
-  virtual int write (const void *buffer, int nbytes);
-
-  /*!
-   * \returns number of bytes read or -1 if error.
-   * number of bytes read will be <= nbytes.
-   * Will block if no input available.
-   */
-  virtual int read (void *buffer, int nbytes);
-
-  /*
-   * block until all outstanding writes have completed
-   */
-  virtual void wait_for_completion ();
-
-  // internal use only
-  void free_list_add (usbdevfs_urb *urb);
-  void completed_list_add (usbdevfs_urb *urb);
-  usbdevfs_urb *free_list_get (); 		// pop and return head of list or 0
-  usbdevfs_urb *completed_list_get ();		// pop and return head of list or 0
-};
-
-#endif /* _FUSB_LINUX_H_ */
diff --git a/drivers/gr-gn3s/include/gn3s.h b/drivers/gr-gn3s/include/gn3s.h
deleted file mode 100644
index b705f28..0000000
--- a/drivers/gr-gn3s/include/gn3s.h
+++ /dev/null
@@ -1,142 +0,0 @@
-/*----------------------------------------------------------------------------------------------*/
-/*! \file gn3s.h
-//
-// FILENAME: gn3s.h
-//
-// DESCRIPTION: Defines the GN3S class.
-//
-// DEVELOPERS: Gregory W. Heckler (2003-2009)
-//
-// LICENSE TERMS: Copyright (c) Gregory W. Heckler 2009
-//
-// This file is part of the GPS Software Defined Radio (GPS-SDR)
-//
-// The GPS-SDR 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. The GPS-SDR 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.
-//
-// Note:  Comments within this file follow a syntax that is compatible with
-//        DOXYGEN and are utilized for automated document extraction
-//
-// Reference:
-*/
-/*----------------------------------------------------------------------------------------------*/
-
-
-#ifndef GN3S_H_
-#define GN3S_H_
-
-
-/* Includes */
-/*--------------------------------------------------------------*/
-#include <unistd.h>
-#include <stdio.h>
-#include <errno.h>
-#include <string.h>
-#include <math.h>
-#include "fusb.h"
-#include "fusb_linux.h"
-//#include "usrp_bytesex.h"
-//#include "usrp_prims.h"
-/*--------------------------------------------------------------*/
-
-
-/* FX2 Configuration Structure */
-/*--------------------------------------------------------------*/
-struct fx2Config
-{
-	int interface;
-	int altinterface;
-	usb_dev_handle *udev;
-	fusb_ephandle *d_ephandle;
-	fusb_devhandle *d_devhandle;
-};
-/*--------------------------------------------------------------*/
-
-
-/* FX2 Stuff */
-/*--------------------------------------------------------------*/
-#define RX_ENDPOINT		(0x86)
-#define VRT_VENDOR_IN	(0xC0)
-#define VRT_VENDOR_OUT	(0x40)
-#define RX_INTERFACE	(2)
-#define RX_ALTINTERFACE (0)
-#define VRQ_GET_STATUS	(0x80)
-#define GS_RX_OVERRUN	(1)  //!< Returns 1 byte
-#define VRQ_XFER		(0x01)
-/*--------------------------------------------------------------*/
-
-
-/* GN3S Stuff */
-/*--------------------------------------------------------------*/
-#define GN3S_VID 	 		(0x16C0)
-#define GN3S_PID 	 		(0x072F)
-#define VID_OLD  	 		(0x1781)
-#define PID_OLD  	 		(0x0B39)
-#define PROG_SET_CMD 		(0xE600)
-#define FUSB_BUFFER_SIZE 	(16 * (1L << 20)) 	//!< 8 MB
-#define FUSB_BLOCK_SIZE  	(16 * (1L << 10)) 	//!< 16KB is hard limit
-#define FUSB_NBLOCKS		(FUSB_BUFFER_SIZE / FUSB_BLOCK_SIZE)
-/*--------------------------------------------------------------*/
-
-
-/* The firmware is embedded into the executable */
-/*--------------------------------------------------------------*/
-extern char _binary_usrp_gn3s_firmware_ihx_start[];
-/*--------------------------------------------------------------*/
-
-
-/*--------------------------------------------------------------*/
-/*! \ingroup CLASSES
- *
- */
-class gn3s
-{
-
-	private:
-
-		/* First or second board */
-		int which;
-
-		/* GN3S FX2 Stuff */
-		struct fx2Config fx2_config;
-		struct usb_device *fx2_device;
-		struct usb_dev_handle *fx2_handle;
-
-		/* USB IDs */
-		unsigned int gn3s_vid, gn3s_pid;
-
-		/* Pull in the binary firmware */
-		int fstart;
-		int fsize;
-		//char *gn3s_firmware;
-
-	public:
-
-		gn3s(int _which);		//!< Constructor
-		~gn3s();				//!< Destructor
-
-		/* FX2 functions */
-		struct usb_device* usb_fx2_find(int vid, int pid, char info, int ignore);
-		bool usb_fx2_configure(struct usb_device *fx2, fx2Config *fx2c);
-		fusb_devhandle* make_devhandle (usb_dev_handle *udh);
-		int read(void *buff, int bytes);
-		int write_cmd(int request, int value, int index, unsigned char *bytes, int len);
-		bool _get_status(int which, bool *trouble);
-		bool check_rx_overrun();
-		bool usrp_xfer(char VRQ_TYPE, bool start);
-
-		/* Used to flash the GN3S */
-		int atoz(char *s);
-		void upload_ram(char *buf, int start, int len);
-		void program_fx2(char *filename, char mem);
-		int prog_gn3s_board();
-
-};
-/*--------------------------------------------------------------*/
-
-
-#endif /*GN3S_H_ */
diff --git a/drivers/gr-gn3s/include/gn3s_api.h b/drivers/gr-gn3s/include/gn3s_api.h
deleted file mode 100644
index 26032a7..0000000
--- a/drivers/gr-gn3s/include/gn3s_api.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*!
- * \file gn3s_api.h
- * \brief GNU Radio source block to acces to SiGe GN3S USB sampler.
- * \author Javier Arribas, 2012. jarribas(at)cttc.es
- *
- * -------------------------------------------------------------------------
- *
- * Copyright (C) 2010-2012  (see AUTHORS file for a list of contributors)
- *
- * GNSS-SDR is a software defined Global Navigation
- *          Satellite Systems receiver
- *
- * This file is part of GNSS-SDR.
- *
- * GNSS-SDR 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 3 of the License, or
- * at your option) any later version.
- *
- * GNSS-SDR 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 GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
- *
- * -------------------------------------------------------------------------
- */
-
-#ifndef INCLUDED_GN3S_API_H
-#define INCLUDED_GN3S_API_H
-
-#include <gnuradio/attributes.h>
-
-#ifdef gr_gn3s_EXPORTS
-#  define GN3S_API __GR_ATTR_EXPORT
-#else
-#  define GN3S_API __GR_ATTR_IMPORT
-#endif
-
-#endif /* INCLUDED_GN3S_API_H */
diff --git a/drivers/gr-gn3s/include/gn3s_defines.h b/drivers/gr-gn3s/include/gn3s_defines.h
deleted file mode 100644
index 4556ac8..0000000
--- a/drivers/gr-gn3s/include/gn3s_defines.h
+++ /dev/null
@@ -1,25 +0,0 @@
-#ifndef GN3S_DEFINES_H_
-#define GN3S_DEFINES_H_
-
-typedef struct GN3S_CPX
-{
-	short int i;	//!< Real value
-	short int q;	//!< Imaginary value
-} GN3S_CPX;
-
-//#define GN3S_SAMPS_MS				(2048)						//!< All incoming signals are resampled to this sampling frequency
-#define GN3S_SAMPS_5MS				(40919)						// 5MS at fs=8.1838e6
-//!< FIFO structure for linked list?
-/*----------------------------------------------------------------------------------------------*/
-/*! \ingroup STRUCTS
- *  @brief linked list structure for circular FIFO buffer */
-typedef struct gn3s_ms_packet {
-
-	gn3s_ms_packet *next;
-	int count;					//!< Number of packets
-	GN3S_CPX data[GN3S_SAMPS_5MS];				//!< Payload size
-
-} gn3s_ms_packet;
-/*----------------------------------------------------------------------------------------------*/
-
-#endif //GN3S_DEFINES_H_
diff --git a/drivers/gr-gn3s/include/gn3s_source.h b/drivers/gr-gn3s/include/gn3s_source.h
deleted file mode 100644
index 41cc1f0..0000000
--- a/drivers/gr-gn3s/include/gn3s_source.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/*----------------------------------------------------------------------------------------------*/
-//
-// FILENAME: gps_source.h
-//
-// DESCRIPTION: Defines the GPS_Source class.
-//
-// DEVELOPERS: Gregory W. Heckler (2003-2009)
-//
-// LICENSE TERMS: Copyright (c) Gregory W. Heckler 2009
-//
-// This file is part of the GPS Software Defined Radio (GPS-SDR)
-//
-// The GPS-SDR 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. The GPS-SDR 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.
-//
-// Note:  Comments within this file follow a syntax that is compatible with
-//        DOXYGEN and are utilized for automated document extraction
-//
-// Reference:
-/*----------------------------------------------------------------------------------------------*/
-
-#ifndef GN3S_SOURCE_H_
-#define GN3S_SOURCE_H_
-
-#include "gn3s_defines.h"
-#include "gn3s.h"
-
-/*! \ingroup CLASSES
- *
- */
-class gn3s_Source
-{
-
-	private:
-
-		/* Generic variables */
-		int source_type;		//!< Source type
-		int sample_mode;		//!< Sample mode
-		int leftover;			//!< Leftover bytes for USRP double buffering
-		int bwrite;			//!< Bytes somthing something?
-		int ms_count;			//!< Count the numbers of ms processed
-
-		bool flag_first_read;
-		/* Tag overflows */
-		time_t rawtime;
-		struct tm * timeinfo;
-
-		/* AGC Values */
-		int agc_scale;		//!< To do the AGC
-		int overflw;			//!< Overflow counter
-		int soverflw;			//!< Overflow counter
-
-		/* Data buffers */
-		signed char gbuff[GN3S_SAMPS_5MS*2]; 	//!< Byte buffer for GN3S
-		GN3S_CPX buff[GN3S_SAMPS_5MS]; 		//!< Base buffer for GN3S
-
-		/* SOURCE_SIGE_GN3S Handles */
-		gn3s *gn3s_a;
-
-	private:
-
-		void Open_GN3S();			//!< Open the SparkFun GN3S Sampler
-		void Close_GN3S();			//!< Close the SparkFun GN3S Sampler
-		void Read_GN3S(gn3s_ms_packet *_p,int n_samples);	//!< Read from the SparkFun GN3S Sampler
-
-	public:
-
-		gn3s_Source();	//!< Create the GPS source with the proper hardware type
-		~gn3s_Source();					//!< Kill the object
-		void Read(gn3s_ms_packet *_p,int n_samples);		//!< Read in a single ms of data
-		int getScale(){return(agc_scale);}
-		int getOvrflw(){return(overflw);}
-
-};
-
-#endif /* GN3S_SOURCE_H_ */
diff --git a/drivers/gr-gn3s/include/gn3s_source_cc.h b/drivers/gr-gn3s/include/gn3s_source_cc.h
deleted file mode 100644
index 2dbc7e2..0000000
--- a/drivers/gr-gn3s/include/gn3s_source_cc.h
+++ /dev/null
@@ -1,96 +0,0 @@
-/*!
- * \file gn3s_source_cc.h
- * \brief GNU Radio source block to acces to SiGe GN3S USB sampler v2.
- * \author Javier Arribas, 2012. jarribas(at)cttc.es
- *
- * -------------------------------------------------------------------------
- *
- * Copyright (C) 2010-2012  (see AUTHORS file for a list of contributors)
- *
- * GNSS-SDR is a software defined Global Navigation
- *          Satellite Systems receiver
- *
- * This file is part of GNSS-SDR.
- *
- * GNSS-SDR 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 3 of the License, or
- * at your option) any later version.
- *
- * GNSS-SDR 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 GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
- *
- * -------------------------------------------------------------------------
- */
-#ifndef INCLUDED_GN3S_SOURCE_CC_H
-#define INCLUDED_GN3S_SOURCE_CC_H
-
-#include "gn3s_api.h"
-#include <gnuradio/block.h>
-#include "gn3s_source.h"
-#include "gn3s_defines.h"
-
-class gn3s_source_cc;
-
-/*
- * We use boost::shared_ptr's instead of raw pointers for all access
- * to gr_blocks (and many other data structures).  The shared_ptr gets
- * us transparent reference counting, which greatly simplifies storage
- * management issues.  This is especially helpful in our hybrid
- * C++ / Python system.
- *
- * See http://www.boost.org/libs/smart_ptr/smart_ptr.htm
- *
- * As a convention, the _sptr suffix indicates a boost::shared_ptr
- */
-typedef boost::shared_ptr<gn3s_source_cc> gn3s_source_cc_sptr;
-
-/*!
- * \brief Return a shared_ptr to a new instance of howto_square_ff.
- *
- * To avoid accidental use of raw pointers, gn3s_source's
- * constructor is private.  gn3s_source is the public
- * interface for creating new instances.
- */
-GN3S_API gn3s_source_cc_sptr gn3s_make_source_cc ();
-
-/*!
- * \brief SiGe GN3S V2 sampler USB driver.
- * \ingroup block
- *
- * \sa gn3s_source for a version that subclasses gr_block.
- */
-class GN3S_API gn3s_source_cc : public gr::block
-{
-private:
-  // The friend declaration allows gn3s_source to
-  // access the private constructor.
-
-  /* Create the GN3S object*/
-  gn3s_Source *gn3s_drv;
-  gn3s_ms_packet packet;
-
-  friend GN3S_API gn3s_source_cc_sptr gn3s_make_source_cc ();
-
-  /*!
-   * \brief
-   */
-  gn3s_source_cc ();  	// private constructor
-
- public:
-  ~gn3s_source_cc ();	// public destructor
-
-  // Where all the action really happens
-
-  int general_work (int noutput_items,
-		    gr_vector_int &ninput_items,
-		    gr_vector_const_void_star &input_items,
-		    gr_vector_void_star &output_items);
-};
-
-#endif /* INCLUDED_GN3S_SOURCE_CC_H */
diff --git a/drivers/gr-gn3s/include/libusb_types.h b/drivers/gr-gn3s/include/libusb_types.h
deleted file mode 100644
index c0a4d5e..0000000
--- a/drivers/gr-gn3s/include/libusb_types.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*  -*- Mode: C++ -*- */
-/*
- * Copyright 2009 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * GNU Radio 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 3, or (at your option)
- * any later version.
- *
- * GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef _LIBUSB_TYPES_H_
-#define _LIBUSB_TYPES_H_
-
-#if 0
-#include <libusb-1.0/libusb.h>
-struct libusb_device;
-struct libusb_device_handle;
-struct libusb_device_descriptor;
-#else
-#include <usb.h>
-typedef struct usb_device libusb_device;
-typedef struct usb_dev_handle libusb_device_handle;
-typedef struct usb_device_descriptor libusb_device_descriptor;
-#endif
-
-#endif /* _LIBUSB_TYPES_H_ */
diff --git a/drivers/gr-gn3s/lib/CMakeLists.txt b/drivers/gr-gn3s/lib/CMakeLists.txt
deleted file mode 100644
index 1982a6d..0000000
--- a/drivers/gr-gn3s/lib/CMakeLists.txt
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright (C) 2012-2015  (see AUTHORS file for a list of contributors)
-#
-# This file is part of GNSS-SDR.
-#
-# GNSS-SDR 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 3 of the License, or
-# (at your option) any later version.
-#
-# GNSS-SDR 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 GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
-#
-
-########################################################################
-# Setup library
-########################################################################
-include(GrPlatform) #define LIB_SUFFIX
-
-add_library(gr-gn3s SHARED gn3s_source_cc.cc gn3s_source.cc gn3s.cc fusb.cc fusb_linux.cc)
-target_link_libraries(gr-gn3s ${Boost_LIBRARIES} ${GNURADIO_RUNTIME_LIBRARIES} "usb" ${LIBUSB_LIBRARIES})
-set_target_properties(gr-gn3s PROPERTIES DEFINE_SYMBOL "gr_gn3s_EXPORTS")
-
-########################################################################
-# Install built library files
-########################################################################
-install(TARGETS gr-gn3s
-    LIBRARY DESTINATION lib${LIB_SUFFIX}
-    COMPONENT "gr-gn3s"
-)
-
-########################################################################
-# Build and register unit test
-########################################################################
-find_package(Boost COMPONENTS unit_test_framework)
-
-include(GrTest)
-set(GR_TEST_TARGET_DEPS gr-gn3s)
-#turn each test cpp file into an executable with an int main() function
-add_definitions(-DBOOST_TEST_DYN_LINK -DBOOST_TEST_MAIN)
-
-add_executable(qa_gn3s_source_cc qa_gn3s_source_cc.cc)
-target_link_libraries(qa_gn3s_source_cc gr-gn3s ${Boost_LIBRARIES} "usb" ${LIBUSB_LIBRARIES})
-GR_ADD_TEST(qa_gn3s_source_cc qa_gn3s_source_cc)
-
diff --git a/drivers/gr-gn3s/lib/fusb.cc b/drivers/gr-gn3s/lib/fusb.cc
deleted file mode 100644
index fa9b62d..0000000
--- a/drivers/gr-gn3s/lib/fusb.cc
+++ /dev/null
@@ -1,59 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2003,2009 Free Software Foundation, Inc.
- * 
- * This file is part of GNU Radio
- * 
- * GNU Radio 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 3, or (at your option)
- * any later version.
- * 
- * GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "fusb.h"
-
-// ------------------------------------------------------------------------
-// 			     device handle
-// ------------------------------------------------------------------------
-
-fusb_devhandle::fusb_devhandle (libusb_device_handle *udh)
-  : d_udh (udh)
-{
-  // that's it
-};
-
-fusb_devhandle::~fusb_devhandle ()
-{
-  // nop
-}
-
-// ------------------------------------------------------------------------
-// 			     end point handle
-// ------------------------------------------------------------------------
-
-fusb_ephandle::fusb_ephandle (int endpoint, bool input_p,
-			      int block_size, int nblocks)
-  : d_endpoint (endpoint), d_input_p (input_p),
-    d_block_size (block_size), d_nblocks (nblocks), d_started (false)
-{
-  // that't it
-}
-
-fusb_ephandle::~fusb_ephandle ()
-{
-  // nop
-}
diff --git a/drivers/gr-gn3s/lib/fusb_linux.cc b/drivers/gr-gn3s/lib/fusb_linux.cc
deleted file mode 100644
index fcf2f2a..0000000
--- a/drivers/gr-gn3s/lib/fusb_linux.cc
+++ /dev/null
@@ -1,696 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2003 Free Software Foundation, Inc.
- * 
- * This file is part of GNU Radio
- * 
- * GNU Radio 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 3, or (at your option)
- * any later version.
- * 
- * GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "fusb_linux.h"
-#include "usb.h"		// libusb header
-#include <stdexcept>
-#ifdef HAVE_LINUX_COMPILER_H
-#include <linux/compiler.h>
-#endif
-#include <linux/usbdevice_fs.h>	// interface to kernel portion of user mode usb driver
-#include <sys/ioctl.h>
-#include <assert.h>
-#include <string.h>
-#include <algorithm>
-#include <errno.h>
-#include <string.h>
-#include <cstdio>
-
-
-#define MINIMIZE_TX_BUFFERING 1		// must be defined to 0 or 1
-
-
-//static const int MAX_BLOCK_SIZE = fusb_sysconfig::max_block_size();		// hard limit
-//static const int DEFAULT_BLOCK_SIZE = MAX_BLOCK_SIZE;
-static const int DEFAULT_BUFFER_SIZE = 4 * (1L << 20);				// 4 MB / endpoint
-
-static const int MAX_BLOCK_SIZE     =  16 * 1024;	// hard limit
-static const int DEFAULT_BLOCK_SIZE =   4 * 1024;	// fewer kernel memory problems
-static const int FUSB_BUFFER_SIZE   =   1 * (1L << 20); // 1MB
-
-// Totally evil and fragile extraction of file descriptor from
-// guts of libusb.  They don't install usbi.h, which is what we'd need
-// to do this nicely.
-//
-// FIXME if everything breaks someday in the future, look here...
-
-static int
-fd_from_usb_dev_handle (usb_dev_handle *udh)
-{
-  return *((int *) udh);
-}
-
-inline static void
-urb_set_ephandle (usbdevfs_urb *urb, fusb_ephandle_linux *handle)
-{
-  urb->usercontext = handle;
-}
-
-inline static fusb_ephandle_linux *
-urb_get_ephandle (usbdevfs_urb *urb)
-{
-  return (fusb_ephandle_linux *) urb->usercontext;
-}
-
-// ------------------------------------------------------------------------
-// 		   USB request block (urb) allocation
-// ------------------------------------------------------------------------
-
-static usbdevfs_urb *
-alloc_urb (fusb_ephandle_linux *self, int buffer_length, int endpoint,
-	   bool input_p, unsigned char *write_buffer)
-{
-  usbdevfs_urb	*urb = new usbdevfs_urb;
-  memset (urb, 0, sizeof (*urb));
-
-  urb->buffer_length = buffer_length;
-
-  // We allocate dedicated memory only for input buffers.
-  // For output buffers we reuse the same buffer (the kernel 
-  // copies the data at submital time)
-
-  if (input_p)
-    urb->buffer = new unsigned char [buffer_length];
-  else
-    urb->buffer = write_buffer;
-
-  // init common values
-
-  urb->type = USBDEVFS_URB_TYPE_BULK;
-  urb->endpoint = (endpoint & 0x7f) | (input_p ? 0x80 : 0);
-
-  // USBDEVFS_URB_QUEUE_BULK goes away in linux 2.5, but is needed if
-  // we are using a 2.4 usb-uhci host controller driver.  This is
-  // unlikely since we're almost always going to be plugged into a
-  // high speed host controller (ehci)
-#if 0 && defined (USBDEVFS_URB_QUEUE_BULK)
-  urb->flags = USBDEVFS_URB_QUEUE_BULK;
-#endif
-
-  urb->signr = 0;
-  urb_set_ephandle (urb, self);
-
-  return urb;
-}
-
-static void
-free_urb (usbdevfs_urb *urb)
-{
-  // if this was an input urb, free the buffer
-  if (urb->endpoint & 0x80)
-    delete [] ((unsigned char *) urb->buffer);
-
-  delete urb;
-}
-
-// ------------------------------------------------------------------------
-// 				device handle
-// ------------------------------------------------------------------------
-
-fusb_devhandle_linux::fusb_devhandle_linux (usb_dev_handle *udh)
-  : fusb_devhandle (udh)
-{
-  // that's all
-}
-
-fusb_devhandle_linux::~fusb_devhandle_linux ()
-{
-  // if there are any pending requests, cancel them and free the urbs.
-  
-  std::list<usbdevfs_urb*>::reverse_iterator it;
-
-  for (it = d_pending_rqsts.rbegin (); it != d_pending_rqsts.rend (); it++){
-    _cancel_urb (*it);
-    free_urb (*it);
-  }
-}
-
-fusb_ephandle *
-fusb_devhandle_linux::make_ephandle (int endpoint, bool input_p,
-				     int block_size, int nblocks)
-{
-  return new fusb_ephandle_linux (this, endpoint, input_p,
-				  block_size, nblocks);
-}
-
-
-// Attempt to cancel all transactions associated with eph.
-
-void
-fusb_devhandle_linux::_cancel_pending_rqsts (fusb_ephandle_linux *eph)
-{
-  std::list<usbdevfs_urb*>::reverse_iterator it;
-
-  for (it = d_pending_rqsts.rbegin (); it != d_pending_rqsts.rend (); it++){
-    if (urb_get_ephandle (*it) == eph)
-      _cancel_urb (*it);
-  }
-}
-
-void 
-fusb_devhandle_linux::pending_add (usbdevfs_urb *urb)
-{
-  d_pending_rqsts.push_back (urb);
-}
-
-usbdevfs_urb *
-fusb_devhandle_linux::pending_get ()
-{
-  if (d_pending_rqsts.empty ())
-    return 0;
-
-  usbdevfs_urb *urb = d_pending_rqsts.front ();
-  d_pending_rqsts.pop_front ();
-  return urb;
-}
-
-bool
-fusb_devhandle_linux::pending_remove (usbdevfs_urb *urb)
-{
-  std::list<usbdevfs_urb*>::iterator	result = find (d_pending_rqsts.begin (),
-						       d_pending_rqsts.end (),
-						       urb);
-  if (result == d_pending_rqsts.end ()){
-    fprintf (stderr, "fusb::pending_remove: failed to find urb in pending_rqsts: %p\n", urb);
-    return false;
-  }
-  d_pending_rqsts.erase (result);
-  return true;
-}
-
-/*
- * Submit the urb to the kernel.
- * iff successful, the urb will be placed on the devhandle's pending list.
- */
-bool
-fusb_devhandle_linux::_submit_urb (usbdevfs_urb *urb)
-{
-  int	ret;
-
-  ret = ioctl (fd_from_usb_dev_handle (d_udh), USBDEVFS_SUBMITURB, urb);
-  if (ret < 0){
-    perror ("fusb::_submit_urb");
-    return false;
-  }
-  
-  pending_add (urb);
-  return true;
-}
-
-/*
- * Attempt to cancel the in pending or in-progress urb transaction.
- * Return true iff transaction was sucessfully cancelled.
- *
- * Failure to cancel should not be considered a problem.  This frequently
- * occurs if the transaction has already completed in the kernel but hasn't
- * yet been reaped by the user mode code.
- *
- * urbs which were cancelled have their status field set to -ENOENT when
- * they are reaped.
- */
-bool
-fusb_devhandle_linux::_cancel_urb (usbdevfs_urb *urb)
-{
-  int ret = ioctl (fd_from_usb_dev_handle (d_udh), USBDEVFS_DISCARDURB, urb);
-  if (ret < 0){
-    // perror ("fusb::_cancel_urb");
-    return false;
-  }
-  return true;
-}
-
-/*
- * Check with the kernel and see if any of our outstanding requests
- * have completed.  For each completed transaction, remove it from the
- * devhandle's pending list and append it to the completed list for
- * the corresponding endpoint.
- *
- * If any transactions are reaped return true.
- *
- * If ok_to_block_p is true, then this will block until at least one
- * transaction completes or an unrecoverable error occurs.
- */
-bool
-fusb_devhandle_linux::_reap (bool ok_to_block_p)
-{
-  int		ret;
-  int		nreaped = 0;
-  usbdevfs_urb	*urb = 0;
-
-  int	fd = fd_from_usb_dev_handle (d_udh);
-  
-  // try to reap as many as possible without blocking...
-
-  while ((ret = ioctl (fd, USBDEVFS_REAPURBNDELAY, &urb)) == 0){
-    if (urb->status != 0 && urb->status != -ENOENT){
-      fprintf (stderr, "_reap: usb->status = %d, actual_length = %5d\n",
-	       urb->status, urb->actual_length);
-    }
-    pending_remove (urb);
-    urb_get_ephandle (urb)->completed_list_add (urb);
-    nreaped++;
-  }
-
-  if (nreaped > 0)		// if we got any, return w/o blocking
-    return true;
-
-  if (!ok_to_block_p)
-    return false;
-  
-  ret = ioctl (fd, USBDEVFS_REAPURB, &urb);
-  if (ret < 0){
-    perror ("fusb::_reap");
-    return false;
-  }
-
-  pending_remove (urb);
-  urb_get_ephandle (urb)->completed_list_add (urb);
-  return true;
-}
-
-void
-fusb_devhandle_linux::_wait_for_completion ()
-{
-  while (!d_pending_rqsts.empty ())
-    if (!_reap(true))
-      break;
-}
-
// ------------------------------------------------------------------------
-// 			     end point handle
-// ------------------------------------------------------------------------
-
-fusb_ephandle_linux::fusb_ephandle_linux (fusb_devhandle_linux *devhandle,
-					  int endpoint,
-					  bool input_p,
-					  int block_size, int nblocks)
-  : fusb_ephandle (endpoint, input_p, block_size, nblocks),
-    d_devhandle (devhandle), 
-    d_write_work_in_progress (0), d_write_buffer (0),
-    d_read_work_in_progress (0), d_read_buffer (0), d_read_buffer_end (0)
-{
-
-  if (d_block_size < 0 || d_block_size > MAX_BLOCK_SIZE)
-    throw std::out_of_range ("fusb_ephandle_linux: block_size");
-
-  if (d_nblocks < 0)
-    throw std::out_of_range ("fusb_ephandle_linux: nblocks");
-
-  if (d_block_size == 0)
-    d_block_size = DEFAULT_BLOCK_SIZE;
-
-  if (d_nblocks == 0)
-    d_nblocks = std::max (1, DEFAULT_BUFFER_SIZE / d_block_size);
-
-  if (!d_input_p)
-    if (!MINIMIZE_TX_BUFFERING)
-      d_write_buffer = new unsigned char [d_block_size];
-
-  if (0)
-    fprintf(stderr, "fusb_ephandle_linux::ctor: d_block_size = %d  d_nblocks = %d\n",
-	    d_block_size, d_nblocks);
-
-  // allocate urbs
-
-  for (int i = 0; i < d_nblocks; i++)
-    d_free_list.push_back (alloc_urb (this, d_block_size, d_endpoint,
-				      d_input_p, d_write_buffer));
-}
-
-fusb_ephandle_linux::~fusb_ephandle_linux ()
-{
-  stop ();
-
-  usbdevfs_urb *urb;
-
-  while ((urb = free_list_get ()) != 0)
-    free_urb (urb);
-
-  while ((urb = completed_list_get ()) != 0)
-    free_urb (urb);
-
-  if (d_write_work_in_progress)
-    free_urb (d_write_work_in_progress);
-
-  delete [] d_write_buffer;
-
-  if (d_read_work_in_progress)
-    free_urb (d_read_work_in_progress);
-}
-
-// ----------------------------------------------------------------
-
-bool
-fusb_ephandle_linux::start ()
-{
-  if (d_started)
-    return true;		// already running
-
-  d_started = true;
-
-  if (d_input_p){		// fire off all the reads
-    usbdevfs_urb *urb;
-
-    int nerrors = 0;
-    while ((urb = free_list_get ()) != 0 && nerrors < d_nblocks){
-      if (!submit_urb (urb))
-	nerrors++;
-    }
-  }
-
-  return true;
-}
-
-//
-// kill all i/o in progress.
-// kill any completed but unprocessed transactions.
-//
-bool
-fusb_ephandle_linux::stop ()
-{
-  if (!d_started)
-    return true;
-
-  if (d_write_work_in_progress){
-    free_list_add (d_write_work_in_progress);
-    d_write_work_in_progress = 0;
-  }
-
-  if (d_read_work_in_progress){
-    free_list_add (d_read_work_in_progress);
-    d_read_work_in_progress = 0;
-    d_read_buffer = 0;
-    d_read_buffer_end = 0;
-  }
-
-  d_devhandle->_cancel_pending_rqsts (this);
-  d_devhandle->_reap (false);
-
-  while (1){
-    usbdevfs_urb *urb;
-    while ((urb = completed_list_get ()) != 0)
-      free_list_add (urb);
-
-    if (d_free_list.size () == (unsigned) d_nblocks)
-      break;
-
-    if (!d_devhandle->_reap(true))
-      break;
-  }
-
-  d_started = false;
-  return true;
-}
-
-// ----------------------------------------------------------------
-//			routines for writing 
-// ----------------------------------------------------------------
-
-#if (MINIMIZE_TX_BUFFERING)
-
-int 
-fusb_ephandle_linux::write(const void *buffer, int nbytes)
-{
-  if (!d_started)
-    return -1;
-  
-  if (d_input_p)
-    return -1;
-
-  assert(nbytes % 512 == 0);
-
-  unsigned char *src = (unsigned char *) buffer;
-
-  int n = 0;
-  while (n < nbytes){
-
-    usbdevfs_urb *urb = get_write_work_in_progress();
-    if (!urb)
-      return -1;
-    assert(urb->actual_length == 0);
-    int m = std::min(nbytes - n, MAX_BLOCK_SIZE);
-    urb->buffer = src;
-    urb->buffer_length = m;
-
-    n += m;
-    src += m;
-
-    if (!submit_urb(urb))
-      return -1;
-
-    d_write_work_in_progress = 0;
-  }
-
-  return n;
-}
-
-#else
-
-int 
-fusb_ephandle_linux::write (const void *buffer, int nbytes)
-{
-  if (!d_started)
-    return -1;
-  
-  if (d_input_p)
-    return -1;
-
-  unsigned char *src = (unsigned char *) buffer;
-
-  int n = 0;
-  while (n < nbytes){
-
-    usbdevfs_urb *urb = get_write_work_in_progress ();
-    if (!urb)
-      return -1;
-    unsigned char *dst = (unsigned char *) urb->buffer;
-    int m = std::min (nbytes - n, urb->buffer_length - urb->actual_length);
-
-    memcpy (&dst[urb->actual_length], &src[n], m);
-    urb->actual_length += m;
-    n += m;
-
-    if (urb->actual_length == urb->buffer_length){
-      if (!submit_urb (urb))
-	return -1;
-      d_write_work_in_progress = 0;
-    }
-  }
-
-  return n;
-}
-
-#endif
-
-usbdevfs_urb *
-fusb_ephandle_linux::get_write_work_in_progress ()
-{
-  // if we've already got some work in progress, return it
-
-  if (d_write_work_in_progress)
-    return d_write_work_in_progress;
-
-  while (1){
-
-    reap_complete_writes ();
-
-    usbdevfs_urb *urb = free_list_get ();
-
-    if (urb != 0){
-      assert (urb->actual_length == 0);
-      d_write_work_in_progress = urb;
-      return urb;
-    }
-
-    // The free list is empty.  Tell the device handle to reap.
-    // Anything it reaps for us will end up on our completed list.
-
-    if (!d_devhandle->_reap (true))
-      return 0;
-  }
-}
-
-void
-fusb_ephandle_linux::reap_complete_writes ()
-{
-  // take a look at the completed_list and xfer to free list after
-  // checking for errors.
-
-  usbdevfs_urb *urb;
-  
-  while ((urb = completed_list_get ()) != 0){
-
-    // Check for any errors or short writes that were reported in the urb.
-    // The kernel sets status, actual_length and error_count.
-    // error_count is only used for ISO xfers.
-    // status is 0 if successful, else is an errno kind of thing
-
-    if (urb->status != 0){
-      fprintf (stderr, "fusb: (status %d) %s\n", urb->status, strerror (-urb->status));
-    }
-    else if (urb->actual_length != urb->buffer_length){
-      fprintf (stderr, "fusb: short write xfer: %d != %d\n",
-	       urb->actual_length, urb->buffer_length);
-    }
-
-    free_list_add (urb);
-  }
-}
-
-void
-fusb_ephandle_linux::wait_for_completion ()
-{
-  d_devhandle->_wait_for_completion ();
-}
-
-// ----------------------------------------------------------------
-//		       routines for reading
-// ----------------------------------------------------------------
-
-int
-fusb_ephandle_linux::read (void *buffer, int nbytes)
-{
-  if (!d_started)
-    return -1;
-  
-  if (!d_input_p)
-    return -1;
-
-  unsigned char *dst = (unsigned char *) buffer;
-
-  int n = 0;
-  while (n < nbytes){
-
-    if (d_read_buffer >= d_read_buffer_end)
-      if (!reload_read_buffer ())
-	return -1;
-
-    int m = std::min (nbytes - n, (int) (d_read_buffer_end - d_read_buffer));
-
-    memcpy (&dst[n], d_read_buffer, m);
-    d_read_buffer += m;
-    n += m;
-  }
-
-  return n;
-}
-
-bool
-fusb_ephandle_linux::reload_read_buffer ()
-{
-  assert (d_read_buffer >= d_read_buffer_end);
-
-  usbdevfs_urb *urb;
-
-  if (d_read_work_in_progress){
-    // We're done with this urb.  Fire off a read to refill it.
-    urb = d_read_work_in_progress;
-    d_read_work_in_progress = 0;
-    d_read_buffer = 0;
-    d_read_buffer_end = 0;
-    urb->actual_length = 0;
-    if (!submit_urb (urb))
-      return false;
-  }
-
-  while (1){
-
-    while ((urb = completed_list_get ()) == 0)
-      if (!d_devhandle->_reap (true))
-	return false;
-
-    // check result of completed read
-
-    if (urb->status != 0){
-      // We've got a problem. Report it and fail.
-      fprintf (stderr, "fusb: (rd status %d) %s\n", urb->status, strerror (-urb->status));
-      urb->actual_length = 0;
-      free_list_add (urb);
-      return false;
-    }
-
-    // we've got a happy urb, full of data...
-
-    d_read_work_in_progress = urb;
-    d_read_buffer = (unsigned char *) urb->buffer;
-    d_read_buffer_end = d_read_buffer + urb->actual_length;
-
-    return true;
-  }
-}
-
-// ----------------------------------------------------------------
-
-void
-fusb_ephandle_linux::free_list_add (usbdevfs_urb *urb)
-{
-  assert (urb_get_ephandle (urb) == this);
-  urb->actual_length = 0;
-  d_free_list.push_back (urb);
-}
-
-usbdevfs_urb *
-fusb_ephandle_linux::free_list_get ()
-{
-  if (d_free_list.empty ())
-    return 0;
-
-  usbdevfs_urb *urb = d_free_list.front ();
-  d_free_list.pop_front ();
-  return urb;
-}
-
-void
-fusb_ephandle_linux::completed_list_add (usbdevfs_urb *urb)
-{
-  assert (urb_get_ephandle (urb) == this);
-  d_completed_list.push_back (urb);
-}
-
-usbdevfs_urb *
-fusb_ephandle_linux::completed_list_get ()
-{
-  if (d_completed_list.empty ())
-    return 0;
-
-  usbdevfs_urb *urb = d_completed_list.front ();
-  d_completed_list.pop_front ();
-  return urb;
-}
-
-/*
- * Submit the urb.  If successful the urb ends up on the devhandle's
- * pending list, otherwise, it's back on our free list.
- */
-bool
-fusb_ephandle_linux::submit_urb (usbdevfs_urb *urb)
-{
-  if (!d_devhandle->_submit_urb (urb)){    // FIXME record the problem somewhere
-    fprintf (stderr, "_submit_urb failed\n");
-    free_list_add (urb);
-    return false;
-  }
-  return true;
-}
diff --git a/drivers/gr-gn3s/lib/fusb_sysconfig_linux.cc b/drivers/gr-gn3s/lib/fusb_sysconfig_linux.cc
deleted file mode 100644
index cb0e2bc..0000000
--- a/drivers/gr-gn3s/lib/fusb_sysconfig_linux.cc
+++ /dev/null
@@ -1,49 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2003,2009 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * GNU Radio 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 3, or (at your option)
- * any later version.
- *
- * GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street,
- * Boston, MA 02110-1301, USA.
- */
-
-#include "fusb.h"
-#include "fusb_linux.h"
-
-static const int MAX_BLOCK_SIZE     =  16 * 1024;	// hard limit
-static const int DEFAULT_BLOCK_SIZE =   4 * 1024;	// fewer kernel memory problems
-static const int FUSB_BUFFER_SIZE   =   1 * (1L << 20); // 1MB
-
-fusb_devhandle *
-fusb_sysconfig::make_devhandle (usb_dev_handle *udh, libusb_context *ctx)
-{
-  return new fusb_devhandle_linux (udh);
-}
-
-int fusb_sysconfig::max_block_size ()
-{
-  return MAX_BLOCK_SIZE;
-}
-
-int fusb_sysconfig::default_block_size ()
-{
-  return DEFAULT_BLOCK_SIZE;
-}
-
-int fusb_sysconfig::default_buffer_size ()
-{
-  return FUSB_BUFFER_SIZE;
-}
diff --git a/drivers/gr-gn3s/lib/gn3s.cc b/drivers/gr-gn3s/lib/gn3s.cc
deleted file mode 100644
index 372237b..0000000
--- a/drivers/gr-gn3s/lib/gn3s.cc
+++ /dev/null
@@ -1,549 +0,0 @@
-/*----------------------------------------------------------------------------------------------*/
-/*! \file gn3s.cpp
-//
-// FILENAME: gn3s.cpp
-//
-// DESCRIPTION: Impelements the GN3S class.
-//
-// DEVELOPERS: Gregory W. Heckler (2003-2009)
-//
-// LICENSE TERMS: Copyright (c) Gregory W. Heckler 2009
-//
-// This file is part of the GPS Software Defined Radio (GPS-SDR)
-//
-// The GPS-SDR 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. The GPS-SDR 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.
-//
-// Note:  Comments within this file follow a syntax that is compatible with
-//        DOXYGEN and are utilized for automated document extraction
-//
-// Reference:
-*/
-/*----------------------------------------------------------------------------------------------*/
-
-#include "gn3s.h"
-#include <iostream>
-#include <fstream>
-#include <stdlib.h>
-#include <usb.h>
-#include "fusb_linux.h"
-
-static char debug = 1; //!< 1 = Verbose
-
-/*----------------------------------------------------------------------------------------------*/
-gn3s::gn3s(int _which)
-{
-
-		//int fsize;
-		bool ret;
-		which = _which;
-
-		fx2_device 	= NULL;
-		fx2_handle 	= NULL;
-		gn3s_vid 	= GN3S_VID;
-		gn3s_pid 	= GN3S_PID;
-
-		/* Get the firmware embedded in the executable */
-		//fstart = (int) &_binary_usrp_gn3s_firmware_ihx_start;
-		//fsize = strlen(_binary_usrp_gn3s_firmware_ihx_start);
-		//gn3s_firmware = new char[fsize + 10];
-		//memcpy(&gn3s_firmware[0], (void *)fstart, fsize);
-
-		// Load the firmware from external file (Javier)
-
-
-		//gn3s_firmware[fsize] = NULL;
-
-		/* Search all USB busses for the device specified by VID/PID */
-		fx2_device = usb_fx2_find(gn3s_vid, gn3s_pid, debug, 0);
-		if (!fx2_device)
-		{
-			/* Program the board */
-			ret = prog_gn3s_board();
-			if(ret)
-			{
-				fprintf(stdout, "Could not flash GN3S device\n");
-				throw(1);
-			}
-
-			/* Need to wait to catch change */
-			sleep(2);
-
-			/* Search all USB busses for the device specified by VID/PID */
-			fx2_device = usb_fx2_find(gn3s_vid, gn3s_pid, debug, 0);
-		}
-		else
-		{
-			fprintf(stdout, "Found GN3S Device\n");
-		}
-
-		/* Open and configure FX2 device if found... */
-		ret = usb_fx2_configure(fx2_device, &fx2_config);
-		if(ret)
-		{
-			fprintf(stdout, "Could not obtain a handle to the GN3S device\n");
-			throw(1);
-
-	}
-
-}
-/*----------------------------------------------------------------------------------------------*/
-
-
-/*----------------------------------------------------------------------------------------------*/
-gn3s::~gn3s()
-{
-
-	usrp_xfer(VRQ_XFER, 0);
-
-	//delete gn3s_firmware;
-	delete fx2_config.d_ephandle;
-	delete fx2_config.d_devhandle;
-
-	usb_release_interface(fx2_config.udev, fx2_config.interface);
-	usb_close(fx2_config.udev);
-
-}
-/*----------------------------------------------------------------------------------------------*/
-
-
-/*----------------------------------------------------------------------------------------------*/
-int gn3s::prog_gn3s_board()
-{
-
-	char a;
-	struct usb_bus *bus;
-	struct usb_device *dev;
-	//struct usb_dev_handle *han;
-	int vid, pid;
-
-	dev = NULL;
-
-	usb_init();
-	usb_find_busses();
-	usb_find_devices();
-
-	vid = (VID_OLD);
-	pid = (PID_OLD);
-
-	for(bus = usb_busses; bus; bus = bus->next)
-	{
-		for(dev = bus->devices; dev; dev = dev->next)
-		{
-			if((dev->descriptor.idVendor == vid) &&	(dev->descriptor.idProduct == pid))
-			{
-				fx2_device = dev;
-				fprintf(stdout,"GN3S Device Found... awaiting firmware flash \n");
-				break;
-			}
-		}
-	}
-
-	if(fx2_device == NULL)
-	{
-		fprintf(stderr,"Cannot find vid 0x%x pid 0x%x \n", vid, pid);
-		return -1;
-	}
-
-	printf("Using device vendor id 0x%04x product id 0x%04x\n",
-			fx2_device->descriptor.idVendor, fx2_device->descriptor.idProduct);
-
-	fx2_handle = usb_open(fx2_device);
-
-	/* Do the first set 0xE600 1 */
-	char c[] = "1";
-	char d[] = "0";
-
-	a = atoz(c);
-
-	fprintf(stdout,"GN3S flashing ... \n");
-
-	upload_ram(&a, (PROG_SET_CMD),1);
-
-	program_fx2(NULL, 1);
-
-	a = atoz(d);
-
-	upload_ram(&a, (PROG_SET_CMD),1);
-
-	fprintf(stdout,"GN3S flash complete! \n");
-
-	usb_close(fx2_handle);
-
-	return(0);
-}
-/*----------------------------------------------------------------------------------------------*/
-
-
-/*----------------------------------------------------------------------------------------------*/
-int gn3s::atoz(char *s)
-{
-    int a;
-    if(!strncasecmp("0x", s, 2)){
-        sscanf(s, "%x", &a);
-        return a;
-    }
-    return atoi(s);
-}
-/*----------------------------------------------------------------------------------------------*/
-
-
-/*----------------------------------------------------------------------------------------------*/
-void gn3s::upload_ram(char *buf, int start, int len)
-{
-	int i;
-	int tlen;
-	int quanta = 16;
-	int a;
-
-	for (i = start; i < start + len; i += quanta) {
-		tlen = len + start - i;
-
-		if (tlen > quanta)
-			tlen = quanta;
-
-		if (debug >= 3)
-			printf("i = %d, tlen = %d \n", i, tlen);
-		a = usb_control_msg(fx2_handle, 0x40, 0xa0, i, 0,
-				buf + (i - start), tlen, 1000);
-
-		if (a < 0) {
-			fprintf(stderr, "Request to upload ram contents failed: %s\n",
-					usb_strerror());
-			return;
-		}
-	}
-}
-/*----------------------------------------------------------------------------------------------*/
-
-
-/*----------------------------------------------------------------------------------------------*/
-void gn3s::program_fx2(char *filename, char mem)
-{
-	FILE *f;
-	char s[1024];
-	char data[256];
-	char checksum, a;
-	int length, addr, type, i;
-	unsigned int b;
-
-	// *** mod javier: load firmware from external file ***
-
-	//f = tmpfile();
-
-	/* Dump firmware into temp file */
-	//fputs(gn3s_firmware, f);
-	//rewind(f);
-
-	  f = fopen ("gn3s_firmware.ihx","r");
-	  if (f!=NULL)
-	  {
-		printf("GN3S firmware file found!\n");
-	  }else{
-		  printf("Could not open GN3S firmware file!\n");
-		  return;
-	  }
-
-	while (!feof(f)) {
-		fgets(s, 1024, f); /* we should not use more than 263 bytes normally */
-
-		if (s[0] != ':') {
-			fprintf(stderr, "%s: invalid string: \"%s\"\n", filename, s);
-			continue;
-		}
-
-		sscanf(s + 1, "%02x", &length);
-		sscanf(s + 3, "%04x", &addr);
-		sscanf(s + 7, "%02x", &type);
-
-		if (type == 0) {
-			// printf("Programming %3d byte%s starting at 0x%04x",
-			//     length, length==1?" ":"s", addr);
-			a = length + (addr & 0xff) + (addr >> 8) + type;
-
-			for (i = 0; i < length; i++) {
-				sscanf(s + 9 + i * 2, "%02x", &b);
-				data[i] = b;
-				a = a + data[i];
-			}
-
-			sscanf(s + 9 + length * 2, "%02x", &b);
-			checksum = b;
-
-			if (((a + checksum) & 0xff) != 0x00) {
-				printf("  ** Checksum failed: got 0x%02x versus 0x%02x\n", (-a)
-						& 0xff, checksum);
-				continue;
-			} else {
-				//printf(", checksum ok\n");
-			}
-
-			upload_ram(data, addr, length);
-
-		} else {
-			if (type == 0x01) {
-				printf("End of file\n");
-				fclose(f);
-
-				return;
-			} else {
-				if (type == 0x02) {
-					printf("Extended address: whatever I do with it ?\n");
-					continue;
-				}
-			}
-		}
-	}
-
-	fclose(f);
-}
-/*----------------------------------------------------------------------------------------------*/
-
-
-/*----------------------------------------------------------------------------------------------*/
-struct usb_device* gn3s::usb_fx2_find(int vid, int pid, char info, int ignore)
-{
-	struct usb_bus *bus;
-	struct usb_device *dev;
-	struct usb_device *fx2 = NULL;
-	usb_dev_handle *udev;
-	int count = 0;
-	int ret;
-	char str[256];
-
-	usb_init();
-	usb_find_busses();
-	usb_find_devices();
-
-	for(bus = usb_busses; bus; bus = bus->next)
-	{
-		for(dev = bus->devices; dev; dev = dev->next)
-		{
-			if((dev->descriptor.idVendor == vid) && (dev->descriptor.idProduct == pid))
-			{
-				fx2 = dev;
-			}
-
-			if(fx2 != NULL && info)
-			{
-				udev = usb_open(fx2);
-				if(udev && dev->descriptor.idVendor == vid && dev->descriptor.idProduct == pid && count < ignore)
-				{
-					if(fx2->descriptor.iManufacturer)
-					{
-						ret = usb_get_string_simple(udev, fx2->descriptor.iManufacturer, str, sizeof(str));
-
-						if(ret > 0)
-							printf("- Manufacturer : %s\n", str);
-						else
-							printf("- Unable to fetch manufacturer string\n");
-					}
-
-					if(fx2->descriptor.iProduct)
-					{
-						ret = usb_get_string_simple(udev, fx2->descriptor.iProduct, str, sizeof(str));
-
-						if(ret > 0)
-							printf("- Product : %s\n", str);
-						else
-							printf("- Unable to fetch product string\n");
-					}
-
-					if(fx2->descriptor.iSerialNumber)
-					{
-						ret = usb_get_string_simple(udev, fx2->descriptor.iSerialNumber, str, sizeof(str));
-
-						if(ret > 0)
-							printf("- Serial Number: %s\n", str);
-						else
-							printf("- Unable to fetch serial number string\n");
-					}
-
-					usb_close (udev);
-					return fx2;
-				}
-				else if(udev && dev->descriptor.idVendor == vid && dev->descriptor.idProduct == pid && count >= ignore)
-				{
-					count++;
-				}
-
-				if(!fx2->config)
-				{
-					printf(" Could not retrieve descriptors\n");
-					continue;
-				}
-
-				for(int i = 0; i < fx2->descriptor.bNumConfigurations; i++)
-				{
-					//print_configuration(&fx2->config[i]);
-				}
-			}
-		}
-	}
-
-	return fx2;
-}
-/*----------------------------------------------------------------------------------------------*/
-
-
-/*----------------------------------------------------------------------------------------------*/
-bool gn3s::usb_fx2_configure(struct usb_device *fx2, fx2Config *fx2c)
-{
-
-  char status = 0;
-  int interface = RX_INTERFACE;
-  int altinterface = RX_ALTINTERFACE;
-  usb_dev_handle *udev;
-  fusb_ephandle *d_ephandle;
-  fusb_devhandle *d_devhandle;
-
-  udev = usb_open(fx2);
-
-  if(!udev)
-  {
-      fprintf(stdout, "Could not obtain a handle to GNSS Front-End device \n");
-      return -1;
-  }
-  else
-  {
-	  if(debug)
-		  printf("Received handle for GNSS Front-End device \n");
-
-      if(usb_set_configuration (udev, 1) < 0)
-      {
-          fprintf (stdout,
-                  "error in %s, \n%s \n",
-                  __FUNCTION__,
-                  usb_strerror());
-          usb_close (udev);
-          status = -1;
-      }
-
-      if(usb_claim_interface (udev, interface) < 0)
-      {
-          fprintf (stdout,
-                  "error in %s, \n%s \n",
-                  __FUNCTION__,
-                  usb_strerror());
-          usb_close (udev);
-          fprintf (stdout, "\nDevice not programmed? \n");
-          usb_close (udev);
-          status = -1;
-          throw(0);
-      }
-
-      if(usb_set_altinterface (udev, altinterface) < 0)
-      {
-          fprintf (stdout,
-                  "error in %s, \n%s \n",
-                  __FUNCTION__,
-                  usb_strerror());
-          usb_close (udev);
-          usb_release_interface (udev, interface);
-          usb_close (udev);
-          status = -1;
-      }
-
-      d_devhandle = make_devhandle(udev);
-      d_ephandle = d_devhandle->make_ephandle(RX_ENDPOINT, true, FUSB_BLOCK_SIZE, FUSB_NBLOCKS);
-
-      if(!d_ephandle->start())
-      {
-          fprintf (stdout, "usrp0_rx: failed to start end point streaming");
-          usb_strerror ();
-          status = -1;
-      }
-
-      if(status == 0)
-      {
-          fx2c->interface = interface;
-          fx2c->altinterface = altinterface;
-          fx2c->udev = udev;
-          fx2c->d_devhandle = d_devhandle;
-          fx2c->d_ephandle = d_ephandle;
-          return 0;
-      }
-      else
-      {
-          return -1;
-      }
-  }
-}
-/*----------------------------------------------------------------------------------------------*/
-
-
-/*----------------------------------------------------------------------------------------------*/
-fusb_devhandle* gn3s::make_devhandle(usb_dev_handle *udh)
-{
-  return new fusb_devhandle_linux(udh);
-}
-/*----------------------------------------------------------------------------------------------*/
-
-
-/*----------------------------------------------------------------------------------------------*/
-int gn3s::read(void *buff, int bytes)
-{
-	return(fx2_config.d_ephandle->read(buff, bytes));
-}
-/*----------------------------------------------------------------------------------------------*/
-
-
-/*----------------------------------------------------------------------------------------------*/
-bool gn3s::check_rx_overrun()
-{
-	bool overrun;
-
-	_get_status(GS_RX_OVERRUN, &overrun);
-
-	return(overrun);
-}
-/*----------------------------------------------------------------------------------------------*/
-
-
-/*----------------------------------------------------------------------------------------------*/
-bool gn3s::_get_status(int command, bool *trouble)
-{
-	unsigned char status;
-
-	if(write_cmd(VRQ_GET_STATUS, 0, command, &status, sizeof(status)) != sizeof (status))
-		return false;
-
-	*trouble = status;
-	return true;
-}
-/*----------------------------------------------------------------------------------------------*/
-
-
-/*----------------------------------------------------------------------------------------------*/
-bool gn3s::usrp_xfer(char VRQ_TYPE, bool start)
-{
-  int r;
-
-  r = write_cmd(VRQ_TYPE, start, 0, 0, 0);
-
-  return(r == 0);
-}
-/*----------------------------------------------------------------------------------------------*/
-
-
-/*----------------------------------------------------------------------------------------------*/
-int gn3s::write_cmd(int request, int value, int index, unsigned char *bytes, int len)
-{
-	int requesttype;
-	int r;
-
-	requesttype = (request & 0x80) ? VRT_VENDOR_IN : VRT_VENDOR_OUT;
-	r = usb_control_msg (fx2_config.udev, requesttype, request, value, index, (char *) bytes, len, 1000);
-	if(r < 0)
-	{
-		/* We get EPIPE if the firmware stalls the endpoint. */
-		if(errno != EPIPE)
-			fprintf (stdout, "usb_control_msg failed: %s\n", usb_strerror());
-	}
-	return r;
-}
-/*----------------------------------------------------------------------------------------------*/
diff --git a/drivers/gr-gn3s/lib/gn3s_firmware.ihx b/drivers/gr-gn3s/lib/gn3s_firmware.ihx
deleted file mode 100644
index faad32a..0000000
--- a/drivers/gr-gn3s/lib/gn3s_firmware.ihx
+++ /dev/null
@@ -1,526 +0,0 @@
-:06000000020FE702006B95
-:03000B0002006B85
-:0300130002006B7D
-:03001B0002006B75
-:0300230002006B6D
-:03002B0002006B65
-:0300330002006B5D
-:03003B0002006B55
-:0300430002006B4D
-:03004B0002006B45
-:0300530002006B3D
-:03005B0002006B35
-:0300630002006B2D
-:01006B003262
-:0900800002006B0002006B00029B
-:08008900006B0002006B000295
-:08009100006B0002006B00028D
-:08009900006B0002006B000285
-:0800A100006B0002006B00027D
-:0800A900006B0002006B000275
-:0700B100006B0002006B0070
-:0901000002006B0002006B00021A
-:08010900006B0002006B000214
-:08011100006B0002006B00020C
-:08011900006B0002006B000204
-:08012100006B0002006B0002FC
-:08012900006B0002006B0002F4
-:08013100006B0002006B0002EC
-:08013900006B0002006B0002E4
-:08014100006B0002006B0002DC
-:08014900006B0002006B0002D4
-:08015100006B0002006B0002CC
-:08015900006B0002006B0002C4
-:08016100006B0002006B0002BC
-:08016900006B0002006B0002B4
-:08017100006B0002006B0002AC
-:07017900006B0002006B00A7
-:030FF000020FF3FA
-:030FE700750A0088
-:0310060002018064
-:0501800012018580FE64
-:0701850012057A12060212B6
-:08018C000661120560C2AF120A
-:0A0194000F1A120A7BD2EAD2AF1252
-:06019E0009901206830225
-:0201A40005272D
-:0501A60090E68BE4F07F
-:0901AB0090E6A0E0FA20E1F82240
-:0A01B40090E6B8E0FABAC00280033A
-:0301BE0002031425
-:0A01C10090E6B9E0FABA800280125D
-:0501CB00BAA2028057FA
-:0501D000BAA3028052F9
-:0501D500BAA9028047F9
-:0301DA000203100D
-:0E01DD0090E6BCE0FA601EBA013690E6C1E082
-:0E01EB00FA235401FA90E740F090E68AE4F01F
-:0901F90090E68B7401F00205236D
-:0E02020090E6C1E0FA235401FA90E740F09034
-:0D021000E68AE4F090E68B7401F00205230D
-:04021D0075820022C4
-:060221007508014309010C
-:0A02270090E6BAE0FA8A0B750C00AD
-:0C02310090E6BBE0FC8C05E4FC420BED09
-:0A023D00420C90E6BEE0FC8C0D754B
-:0C0247000E0090E6BFE0FE8E07E4FE42D1
-:040253000DEF420E5B
-:07025700E50D450E700302E6
-:02025E00052376
-:0C02600090E6A0E0FE20E1F8C3E50D945C
-:0A026C0040E50E94005006AE0DAF01
-:030276000E8004F3
-:040279007E407F0044
-:0C027D0090E6B9E0F8B8A32D7A007B00F1
-:0E028900C3EA9EEB9F505EEA2440FCEB34E794
-:0A029700FDA80BA90CEA28F582EB84
-:0E02A10039F583E0F88C828D83F00ABA00DA1A
-:0302AF000B80D7EA
-:0402B2007C007D004F
-:0E02B600C3EC9EED9F5014EC2440F582ED3415
-:0D02C400E7F58374CDF00CBC00E80D80E57B
-:0902D1008E137C407DE78C148D36
-:0502DA0015850B828573
-:0C02DF000C83C006C007120779D007D0BE
-:0302EB0006E433F3
-:0C02EE0090E68AE4F090E68BEEF0EE253E
-:0502FA000BF50BEF35D0
-:0402FF000CF50CE509
-:060303000DC39EF50DE59F
-:050309000E9FF50E023D
-:02030E00025794
-:0403100075820022D0
-:0A03140090E6B8E0FCBC4002800354
-:03031E0002051FB6
-:0A03210090E6B9E0FCBC0102801573
-:06032B00BCA2030203D88E
-:06033100BCA3030203D887
-:06033700BCA9030203D281
-:03033D0002051B9B
-:0D03400090E6BAE0606390E6C67480F0902D
-:0E034D00E6C774EDF090E6C8E4F090E6C9F063
-:0E035B0090E6CAF090E6CBF090E6CC7403F08A
-:0D03690090E6CD7402F090E60CE4F00090F8
-:0E037600E6F574FFF00075BB000090E6C7745A
-:0E038400EDF00090E6047480F00090E6047442
-:0E03920002F00090E6047406F00090E604E429
-:0903A000F00075BB060002052304
-:0E03A90075BB000090E6F574FFF00090E604CE
-:0E03B7007480F00090E6047402F00090E604FA
-:0D03C5007406F00090E604E4F00002052349
-:0603D2007508014309015A
-:0A03D80090E6BAE0FC8C0B750C00F7
-:0C03E20090E6BBE0FC8C05E4FC420BED57
-:0A03EE00420C90E6BEE0FC8C0D7599
-:0C03F8000E0090E6BFE0FC8C05E4FC4227
-:050404000DED420EE5C4
-:080409000A70061208AA8582A0
-:010411000AE0
-:07041200E50D450E70030229
-:020419000523B9
-:09041B0090E68AE4F090E68BF013
-:0E04240090E6A0E0FC20E1F890E68BE0FC8C76
-:0E043200067F0090E6B9E0FCBCA3307A007BA8
-:0104400000BB
-:0A044100C3EA9EEB9F40030205038F
-:0A044B00A80BA90CEA28F8EB39F918
-:0E045500EA2440F582EB34E7F583E0FC888270
-:0A0463008983F00ABA00D70B80D499
-:04046D007C007D0092
-:0A047100C3EC9EED9F40030205035B
-:09047B00E50AF50FB40102804608
-:09048400EC250BF9ED350CF8AA8A
-:08048D000A7B001ABAFF011BF3
-:0C049500EA5201EB5200E9486010AA0B8B
-:0A04A100ECFB2AFAE50A145AD39581
-:0404AB000AF4F50F4B
-:0C04AF00EEC39CFAEF9DFBA80F7900C380
-:0E04BB00EA98EB9950098E028C03EAC39BF578
-:0104C9000F23
-:0A04CA00EC250BF582ED350CF583EF
-:0A04D400EC2440F510ED34E7F511BB
-:0A04DE00850F12C004C005C006C05F
-:0E04E800071206A5D007D006D005D004E433D5
-:0B04F600A80F7A00E82CFCEA3DFD0294
-:02050100047183
-:07050300EE250BF50BEF35AF
-:04050A000CF50CE5FB
-:06050E000DC39EF50DE592
-:050514000E9FF50E0230
-:020519000412CA
-:04051B0075820022C3
-:04051F0075820022BF
-:0405230075820122BA
-:0D05270090E6C67480F090E6C774EDF09089
-:0D053400E6C8E4F090E6C9F090E6CAF09049
-:0E054100E6CBF090E6CC7403F090E6CD7402A9
-:07054F00F090E60CE4F0005F
-:070556003000FD120B11C281
-:03055D000080F625
-:0C056000750A0090E678E05410FAC454CC
-:0A056C000FFA74504AF509740155A6
-:0405760009F5082259
-:0E057A0090E6007410F0758E0090E601740299
-:0E058800F00090E61074A0F00090E61174E010
-:0E059600F00090E612E4F00090E613E4F000AE
-:0E05A40090E61474E0F00090E615E4F000908C
-:0E05B200E6047480F00090E6047406F00090F9
-:0E05C000E604E4F00090E618E4F090E619F08E
-:0D05CE0090E61A740CF090E61BE4F000902B
-:0E05DB00E68AE4F00090E68DE4F00090E6E29F
-:0E05E9007402F00090E6E37401F00090E62446
-:0B05F7007402F00090E625E4F0002202
-:0E06020090E6F574FFF0009010ADE493FA90CE
-:0E061000E6F3F09010AEE493FA90E6C3F0909B
-:0E061E0010AFE493FA90E6C1F09010B0E493B0
-:0E062C00FA90E6C2F09010B2E493FA90E6C0A5
-:03063A00F07A0053
-:03063D00BA800080
-:0C06400050198A037CE4EA2409F582E4E6
-:0C064C003410F583E493FD8B828C83F066
-:030658000A80E233
-:06065B0090E6C6E4F02267
-:0E1009000101010101010107000000000000CB
-:0E1017000000000000000000000000000000CB
-:0E1025000000003F0101010101010107000070
-:0E1033000000000000000000000000000000AF
-:0E104100000000000000003F38010101010125
-:0E104F0001070302020202020200000000007C
-:0E105D0000000000360000000000003F3801D7
-:0E106B0001010101010703020202020202005C
-:0E107900000000000000000036000000000033
-:02108700003F28
-:0E108900000000000000000000000000000059
-:0E1097000000000080ED000000000302008059
-:0810A500EE0000000003020050
-:0710AD00A0000000AE4E00A0
-:0E066100C2B0C2B2D2B3C2B475B51DD280C24F
-:0E066F0081C282D283C284C285C286C28775D0
-:06067D00B2FF75820022AD
-:08068300D284D28575820022A9
-:08068B00C284C28575820022C1
-:0E069300C284C285900001120FD6D284D28597
-:0406A100758200223C
-:0E06A500AA82AB83C002C003120770D003D03C
-:0E06B30002C002C003120741D003D002C002F1
-:0E06C100C00312088CD003D00250047C0180CC
-:0106CF006BBF
-:0C06D000E508601690E679EBF0C002C06F
-:0E06DC000312088CD003D00250047C01805120
-:0E06EA007B0090E679EAF012088C50047C0147
-:0206F80080413F
-:0606FA00AA10AB117D0007
-:0C070000C3ED951250288A828B83E0FE26
-:0E070C00A3AA82AB8390E679EEF0C002C00390
-:0E071A00C005120876D005D003D00250047C32
-:030728000180103D
-:03072B000D80D26C
-:0D072E0090E678E0FA4440F01207517C009C
-:06073B0053B27F8C822204
-:0A07410090E6787480F0E5092509C0
-:06074B00FA90E679F022AD
-:030751001207701C
-:0E075400120741120876E43390E678E0FA448A
-:0E07620040F012077090E678E0FA30E1E522F0
-:0907700090E678E0FA20E6F82298
-:0E077900AA82AB83C002C003120770D003D067
-:0E07870002C002C003120741D003D002C0021C
-:0E079500C00312088CD003D0025004758201FC
-:0107A3002233
-:0C07A400E508601690E679EBF0C002C09A
-:0E07B0000312088CD003D0025004758201227F
-:0E07BE007B0090E679EAF012088C50047582F8
-:0207CC00012208
-:0A07CE0090E6787480F0E509250933
-:0E07D800FA90E67974014AF012087650047522
-:0307E6008201226B
-:0D07E90090E679E012087650047582012236
-:0407F6007A007B000A
-:0907FA00AC137D001CBCFF011DC5
-:0E0803008B067F00C3EE9CEF64808DF063F0E7
-:0B0811008095F05024EB2514FCE4352A
-:0C081C0015FD90E679E0FE8C828D83F0E3
-:0D082800C003120876D0035004758201222F
-:050835000B8B0280C0E6
-:0E083A0090E6787420F0C002120876D00250CA
-:0508480004758201228D
-:09084D00EA2514FAE43515FB90CC
-:0E085600E679E0FC8A828B83F012087650046B
-:040864007582012276
-:0E08680090E6787440F090E679E07582002208
-:0E08760090E678E0FA8A0330E0F6EB30E20418
-:040884007582012256
-:040888007582002253
-:0E088C0090E678E0FA8A0330E0F6EB30E20402
-:04089A007582012240
-:08089E00EB20E1047582012248
-:0408A6007582002235
-:0808AA00E508700475820122CB
-:0408B2007514407504
-:0308B6001518759D
-:0A08B90013409000001207797A0046
-:0308C300BA400038
-:0A08C600500FEA2400F582E4341814
-:0708D000F583EAF00A80EC59
-:0408D7007510007523
-:0308DB001118757C
-:0A08DE0012409000001206A57A00F7
-:0308E800BA400013
-:0A08EB005011EA2400F582E43418ED
-:0908F500F583EAF4FBF00A80EA45
-:0508FE007513407514A4
-:0309030000751567
-:0809060018900000120779901F
-:0B090E001800E0FA30E0047B018006D6
-:0609190063023F0A8A039D
-:02091F007A005C
-:03092100BA4000D9
-:0A09240050208A047D007510407514
-:03092E0011188B12
-:0C093100128C828D83C002C0031206A548
-:09093D00D003D002EB2AFA80DBA2
-:030946008B82227F
-:0EE0000012010002FFFFFF40C0162F070201B1
-:04E00E000102060104
-:0AE012000A060002FFFFFF400100B4
-:0EE01C0009023200030100C0000904000000E8
-:0EE02A00FFFFFF030904010001FFFFFF0407D1
-:0EE038000502020002000904020001FFFFFFC2
-:08E04600050705860200020037
-:0EE04E0012010002FFFFFF40C0162F07020163
-:04E05C0001020001BC
-:0AE060000A060002FFFFFF40010066
-:0EE06A0009021200010100C0000904000000BC
-:04E07800FFFFFF03A4
-:01E07C00079C
-:02E07D008CE035
-:02E07F0092E02D
-:02E08100B8E005
-:02E08300C8E0F3
-:02E08500EAE0CF
-:02E0870006E1B0
-:02E0890020E194
-:06E08C0006030000090478
-:0EE0920026035300690047006500200053007C
-:0EE0A00065006D00690063006F006E00640093
-:0AE0AE007500630074006F0072003B
-:0EE0B8001003530045003400310031003000E9
-:02E0C6004C000C
-:0EE0C800220343006F006D006D0061006E00CA
-:0EE0D60064002000260020005300740061004A
-:06E0E400740075007300DA
-:0EE0EA001C035400720061006E0073006D0094
-:0EE0F800690074002000500061007400680090
-:0EE106001A0352006500630065006900760090
-:0CE11400650020005000610074006800ED
-:0CE120000C0331003000300030003000F3
-:080949007880E84400600C799D
-:0C09510001901800E4F0A3D8FCD9FAD003
-:0E095D0083D082F6D8FDC082C083758200224E
-:09096B0090E6A0E0FA4401F0223C
-:0E097400AA8274805AFBC423541FFB740F5ACE
-:0E09820090E6834BF090E683E0FA4420F022EA
-:0E09900090E680E0FA440AF09000FA120FD6CA
-:0E099E0090E65D74FFF090E65F74FFF05391F9
-:0A09AC00EF90E680E0FA54F7F02225
-:06100000E478FFF6D8FDC4
-:060FEA00751600751700EA
-:0A09B60090E680E0FA30E7197518AA
-:0309C000007519A6
-:0309C300E0751AC2
-:0309C60012751B8C
-:0309C900E0751CBA
-:0309CC001C751D7A
-:0309CF00E0751EB2
-:0309D2006A751F24
-:0209D500E0221E
-:0409D70075184E75CC
-:0309DB0019E075AB
-:0309DE001A607527
-:0309E1001BE075A3
-:0309E4001C6A7515
-:0309E7001DE0759B
-:0309EA001E1C755B
-:0309ED001FE022E6
-:0909F0005391EF75A100D2003211
-:0E09F900C0E0C0F0C082C083C002C003C004D2
-:0E0A0700C005C006C007C000C001C0D075D039
-:0E0A1500005391EF75A1001209B6D0D0D001A8
-:0E0A2300D000D007D006D005D004D003D002FA
-:090A3100D083D082D0F0D0E03275
-:0E0A3A00C0E0C0F0C082C083C002C003C00490
-:0E0A4800C005C006C007C000C001C0D075D0F8
-:0E0A5600005391EF75A1001209B6D0D0D00167
-:0E0A6400D000D007D006D005D004D003D002B9
-:090A7200D083D082D0F0D0E03234
-:050A7B001209B675210F
-:030A8000F07522EC
-:080A830009758200120E68756E
-:030A8B0021F975D9
-:060A8E002209758210121E
-:040A94000E68752152
-:030A98003A75228A
-:0C0A9B000A758214120E6890E65C74313B
-:020AA700F0223B
-:0D0AA900E582547FFA24F750047582002284
-:070AB600BA01047582012260
-:080ABD00530201E4BA00010438
-:030AC500F5822295
-:0E0AC800AA82BA010C90E6A1E0FB7C008B82B2
-:030AD6008C8322EC
-:0E0AD900BA810C90E6A2E0FB7C008B828C833D
-:010AE70022EC
-:0E0AE80053027FEA700C90E6A0E0FB7C008BCE
-:040AF600828C832249
-:0E0AFA0090E6A3E0FB7C00EAC313FA7D00EA5D
-:090B08002BFBED3C8B82F58322EE
-:0C0B1100C20090E6B8E0FA530260BA009F
-:030B1D000280282B
-:050B2000BA2002800D67
-:050B2500BA4002800E41
-:050B2A00BA6002800327
-:030B2F00020DFCB8
-:060B320012096B020DFC2C
-:0A0B38001201B4E5826003020DFC17
-:060B420012096B020DFC1C
-:0D0B480090E6B8E0FA530280BA8002800304
-:030B5500020CCFC0
-:0B0B580090E6B9E0FABA0003020C4B73
-:050B6300BA0602803516
-:050B6800BA080280083C
-:050B6D00BA0A02801726
-:030B7200020CC9A9
-:0C0B750090E740E516F090E68AE4F0906E
-:080B8100E68B7401F0020DFC8B
-:0C0B890090E740E517F090E68AE4F09059
-:080B9500E68B7401F0020DFC77
-:0A0B9D0090E6BBE0FABA01028017EF
-:050BA700BA02028038D3
-:050BAC00BA03028059AC
-:050BB100BA0602801BE2
-:050BB600BA0702803CBB
-:030BBB00020C45E4
-:0A0BBE00AA18AB1990E6B3EBF07B28
-:090BC8000090E6B4EAF0020DFC15
-:0A0BD100AA1AAB1B90E6B3EBF07B11
-:090BDB000090E6B4EAF0020DFC02
-:0A0BE400AA1CAB1D90E6B3EBF07BFA
-:090BEE000090E6B4EAF0020DFCEF
-:0A0BF700AA1EAB1F90E6B3EBF07BE3
-:090C01000090E6B4EAF0020DFCDB
-:0E0C0A0090E6BAE0FA90E07CE0FBC3EA9B4083
-:070C18000612096B020DFC3E
-:0C0C1F0090E6BAE0FA75F002A4247DF51E
-:0C0C2B008274E035F0F583E0FAA3E0FBF2
-:0E0C370090E6B3F07B0090E6B4EAF0020DFC0C
-:060C450012096B020DFC18
-:0D0C4B0090E6B8E0FA53021FBA0002800ADA
-:050C5800BA0102801C3E
-:050C5D00BA0266802CC4
-:0E0C620090E7407401F090E741E4F090E68ADC
-:090C7000F090E68B7402F0805054
-:0E0C790090E740E4F090E741F090E68AF090BA
-:070C8700E68B7402F0803BD4
-:0E0C8E0090E6BCE0FAF582120AA9E582602524
-:0E0C9C0090E6BCE0FAF582120AC8E0FA5302B4
-:0E0CAA000190E740EAF090E741E4F090E68A1E
-:090CB800F090E68B7402F0800854
-:050CC10012096B800325
-:030CC60012096BA5
-:060CC90012096B020DFC94
-:0C0CCF0090E6B9E0FA24F45003020DF99D
-:070CDB00EA2A2A900CE273E3
-:070CE200020DF9020D1802DA
-:060CE9000DAB020D8C02B0
-:060CEF000DF9020DF902EF
-:060CF5000DF9020DF902E9
-:060CFB000DF9020D0602D6
-:050D01000DF9020D0FC9
-:090D060090E6BAE0F516020DFCBE
-:090D0F0090E6BAE0F517020DFCB4
-:0D0D180090E6B8E0FA53021FBA0002800511
-:050D2500BA025E800A25
-:0A0D2A0090E6BAE012096B020DFC1E
-:0E0D340090E6BAE0704690E6BCE0FAF5821256
-:0E0D42000AA9E582603890E6BCE0FAF582125C
-:0E0D50000AC8AA82AB8390E6BCE0FCF582C024
-:0E0D5E0002C003120AC8D003D002E0FC530406
-:0E0D6C00FE8A828B83ECF090E6BCE0FAF58202
-:060D7A00120974020DFCD9
-:060D800012096B020DFCDC
-:060D860012096B020DFCD6
-:0E0D8C0090E6B8E0FA53021FBA006590E6BA8E
-:070D9A00E0FABA0102800536
-:050DA100BA02028056B9
-:050DA60012096B8051F1
-:090DAB0090E6BAE0FA6002804013
-:0E0DB40090E6BCE0FAF582120AA9E582602DF5
-:0E0DC20090E6BCE0FAF582120AC8AA82AB8362
-:0E0DD00090E6BCE0FCF582C002C003120AC827
-:0E0DDE00D003D002E0FC4304018A828B83EC38
-:030DEC00F0800D87
-:050DEF0012096B8008F1
-:050DF40012096B8003F1
-:030DF90012096B71
-:090DFC0090E6A0E0FA4480F02228
-:050E0500AA82BA0300FF
-:070E0A004005EA249C5001A1
-:010E110022BE
-:090E1200740F5AFBBB03028007B8
-:070E1B00740F5AFBBB0B45ED
-:0A0E2200A2AF9202C2AFEA2400F56D
-:0C0E2C0082E43400F5837402F07B007453
-:0C0E3800012AFCE43BFDEC2400F582EDF7
-:0A0E44003400F583E522FCF074028F
-:0C0E4E002AFAE43BFBEA2400F582EB34B6
-:0A0E5A0000F583AA217B00EAF0A254
-:030E64000292AF48
-:010E67002268
-:050E6800AA82BA00009F
-:070E6D004005EA2483500157
-:010E7400225B
-:060E7500EA5403600122B3
-:0A0E7B00A2AF9203C2AFEA2400F513
-:0C0E850082E43401F5837402F07B0074F9
-:0C0E9100012AFCE43BFDEC2400F582ED9E
-:0A0E9D003401F583E522FCF0740235
-:0C0EA7002AFAE43BFBEA2400F582EB345D
-:0A0EB30001F583AA217B00EAF0A2FA
-:040EBD000392AF22CB
-:050EC100AA82BA8000C6
-:070EC6004005EA244B500136
-:010ECD002202
-:060ECE00EA54036001225A
-:0A0ED400A2AF9204C2AFEA2480F539
-:0C0EDE0082E43400F5837402F07B0074A1
-:0C0EEA00012AFCE43BFDEC2480F582EDC5
-:0A0EF6003400F583E522FCF07402DD
-:0C0F00002AFAE43BFBEA2480F582EB3483
-:0A0F0C0000F583AA217B00EAF0A2A1
-:040F16000492AF2270
-:080F1A00C2E8C2EA752100756E
-:060F22002201758243125A
-:040F28000E0575211C
-:030F2C00807522AB
-:0C0F2F0000758253120E050090E650E49D
-:0E0F3B00F00090E652E4F00090E654E4F0007E
-:0E0F490090E656E4F00090E65174FFF0009040
-:0E0F5700E65374FFF00090E65574FFF0009032
-:0E0F6500E65774FFF00090E658E4F090E6596D
-:0E0F730074FFF090E65AE4F090E65B74FFF035
-:0E0F810090E65CE4F090E65D74FFF090E65EB2
-:0E0F8F00E4F090E65F74FFF00090E660E4F09E
-:0D0F9D000090E66174FFF090E662E4F090D1
-:0E0FAA00E66374FFF090E665E4F090E668748C
-:0A0FB8000BF05391AFD2E8D2EA2209
-:010FC200220C
-:020FC300AA8200
-:060FC500120FC2DAFB224C
-:030FCB0090FB5048
-:080FCE00A3E582458370F922BE
-:040FD600AA82AB83BD
-:080FDA00120FCB1ABAFF011B34
-:050FE200EA4B70F4224F
-:030FF300758122E3
-:0A0FF600120949E582600302018040
-:00000001FF
diff --git a/drivers/gr-gn3s/lib/gn3s_source.cc b/drivers/gr-gn3s/lib/gn3s_source.cc
deleted file mode 100644
index a4cce12..0000000
--- a/drivers/gr-gn3s/lib/gn3s_source.cc
+++ /dev/null
@@ -1,233 +0,0 @@
-/*----------------------------------------------------------------------------------------------*/
-/*! \file gps_source.cpp
-//
-// FILENAME: gps_source.cpp
-//
-// DESCRIPTION: Implements member functions of the GPS_Source class.
-//
-// DEVELOPERS: Gregory W. Heckler (2003-2009), Javier Arribas (2012)
-//
-// LICENSE TERMS: Copyright (c) Gregory W. Heckler 2009
-//
-// This file is part of the GPS Software Defined Radio (GPS-SDR)
-//
-// The GPS-SDR 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. The GPS-SDR 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.
-//
-// Note:  Comments within this file follow a syntax that is compatible with
-//        DOXYGEN and are utilized for automated document extraction
-//
-// Reference:
-*/
-/*----------------------------------------------------------------------------------------------*/
-
-
-#include "gn3s_source.h"
-#include <time.h>
-
-
-/*----------------------------------------------------------------------------------------------*/
-gn3s_Source::gn3s_Source()
-{
-
-    Open_GN3S();
-
-	overflw = soverflw = 0;
-	agc_scale = 1;
-
-	/* Assign to base */
-	ms_count = 0;
-	flag_first_read=true;
-    fprintf(stdout,"Creating GPS Source\n");
-
-}
-/*----------------------------------------------------------------------------------------------*/
-
-
-/*----------------------------------------------------------------------------------------------*/
-gn3s_Source::~gn3s_Source()
-{
-
-	Close_GN3S();
-	fprintf(stdout,"Destructing GPS Source\n");
-}
-/*----------------------------------------------------------------------------------------------*/
-
-
-/*----------------------------------------------------------------------------------------------*/
-void gn3s_Source::Read(gn3s_ms_packet *_p,int n_samples)
-{
-
-	Read_GN3S(_p,n_samples);
-	ms_count++;
-
-}
-/*----------------------------------------------------------------------------------------------*/
-
-
-/*----------------------------------------------------------------------------------------------*/
-void gn3s_Source::Open_GN3S()
-{
-
-
-	/* Create the object */
-	gn3s_a = new gn3s(0);
-
-
-	/* Everything is super! */
-	//fprintf(stdout,"GN3S Start\n");
-
-}
-/*----------------------------------------------------------------------------------------------*/
-
-
-/*----------------------------------------------------------------------------------------------*/
-void gn3s_Source::Close_GN3S()
-{
-
-	if(gn3s_a != NULL) delete gn3s_a;
-	//fprintf(stdout,"Destructing GN3S\n");
-
-}
-/*----------------------------------------------------------------------------------------------*/
-
-
-
-/*----------------------------------------------------------------------------------------------*/
-void gn3s_Source::Read_GN3S(gn3s_ms_packet *_p,int n_samples)
-{
-
-	int bread;
-	int started=0;
-	int check;
-	bool overrun;
-
-	short int LUT4120[2] = {1,-1};
-	char shift = 0;
-	char endshift = 0;
-
-	short int *pbuff;
-
-	int BUFSIZE=n_samples*2;
-
-	if (flag_first_read==true)
-	{
-		/* Start transfer */
-		while(!started)
-		{
-			usleep(100);
-			started = gn3s_a->usrp_xfer(VRQ_XFER, 1);
-		}
-		fprintf(stdout,"started TX\n");
-		flag_first_read=false;
-	}
-
-	/* Check the overrun */
-	overrun = gn3s_a->check_rx_overrun();
-	if(overrun)
-	{
-		time(&rawtime);
-		timeinfo = localtime (&rawtime);
-		fprintf(stdout, "GN3S overflow at time %s\n", asctime(timeinfo));
-		fflush(stdout);
-	}
-
-
-		/* Read 5 ms */
-		bread = gn3s_a->read((void *)&gbuff[0], BUFSIZE);
-		// FUSB Read...
-		//ret = fx2c.d_ephandle->read (buf, bufsize);
-
-		if (bread != BUFSIZE) {
-		  fprintf (stderr, "fusb_read: ret = %d (bufsize: %d) \n", bread, BUFSIZE);
-		  fprintf (stderr, "%s\n", usb_strerror());
-		}
-
-		// Store IF data as 8bit signed values
-	   pbuff = (short int *)&buff[0];
-	/* Make sure we are reading I0,Q0,I1,Q1,I2,Q2.... etc */
-	   if ((gbuff[0] & 0x2) == 2)       //if true, we don't have to shift data
-	   { shift = 0; }
-	   else
-	   { shift = 1; }
-
-	   if ((gbuff[BUFSIZE-1] & 0x02) == 0) //if true, we don't drop last data byte
-	   { endshift = 0; }
-	   else
-	   { endshift = 1; }
-
-	       for (int j=0;j<BUFSIZE;j++)
-	       {
-	           if (shift == 1)
-	           {
-	               if ((j == (BUFSIZE-1)) && (endshift == 0))
-	                 { pbuff[j] = 0; }
-	               else if ((j == (BUFSIZE-1)) && (endshift == 1))
-	                 { pbuff[j-1] = 0;  }
-	               else
-	               {
-	            	   //printf("%i.",j);
-	            	   pbuff[j] = LUT4120[gbuff[j+1] & 0x1];
-	               }
-	           } else if (shift == 0)
-	           {
-	               if ((j == (BUFSIZE-1)) && (endshift == 1))
-	                 { pbuff[j] = 0; }
-	               else
-	               { pbuff[j] = LUT4120[gbuff[j] & 0x1]; }
-
-	           }
-	       }
-	/* Copy to destination */
-	memcpy(_p->data, pbuff, n_samples*sizeof(GN3S_CPX));
-
-}
-
-// gregory way... with CUSTOM firmware!
-//if (flag_first_read==true)
-//{
-//	/* Start transfer */
-//	while(!started)
-//	{
-//		usleep(100);
-//		started = gn3s_a->usrp_xfer(VRQ_XFER, 1);
-//	}
-//	fprintf(stdout,"started TX\n");
-//	/* Make sure we are reading I0,Q0,I1,Q1,I2,Q2.... etc */
-//	bread = gn3s_a->read((void*)(&gbuff[0]),1);
-//	//fprintf(stdout,"R1\n");
-//	check = (gbuff[0] & 0x3);   //0 or 1 -> I sample , 2 or 3 -> Q sample
-//	if(check < 2)
-//	{
-//		fprintf(stdout,"Shifted one sample");
-//		bread = gn3s_a->read((void*)(&gbuff[0]),1);
-//	}
-//	//fprintf(stdout,"R2\n");
-//	flag_first_read=false;
-//}else{
-//
-//		pbuff = (short int *)&buff[0];
-//
-//		/* Read up to 5 ms */
-//		bread = gn3s_a->read((void *)&gbuff[0], n_samples*2);
-//
-//		/* Convert to +-1 using Look Up Table*/
-//		for(lcv = 0; lcv < (n_samples*2); lcv++)
-//			pbuff[lcv] = LUT[gbuff[lcv] & 0x3];
-//
-//		/* Check the overrun */
-//		overrun = gn3s_a->check_rx_overrun();
-//		if(overrun)
-//		{
-//			time(&rawtime);
-//			timeinfo = localtime (&rawtime);
-//			fprintf(stdout, "GN3S overflow at time %s\n", asctime(timeinfo));
-//			fflush(stdout);
-//		}
-//}
-///* Copy to destination */
-//memcpy(_p->data, pbuff, n_samples*sizeof(GN3S_CPX));
diff --git a/drivers/gr-gn3s/lib/gn3s_source_cc.cc b/drivers/gr-gn3s/lib/gn3s_source_cc.cc
deleted file mode 100644
index 60df6d2..0000000
--- a/drivers/gr-gn3s/lib/gn3s_source_cc.cc
+++ /dev/null
@@ -1,117 +0,0 @@
-/*!
- * \file gn3s_source_cc.cc
- * \brief GNU Radio source block to acces to SiGe GN3S USB sampler v2.
- * \author Javier Arribas, 2012. jarribas(at)cttc.es
- *
- * -------------------------------------------------------------------------
- *
- * Copyright (C) 2010-2012  (see AUTHORS file for a list of contributors)
- *
- * GNSS-SDR is a software defined Global Navigation
- *          Satellite Systems receiver
- *
- * This file is part of GNSS-SDR.
- *
- * GNSS-SDR 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 3 of the License, or
- * at your option) any later version.
- *
- * GNSS-SDR 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 GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
- *
- * -------------------------------------------------------------------------
- */
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <gn3s_source_cc.h>
-#include <gn3s_defines.h>
-#include <gnuradio/io_signature.h>
-
-
-/*
- * Create a new instance of howto_square_ff and return
- * a boost shared_ptr.  This is effectively the public constructor.
- */
-gn3s_source_cc_sptr
-gn3s_make_source_cc ()
-{
-  return gnuradio::get_initial_sptr(new gn3s_source_cc ());
-}
-
-/*
- * Specify constraints on number of input and output streams.
- * This info is used to construct the input and output signatures
- * (2nd & 3rd args to gr::block's constructor).  The input and
- * output signatures are used by the runtime system to
- * check that a valid number and type of inputs and outputs
- * are connected to this block.  In this case, we accept
- * only 1 input and 1 output.
- */
-static const int MIN_IN = 0;	// mininum number of input streams
-static const int MAX_IN = 0;	// maximum number of input streams
-static const int MIN_OUT = 1;	// minimum number of output streams
-static const int MAX_OUT = 1;	// maximum number of output streams
-
-/*
- * The private constructor
- */
-gn3s_source_cc::gn3s_source_cc ()
-  : gr::block ("gn3s_cc",
-	      gr::io_signature::make(MIN_IN, MAX_IN, sizeof (gr_complex)),
-	      gr::io_signature::make(MIN_OUT, MAX_OUT, sizeof (gr_complex)))
-{
-  // constructor code here
-  gn3s_drv = new gn3s_Source();
-  fprintf(stdout,"GN3S Start\n");
-}
-
-/*
- * Our virtual destructor.
- */
-gn3s_source_cc::~gn3s_source_cc ()
-{
-  // destructor code here
-	if(gn3s_drv != NULL)
-	{
-		fprintf(stdout,"Destructing GN3S\n");
-		delete gn3s_drv;
-		//delete packet;
-	}
-}
-
-int 
-gn3s_source_cc::general_work (int noutput_items,
-			       gr_vector_int &ninput_items,
-			       gr_vector_const_void_star &input_items,
-			       gr_vector_void_star &output_items)
-{
-int n_samples_rx;
-  gr_complex *out = (gr_complex *) output_items[0];
-  
-if (noutput_items<=GN3S_SAMPS_5MS)
-{
-  gn3s_drv->Read(&packet,noutput_items);
-  n_samples_rx = noutput_items;
-}
-else
-{
-  gn3s_drv->Read(&packet,GN3S_SAMPS_5MS);
-  n_samples_rx = GN3S_SAMPS_5MS;
-}
-  for (int i = 0; i < n_samples_rx; i++)
-  {
-	out[i] = gr_complex(packet.data[i].i, packet.data[i].q);
-  }
-
-  // Tell runtime system how many output items we produced.
-  return n_samples_rx;
-}
-
diff --git a/drivers/gr-gn3s/lib/qa_gn3s_source_cc.cc b/drivers/gr-gn3s/lib/qa_gn3s_source_cc.cc
deleted file mode 100644
index 487cb97..0000000
--- a/drivers/gr-gn3s/lib/qa_gn3s_source_cc.cc
+++ /dev/null
@@ -1,36 +0,0 @@
-/*!
- * \file qa_gn3s_source_cc.h
- * \brief GNU Radio source block to acces to SiGe GN3S USB sampler.
- * \author Javier Arribas, 2012. jarribas(at)cttc.es
- *
- * -------------------------------------------------------------------------
- *
- * Copyright (C) 2010-2012  (see AUTHORS file for a list of contributors)
- *
- * GNSS-SDR is a software defined Global Navigation
- *          Satellite Systems receiver
- *
- * This file is part of GNSS-SDR.
- *
- * GNSS-SDR 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 3 of the License, or
- * at your option) any later version.
- *
- * GNSS-SDR 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 GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
- *
- * -------------------------------------------------------------------------
- */
-#include <boost/test/unit_test.hpp>
-
-BOOST_AUTO_TEST_CASE(qa_gn3s_source_t1){
-    BOOST_CHECK_EQUAL(2 + 2, 4);
-    // TODO BOOST_* test macros here
-}
-
diff --git a/drivers/gr-gn3s/python/CMakeLists.txt b/drivers/gr-gn3s/python/CMakeLists.txt
deleted file mode 100644
index ad0bf37..0000000
--- a/drivers/gr-gn3s/python/CMakeLists.txt
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright (C) 2012-2015  (see AUTHORS file for a list of contributors)
-#
-# This file is part of GNSS-SDR.
-#
-# GNSS-SDR 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 3 of the License, or
-# (at your option) any later version.
-#
-# GNSS-SDR 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 GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
-#
-
-########################################################################
-# Include python install macros
-########################################################################
-include(GrPython)
-if(NOT PYTHONINTERP_FOUND)
-    return()
-endif()
-
-########################################################################
-# Install python sources
-########################################################################
-GR_PYTHON_INSTALL(
-    FILES
-    __init__.py
-    DESTINATION ${GR_PYTHON_DIR}/gn3s
-)
-
-########################################################################
-# Handle the unit tests
-########################################################################
-include(GrTest)
-
-set(GR_TEST_TARGET_DEPS gr-gn3s)
-set(GR_TEST_PYTHON_DIRS ${CMAKE_BINARY_DIR}/swig)
-GR_ADD_TEST(qa_gn3s ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_gn3s.py)
diff --git a/drivers/gr-gn3s/python/__init__.py b/drivers/gr-gn3s/python/__init__.py
deleted file mode 100644
index 9ac585f..0000000
--- a/drivers/gr-gn3s/python/__init__.py
+++ /dev/null
@@ -1,54 +0,0 @@
-#
-# Copyright 2008,2009 Free Software Foundation, Inc.
-# 
-# This application 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 3, or (at your option)
-# any later version.
-# 
-# This application 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 Street, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-
-# The presence of this file turns this directory into a Python package
-
-'''
-This is the GNU Radio GN3S module. Place your Python package
-description here (python/__init__.py).
-'''
-
-# ----------------------------------------------------------------
-# Temporary workaround for ticket:181 (swig+python problem)
-import sys
-_RTLD_GLOBAL = 0
-try:
-    from dl import RTLD_GLOBAL as _RTLD_GLOBAL
-except ImportError:
-    try:
-	from DLFCN import RTLD_GLOBAL as _RTLD_GLOBAL
-    except ImportError:
-	pass
-    
-if _RTLD_GLOBAL != 0:
-    _dlopenflags = sys.getdlopenflags()
-    sys.setdlopenflags(_dlopenflags|_RTLD_GLOBAL)
-# ----------------------------------------------------------------
-
-
-# import swig generated symbols into the gn3s namespace
-from gn3s_swig import *
-
-# import any pure python here
-#
-
-# ----------------------------------------------------------------
-# Tail of workaround
-if _RTLD_GLOBAL != 0:
-    sys.setdlopenflags(_dlopenflags)      # Restore original flags
-# ----------------------------------------------------------------
diff --git a/drivers/gr-gn3s/python/qa_gn3s.py b/drivers/gr-gn3s/python/qa_gn3s.py
deleted file mode 100755
index b4ef79a..0000000
--- a/drivers/gr-gn3s/python/qa_gn3s.py
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright 2004,2007 Free Software Foundation, Inc.
-# 
-# This file is part of GNU Radio
-# 
-# GNU Radio 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 3, or (at your option)
-# any later version.
-# 
-# GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-# 
-
-from gnuradio import gr, gr_unittest
-import gn3s_swig
-
-class qa_gn3s (gr_unittest.TestCase):
-
-    def setUp (self):
-        self.tb = gr.top_block ()
-
-    def tearDown (self):
-        self.tb = None
-
-    def test_001_gn3s_source_cc (self):
-        #src_data = (-3, 4, -5.5, 2, 3)
-        expected_result = (9, 16, 30.25, 4, 9)
-        #src = gr.vector_source_f (src_data)
-        gn3s_src = gn3s_swig.source_cc ()
-        dst = gr.vector_sink_f ()
-        #self.tb.connect (src, sqr)
-        self.tb.connect (sqr, dst)
-        self.tb.run ()
-        result_data = dst.data ()
-        self.assertFloatTuplesAlmostEqual (expected_result, result_data, 6)
-        
-if __name__ == '__main__':
-    gr_unittest.main ()
diff --git a/drivers/gr-gn3s/swig/CMakeLists.txt b/drivers/gr-gn3s/swig/CMakeLists.txt
deleted file mode 100644
index e200eb3..0000000
--- a/drivers/gr-gn3s/swig/CMakeLists.txt
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright (C) 2012-2015  (see AUTHORS file for a list of contributors)
-#
-# This file is part of GNSS-SDR.
-#
-# GNSS-SDR 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 3 of the License, or
-# (at your option) any later version.
-#
-# GNSS-SDR 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 GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
-#
-
-########################################################################
-# Include swig generation macros
-########################################################################
-find_package(SWIG)
-find_package(PythonLibs)
-if(NOT SWIG_FOUND OR NOT PYTHONLIBS_FOUND)
-    return()
-endif()
-include(GrSwig)
-include(GrPython)
-
-########################################################################
-# Setup swig generation
-########################################################################
-set(GNURADIO_RUNTIME_SWIG_INCLUDE_DIRS ${GNURADIO_RUNTIME_INCLUDE_DIRS}/gnuradio/swig)
-
-set(GR_SWIG_INCLUDE_DIRS
-    ${GR_GN3S_INCLUDE_DIRS}
-    ${GNURADIO_RUNTIME_SWIG_INCLUDE_DIRS}
-    ${Boost_INCLUDE_DIRS}
-)
-
-set(GR_SWIG_LIBRARIES gr-gn3s gnuradio-runtime)
-set(GR_SWIG_DOC_FILE ${CMAKE_CURRENT_BINARY_DIR}/gn3s_swig_doc.i)
-set(GR_SWIG_DOC_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/../include)
-
-GR_SWIG_MAKE(gn3s_swig gn3s_swig.i)
-
-########################################################################
-# Install the build swig module
-########################################################################
-GR_SWIG_INSTALL(TARGETS gn3s_swig DESTINATION ${GR_PYTHON_DIR}/gn3s)
-
-########################################################################
-# Install swig .i files for development
-########################################################################
-install(
-    FILES
-    gn3s_swig.i
-    ${CMAKE_CURRENT_BINARY_DIR}/gn3s_swig_doc.i
-    DESTINATION ${GNURADIO_RUNTIME_INCLUDE_DIR}/gn3s/swig
-)
diff --git a/drivers/gr-gn3s/swig/gn3s_swig.i b/drivers/gr-gn3s/swig/gn3s_swig.i
deleted file mode 100644
index 9406180..0000000
--- a/drivers/gr-gn3s/swig/gn3s_swig.i
+++ /dev/null
@@ -1,17 +0,0 @@
-/* -*- c++ -*- */
-
-#define GN3S_API
-
-%include "gnuradio.i"			// the common stuff
-
-//load generated python docstrings
-%include "gn3s_swig_doc.i"
-
-
-%{
-#include "gn3s_source_cc.h"
-%}
-
-GR_SWIG_BLOCK_MAGIC(gn3s,source_cc);
-%include "gn3s_source_cc.h"
-
diff --git a/firmware/GN3S_v2/COPYING_GPL.txt b/firmware/GN3S_v2/COPYING_GPL.txt
deleted file mode 100644
index 33687e3..0000000
--- a/firmware/GN3S_v2/COPYING_GPL.txt
+++ /dev/null
@@ -1,340 +0,0 @@
-		    GNU GENERAL PUBLIC LICENSE
-		       Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-                       59 Temple Place, Suite 330, Boston, MA  02111-1307  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 Library 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
-
-	    How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
-    Gnomovision version 69, Copyright (C) year name of author
-    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-  `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
-  <signature of Ty Coon>, 1 April 1989
-  Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs.  If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Library General
-Public License instead of this License.
diff --git a/firmware/GN3S_v2/README b/firmware/GN3S_v2/README
deleted file mode 100644
index 670e3f6..0000000
--- a/firmware/GN3S_v2/README
+++ /dev/null
@@ -1,20 +0,0 @@
-SiGe GN3S v2 CUSTOM FIRMWARE FOR GNSS-SDR
------------------------------------------
-Source maintainer: Javier Arribas jarribas at cttc.es
-
-Here can be found a modified version of the SiGe GN3S v2 firmware.
-This device was once available at https://www.sparkfun.com/products/8238
-
-The target is the 8051 MCU used in the Cypress FX2 USB 2.0 microcontroller.
-
-Basically, the main modifications are:
-
-	- Disabled the capture filesize limit in order to allow real-time processing
-	
-	- USB VID and PID changed
-		;; Original one
-		;;VID_FREE	 = 0x1781	; GN3S Project
-		;;PID_USRP	 = 0x0B39	; CU AAU SE4120L-EK3
-		;; New one
-		VID_FREE	 = 0x16C0	; GN3S Modified driver Project
-		PID_USRP	 = 0x072F	; CU AAU SE4120L-EK3
diff --git a/firmware/GN3S_v2/bin/gn3s_firmware.ihx b/firmware/GN3S_v2/bin/gn3s_firmware.ihx
deleted file mode 100644
index 579526a..0000000
--- a/firmware/GN3S_v2/bin/gn3s_firmware.ihx
+++ /dev/null
@@ -1,544 +0,0 @@
-:06000000020FE002006B9C
-:03000B0002006B85
-:0300130002006B7D
-:03001B0002006B75
-:0300230002006B6D
-:03002B0002006B65
-:0300330002006B5D
-:03003B0002006B55
-:0300430002006B4D
-:03004B0002006B45
-:0300530002006B3D
-:03005B0002006B35
-:0300630002006B2D
-:01006B003262
-:0900800002006B0002006B00029B
-:08008900006B0002006B000295
-:08009100006B0002006B00028D
-:08009900006B0002006B000285
-:0800A100006B0002006B00027D
-:0800A900006B0002006B000275
-:0700B100006B0002006B0070
-:0901000002006B0002006B00021A
-:08010900006B0002006B000214
-:08011100006B0002006B00020C
-:08011900006B0002006B000204
-:08012100006B0002006B0002FC
-:08012900006B0002006B0002F4
-:08013100006B0002006B0002EC
-:08013900006B0002006B0002E4
-:08014100006B0002006B0002DC
-:08014900006B0002006B0002D4
-:08015100006B0002006B0002CC
-:08015900006B0002006B0002C4
-:08016100006B0002006B0002BC
-:08016900006B0002006B0002B4
-:08017100006B0002006B0002AC
-:07017900006B0002006B00A7
-:030FF800021000E4
-:070FE000E4F50AF50BE4F54E
-:040FE7000CF50D7583
-:020FEB000E00F6
-:03101300020FFBCE
-:050FFB0012018080FEE0
-:0701800012059512061D1285
-:08018700067012057CC2AF12E4
-:0A018F000F13120AB2D2EAD2AF1227
-:0601990009C112069202EA
-:02019F00054316
-:0501A10090E68BE4F084
-:0901A60090E6A0E0FA20E1F82245
-:0A01AF0090E6B8E0FABAC00280033F
-:0301B9000203102E
-:0A01BC0090E6B9E0FABA8002801262
-:0501C600BAA202805501
-:0501CB00BAA302805000
-:0501D000BAA902804500
-:0301D50002030C16
-:0E01D80090E6BCE0FA601DBA013490E6C1E08A
-:0E01E600235401FA90E740F090E68AE4F0908E
-:0801F400E68B7401F002052CFA
-:0D01FC0090E6C1E0235401FA90E740F09036
-:0D020900E68AE4F090E68B7401F002052C0B
-:0402160075820022CB
-:06021A0075080143090113
-:0A02200090E6BAE0FA8A0F751000AC
-:0A022A0090E6BBE0FDE4420FED4258
-:090234001090E6BEE0FC8C11758F
-:0A023D00120090E6BFE0FFE4FE426D
-:0402470011EF42125F
-:07024B00E5114512700302EA
-:02025200052C79
-:0C02540090E6A0E0FE20E1F8C3E5119464
-:0A02600040E51294005006AE11AF05
-:03026A00128004FB
-:04026D007E407F0050
-:0C02710090E6B9E0F8B8A337E4F513F507
-:01027D00146C
-:0A027E00C3E5139EE5149F5063E5ED
-:0A028800132440FCE51434E7FDA840
-:040292000FA910E5BB
-:0A0296001328F582E51439F583E022
-:0A02A000F88C828D83F00513E4B59D
-:0602AA0013D2051480CE02
-:0402B0007C007D0051
-:0E02B400C3EC9EED9F5014EC2440F582ED3417
-:0D02C200E7F58374CDF00CBC00E80D80E57D
-:0902CF008E1B7C407DE78C1C8D28
-:0502D8001D850F828569
-:0C02DD001083C006C0071207B3D007D082
-:0102E900060E
-:0C02EA0090E68AE4F090E68BEEF0EE2542
-:0502F6000FF50FEF35CC
-:0402FB0010F510E505
-:0602FF0011C39EF511E59C
-:05030500129FF5120239
-:02030A00024BA4
-:04030C0075820022D4
-:0A03100090E6B8E0FCBC4002800358
-:03031A00020528B1
-:0A031D0090E6B9E0FCBC0102801577
-:06032700BCA2030203DF8B
-:06032D00BCA3030203DF84
-:06033300BCA9030203D97E
-:0303390002052496
-:0D033C0090E6BAE0606990E6C67480F0902B
-:0E034900E6C774EDF090E6C8E4F090E6C9F067
-:0E03570090E6CAF090E6CBF090E6CC7403F08E
-:0D03650090E6CD7402F090E60CE4F00090FC
-:0E037200E6F574FFF00075BB000090E6C7745E
-:0E038000EDF00090E6047480F00090E6047446
-:0E038E0002F00090E6047406F00090E604E42D
-:0A039C00F00075BB0600750CE97552
-:0503A6000D0F02052C03
-:0E03AB0075BB000090E6F574FFF00090E604CC
-:0E03B9007480F00090E6047402F00090E604F8
-:0C03C7007406F00090E604E4F000E4F599
-:0403D3000CF50D0216
-:0203D700052CF3
-:0603D90075080143090153
-:0A03DF0090E6BAE0FC8C0F751000E8
-:0A03E90090E6BBE0FDE4420FED4298
-:0903F3001090E6BEE0FC8C1175CF
-:0A03FC00120090E6BFE0FDE4FC42B1
-:0504060011ED4212E5BA
-:08040B000E70061208DE858266
-:010413000EDA
-:07041400E51145127003021F
-:02041B00052CAE
-:09041D0090E68AE4F090E68BF011
-:0E04260090E6A0E0FC20E1F890E68BE0FE7F7F
-:0C0434000090E6B9E0FCBCA33AE4F5132C
-:02044000F514B1
-:0A044200C3E5139EE5149F4003027A
-:02044C00050C9D
-:05044E00A80FA910E554
-:080453001328F8E51439F9E55E
-:0A045B00132440F582E51434E7F5A0
-:0C04650083E0FC88828983F00513E4B575
-:0604710013CF051480CB3F
-:040477007C007D0088
-:0A047B00C3EC9EED9F400302050C48
-:06048500850E157401B59F
-:04048B000E02804697
-:09048F00EC250FF9ED3510F8AA77
-:080498000E7B001ABAFF011BE4
-:0C04A000EA5201EB5200E9486010AA0F7C
-:0A04AC00ECFB2AFAE50E145AD39572
-:0404B6000EF4F51536
-:0C04BA00EEC39CFAEF9DFBA8157900C36F
-:0E04C600EA98EB9950098E028C03EAC39BF56D
-:0104D4001512
-:0A04D500EC250FF582ED3510F583DC
-:0A04DF00EC2440F518ED34E7F519A0
-:0A04E90085151AC004C005C006C046
-:0D04F300071206EED007D006D005D004A8F1
-:0C050000157A00E82CFCEA3DFD02047BAB
-:07050C00EE250FF50FEF359E
-:0405130010F510E5EA
-:0605170011C39EF511E581
-:05051D00129FF512021F
-:020522000414BF
-:0405240075820022BA
-:0405280075820022B6
-:04052C0075820122B1
-:09053000C0E0E50C450D60067504
-:050539000A01E4F50BCE
-:05053E00C2CFD0E03245
-:0D05430090E6C67480F090E6C774EDF0906D
-:0D055000E6C8E4F090E6C9F090E6CAF0902D
-:0E055D00E6CBF090E6CC7403F090E6CD74028D
-:07056B00F090E60CE4F00043
-:070572003000FD120B48C22E
-:030579000080F609
-:0C057C00750E0090E678E05410C4540F97
-:0A058800FA74504AF5097401550990
-:03059200F5082247
-:0E05950090E6007410F0758E0090E60174027E
-:0E05A300F00090E61074A0F00090E61174E0F5
-:0E05B100F00090E612E4F00090E613E4F00093
-:0E05BF0090E61474E0F00090E615E4F0009071
-:0E05CD00E6047480F00090E6047406F00090DE
-:0E05DB00E604E4F00090E618E4F090E619F073
-:0D05E90090E61A740CF090E61BE4F0009010
-:0E05F600E68AE4F00090E68DE4F00090E6E284
-:0E0604007402F00090E6E37401F00090E6242A
-:0B0612007402F00090E625E4F00022E6
-:0D061D0090E6F574FFF0009010BAE49390A1
-:0D062A00E6F3F09010BBE49390E6C3F0906F
-:0E06370010BCE49390E6C1F09010BDE49390E7
-:0E064500E6C2F09010BFE49390E6C0F07A0099
-:03065300BA80006A
-:0E06560050128A037CE4EA90101693FD8B820A
-:060664008C83F00A80E91E
-:06066A0090E6C6E4F02258
-:0E1016000101010101010107000000000000BE
-:0E1024000000000000000000000000000000BE
-:0E1032000000003F0101010101010107000063
-:0E1040000000000000000000000000000000A2
-:0E104E00000000000000003F38010101010118
-:0E105C0001070302020202020200000000006F
-:0E106A0000000000360000000000003F3801CA
-:0E10780001010101010703020202020202004F
-:0E108600000000000000000036000000000026
-:02109400003F1B
-:0E10960000000000000000000000000000004C
-:0E10A4000000000080ED00000000030200804C
-:0810B200EE0000000003020043
-:0710BA00A0000000AE4E0093
-:050FED00E4F516F51704
-:0E06700075B0FF75B5FFD280C281C282D28301
-:0D067E00C284C285D28775B2BF758200228A
-:07068B00851682851783220A
-:0906920075B2FFC283C2807A0731
-:0E069B00EA20E71E8AF005F074A43392D274B0
-:0306A900A4800327
-:0306AC00A2D213C4
-:0E06AF00D5F0FAFB139281D282C2821A80DE4D
-:0606BD00D280C2807A0722
-:0E06C300EA20E71E8AF005F074183392D27414
-:0306D1001880038B
-:0306D400A2D2139C
-:0E06D700D5F0FAFB139281D282C2821A80DE25
-:0906E500D28075B2B975820022C1
-:0E06EE00AA82AB83C002C0031207AA12077FC4
-:0E06FC001208C1E582D003D00260047C0180A8
-:01070A006E80
-:0C070B00E508601890E679EBF0C002C031
-:0E071700031208C1E582D003D00260047C0109
-:02072500805200
-:0E07270090E679EAF01208C1E58260047C01D8
-:02073500804200
-:06073700AA18AB197D00B9
-:0C073D00C3ED951A502A8A828B83E0FEDF
-:0E074900A3AA82AB8390E679EEF0C002C00353
-:0E075700C0051208ACE582D005D003D00260C8
-:05076500047C01800F7F
-:03076A000D80D02F
-:0C076D0090E678E04440F012078E7C001B
-:0607790053B27F8C8222C6
-:0A077F0090E6787480F0E509250982
-:0507890090E679F0226A
-:03078E001207AAA5
-:0E07910012077F1208AC90E678E04440F012A8
-:0B079F0007AA90E678E0FA30E1E822BB
-:0907AA0090E678E0FA20E6F8225E
-:0E07B300AA82AB83C002C0031207AA12077FFE
-:0E07C1001208C1E582D003D0026004758201E7
-:0107CF002207
-:0C07D000E508601890E679EBF0C002C06C
-:0E07DC00031208C1E582D003D00260047582CA
-:0207EA000122EA
-:0E07EC0090E679EAF01208C1E5826004758299
-:0207FA000122DA
-:0A07FC0090E6787480F0E509250905
-:0E080600FA90E67974014AF01208ACE58260BF
-:050814000475820122C1
-:0E08190090E679E01208ACE582600475820179
-:0108270022AE
-:040828007A007B00D7
-:09082C00AC1B7D001CBCFF011D8A
-:0E0835008B067F00C3EE9CEF64808DF063F0B5
-:0B0843008095F05025EB251CFCE435EF
-:0C084E001DFD90E679E08C828D83F0C0E7
-:0E085A00031208ACE582D0036004758201220F
-:050868000B8B0280BFB4
-:0E086D0090E6787420F0C0021208ACE582D04C
-:07087B0002600475820122F6
-:09088200EA251CFAE4351DFB9087
-:0E088B00E679E08A828B83F01208ACE5826089
-:0508990004758201223C
-:0E089E0090E6787440F090E679E075820022D2
-:0E08AC0090E678E0FAFB30E0F7EB30E20475FE
-:0308BA0082012296
-:0408BD00758200221E
-:0E08C10090E678E0FAFB30E0F7EB30E20475E9
-:0308CF0082012281
-:0808D200EB20E1047582012214
-:0408DA007582002201
-:0808DE00E50870047582012297
-:0408E600751C4075C8
-:0308EA001D187561
-:0A08ED001B409000001207B37A00D0
-:0308F700BA400004
-:0A08FA00500FEA2400F582E43418E0
-:07090400F583EAF00A80EC24
-:04090B0075180075E6
-:03090F001918753F
-:0A0912001A409000001206EE7A0071
-:03091C00BA4000DE
-:0A091F005011EA2400F582E43418B8
-:09092900F583EAF4FBF00A80EA10
-:05093200751B40751C5F
-:0309370000751D2B
-:08093A00189000001207B390B1
-:0B0942001800E0FA30E0047B018006A2
-:06094D0063023F0A8A0369
-:020953007A0028
-:03095500BA4000A5
-:0A09580050208A047D0075184075D8
-:0309620019188BD6
-:0C0965001A8C828D83C002C0031206EEC3
-:09097100D003D002EB2AFA80DB6E
-:03097A008B82224B
-:0EE0000012010002FFFFFF40C0162F070201B1
-:04E00E000102060104
-:0AE012000A060002FFFFFF400100B4
-:0EE01C0009023200030100C0000904000000E8
-:0EE02A00FFFFFF030904010001FFFFFF0407D1
-:0EE038000502020002000904020001FFFFFFC2
-:08E04600050705860200020037
-:0EE04E0012010002FFFFFF40C0162F07020163
-:04E05C0001020001BC
-:0AE060000A060002FFFFFF40010066
-:0EE06A0009021200010100C0000904000000BC
-:04E07800FFFFFF03A4
-:01E07C00079C
-:02E07D008CE035
-:02E07F0092E02D
-:02E08100ACE011
-:02E08300DCE0DF
-:02E08500FEE0BB
-:02E087001AE19C
-:02E0890034E180
-:06E08C0006030000090478
-:0EE092001A0347004E003300530020005000D8
-:0CE0A00072006F006A00650063007400ED
-:0EE0AC003003430055002000410041005500A4
-:0EE0BA0020005300690047006500200053005D
-:0EE0C800450034003100310030004C002D00C6
-:06E0D60045004B00330081
-:0EE0DC00220343006F006D006D0061006E00B6
-:0EE0EA00640020002600200053007400610036
-:06E0F800740075007300C6
-:0EE0FE001C035400720061006E0073006D0080
-:0EE10C0069007400200050006100740068007B
-:0EE11A001A035200650063006500690076007C
-:0CE12800650020005000610074006800D9
-:0CE134000C0331003000300030003000DF
-:08097D007880E84400600C7969
-:0C09850001901800E4F0A3D8FCD9FAD0CF
-:0E09910083D082F6D8FDC082C083758200221A
-:08099F0090E6A0E04401F02203
-:0E09A700AA8274805AC423541FFB740F5A9006
-:0C09B500E6834BF090E683E04420F02243
-:0E09C10090E680E0440AF09000FA120FCF900A
-:0E09CF00E65D74FFF090E65F74FFF05391EF69
-:0809DD0090E680E054F7F022DF
-:06100D00E478FFF6D8FDB7
-:060FF200752200752300CA
-:0A09E50090E680E0FA30E71975246F
-:0309EF000075256B
-:0309F200E0752687
-:0309F50012752751
-:0309F800E075287F
-:0309FB001C75293F
-:0309FE00E0752A77
-:030A01006A752BE8
-:020A0400E022EE
-:040A060075244E7590
-:030A0A0025E0756F
-:030A0D00266075EB
-:030A100027E07567
-:030A1300286A75D9
-:030A160029E0755F
-:030A19002A1C751F
-:030A1C002BE022AA
-:090A1F005391EF75A100D20032E1
-:0C0A2800C021C0E0C0F0C082C083C0024A
-:0E0A3400C003C004C005C006C007C000C0015A
-:0E0A4200C0D075D0005391EF75A1001209E5E8
-:0E0A5000D0D0D001D000D007D006D005D00401
-:0D0A5E00D003D002D083D082D0F0D0E0D001
-:020A6B00213236
-:0C0A6D00C021C0E0C0F0C082C083C00205
-:0E0A7900C003C004C005C006C007C000C00115
-:0E0A8700C0D075D0005391EF75A1001209E5A3
-:0E0A9500D0D0D001D000D007D006D005D004BC
-:0D0AA300D003D002D083D082D0F0D0E0D0BC
-:020AB0002132F1
-:050AB2001209E5751EAC
-:030AB7001F751F89
-:080ABA000A758200120E6C7532
-:030AC2001E287576
-:060AC5001F0A75821012E9
-:040ACB000E6C751E1A
-:030ACF006D751F23
-:0C0AD2000A758214120E6C90E65C743100
-:020ADE00F02204
-:0D0AE000E582547FFA24F75004758200224D
-:070AED00BA01047582012229
-:080AF400530201E4BA00010401
-:030AFC00F582225E
-:0E0AFF00AA82BA010C90E6A1E0FB7C008B827B
-:030B0D008C8322B4
-:0E0B1000BA810C90E6A2E0FB7C008B828C8305
-:010B1E0022B4
-:0E0B1F0053027FEA700C90E6A0E0FB7C008B96
-:040B2D00828C832211
-:0E0B310090E6A3E0FB7C00EAC313FA7D00EA25
-:090B3F002BFBED3C8B82F58322B7
-:0C0B4800C20090E6B8E0FA530260BA0068
-:030B5400028028F4
-:050B5700BA2002800D30
-:050B5C00BA4002800E0A
-:050B6100BA60028003F0
-:030B6600020E017B
-:060B690012099F020E01BB
-:0A0B6F001201AFE5826003020E01DF
-:060B790012099F020E01AB
-:0D0B7F0090E6B8E0FA530280BA80028003CD
-:030B8C00020D0255
-:0B0B8F0090E6B9E0FABA0003020C8007
-:050B9A00BA06028035DF
-:050B9F00BA0802800805
-:050BA400BA0A028017EF
-:030BA900020CFC3F
-:0C0BAC0090E740E522F090E68AE4F0902B
-:080BB800E68B7401F0020E014E
-:0C0BC00090E740E523F090E68AE4F09016
-:080BCC00E68B7401F0020E013A
-:0A0BD40090E6BBE0FABA01028017B8
-:050BDE00BA020280389C
-:050BE300BA0302805975
-:050BE800BA0602801BAB
-:050BED00BA0702803C84
-:030BF200020C7A78
-:0A0BF500AA24AB2590E6B3EBF07BD9
-:090BFF000090E6B4EAF0020E01D8
-:0A0C0800AA26AB2790E6B3EBF07BC1
-:090C12000090E6B4EAF0020E01C4
-:0A0C1B00AA28AB2990E6B3EBF07BAA
-:090C25000090E6B4EAF0020E01B1
-:0A0C2E00AA2AAB2B90E6B3EBF07B93
-:090C38000090E6B4EAF0020E019E
-:0E0C410090E6BAE0FA90E07CE0FBC3EA9B404C
-:070C4F000612099F020E01CD
-:0C0C560090E6BAE075F002A4247DF5825F
-:0B0C620074E035F0F583E0FAA3E090A9
-:0D0C6D00E6B3F07B0090E6B4EAF0020E0161
-:060C7A0012099F020E01A9
-:0D0C800090E6B8E0FA53021FBA0002800AA5
-:050C8D00BA0102801C09
-:050C9200BA0264802C91
-:0E0C970090E7407401F090E741E4F090E68AA7
-:090CA500F090E68B7402F0804E21
-:0E0CAE0090E740E4F090E741F090E68AF09085
-:070CBC00E68B7402F08039A1
-:0E0CC30090E6BCE0F582120AE0E58260249023
-:0E0CD100E6BCE0F582120AFFE0FA5302019041
-:0E0CDF00E740EAF090E741E4F090E68AF090FA
-:070CED00E68B7402F08008A1
-:050CF40012099F8003BE
-:030CF90012099F3E
-:060CFC0012099F020E0127
-:0C0D020090E6B9E0FA24F45003020DFE64
-:070D0E00EA2A2A900D15737B
-:070D1500020DFE020D4B026E
-:060D1C000DC6020DA70246
-:060D22000DFE020DFE02B1
-:060D28000DFE020DFE02AB
-:060D2E000DFE020D39026A
-:050D34000DFE020D425E
-:090D390090E6BAE0F522020E0179
-:090D420090E6BAE0F523020E016F
-:0D0D4B0090E6B8E0FA53021FBA00028005DE
-:050D5800BA0247800A09
-:0A0D5D0090E6BAE012099F020E01B1
-:0D0D670090E6BAE0703090E6BCE0F5821234
-:0D0D74000AE0E582602390E6BCE0F5821203
-:0E0D81000AFFAA82AB83E0FC5304FE8A828B39
-:0E0D8F0083ECF090E6BCE0F5821209A78064C8
-:050D9D0012099F805FB8
-:050DA20012099F805AB8
-:0E0DA70090E6B8E0FA53021FBA004F90E6BA89
-:070DB500E0FABA010280051B
-:050DBC00BA02028040B4
-:050DC10012099F803BB8
-:0E0DC60090E6BAE0FA702C90E6BCE0F58212DE
-:0D0DD4000AE0E582601A90E6BCE0F58212AC
-:0E0DE1000AFFAA82AB83E0FC4304018A828BE6
-:050DEF0083ECF0800D13
-:050DF40012099F8008B8
-:050DF90012099F8003B8
-:030DFE0012099F38
-:080E010090E6A0E04480F0221D
-:050E0900AA82BA0300FB
-:070E0E004005EA249C50019D
-:010E150022BA
-:090E1600740F5AFBBB03028007B4
-:070E1F00740F5AFBBB0B45E9
-:0A0E2600A2AF9202C2AFEA2400F569
-:0C0E300082E43400F5837402F07B00744F
-:0C0E3C00012AFCE43BFDEC2400F582EDF3
-:0A0E48003400F583E51FFCF074028E
-:0C0E52002AFAE43BFBEA2400F582EB34B2
-:0A0E5E0000F583AA1E7B00EAF0A253
-:030E68000292AF44
-:010E6B002264
-:080E6C00E582FA248350012203
-:060E7400EA5403600122B4
-:0A0E7A00A2AF9203C2AFEA2400F514
-:0C0E840082E43401F5837402F07B0074FA
-:0C0E9000012AFCE43BFDEC2400F582ED9F
-:0A0E9C003401F583E51FF074022A0B
-:0B0EA600FAE43BFBEA2400F582EB3489
-:080EB10001F583AA1EEAF0A27C
-:040EB9000392AF22CF
-:050EBD00AA82BA8000CA
-:070EC2004005EA244B50013A
-:010EC9002206
-:060ECA00EA54036001225E
-:0A0ED000A2AF9204C2AFEA2480F53D
-:0C0EDA0082E43400F5837402F07B0074A5
-:0C0EE600012AFCE43BFDEC2480F582EDC9
-:0A0EF2003400F583E51FF074022AB6
-:0B0EFC00FAE43BFBEA2480F582EB34B3
-:080F070000F583AA1EEAF0A226
-:040F0F000492AF2277
-:080F1300C2E8C2EA751E007578
-:060F1B001F017582431264
-:040F21000E09751E22
-:030F250080751FB5
-:0C0F280000758253120E090090E650E4A0
-:0E0F3400F00090E652E4F00090E654E4F00085
-:0E0F420090E656E4F00090E65174FFF0009047
-:0E0F5000E65374FFF00090E65574FFF0009039
-:0E0F5E00E65774FFF00090E658E4F090E65974
-:0E0F6C0074FFF090E65AE4F090E65B74FFF03C
-:0E0F7A0090E65CE4F090E65D74FFF090E65EB9
-:0E0F8800E4F090E65F74FFF00090E660E4F0A5
-:0D0F96000090E66174FFF090E662E4F090D8
-:0E0FA300E66374FFF090E665E4F090E6687493
-:0A0FB1000BF05391AFD2E8D2EA2210
-:010FBB002213
-:020FBC00AA8207
-:060FBE00120FBBDAFB225A
-:030FC40090FB504F
-:080FC700A3E582458370F922C5
-:040FCF00AA82AB83C4
-:080FD300120FC41ABAFF011B42
-:050FDB00EA4B70F42256
-:0310000075812BCC
-:0A10030012097DE5826003020FFB75
-:00000001FF
diff --git a/firmware/GN3S_v2/include/delay.h b/firmware/GN3S_v2/include/delay.h
deleted file mode 100644
index 6adf9a1..0000000
--- a/firmware/GN3S_v2/include/delay.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2003 Free Software Foundation, Inc.
- * 
- * This file is part of GNU Radio
- * 
- * GNU Radio 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, or (at your option)
- * any later version.
- * 
- * GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
- * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef _DELAY_H_
-#define _DELAY_H_
-
-/*
- * delay for approximately usecs microseconds
- * Note limit of 255 usecs.
- */
-void udelay (unsigned char usecs);
-
-/*
- * delay for approximately msecs milliseconds
- */
-void mdelay (unsigned short msecs);
-
-
-#endif /* _DELAY_H_ */
diff --git a/firmware/GN3S_v2/include/eeprom.h b/firmware/GN3S_v2/include/eeprom.h
deleted file mode 100644
index 6fbe5bd..0000000
--- a/firmware/GN3S_v2/include/eeprom.h
+++ /dev/null
@@ -1,40 +0,0 @@
-#define EEPROM_ADDR 0x51
-
-//-----------------------------------------------------------------------------
-// Macros
-//-----------------------------------------------------------------------------
-// the 3684 DVK board uses port pin PA7 as an EEPROM write-protect enable/disable.
-// If your design uses a different pin, modify the following macros accordingly.
-#define EEPROM_ENABLE_WRITE_PROTECT()  OEA &= ~0x80             // float PA7
-#define EEPROM_DISABLE_WRITE_PROTECT() PA7 = 0; OEA |= 0x80     // drive PA7 low
-#define MSB(word)      (BYTE)(((WORD)(word) >> 8) & 0xff)
-#define LSB(word)      (BYTE)((WORD)(word) & 0xff)
-
-#define SWAP_ENDIAN(word)   ((BYTE*)&word)[0] ^= ((BYTE*)&word)[1];\
-                     ((BYTE*)&word)[1] ^= ((BYTE*)&word)[0];\
-                     ((BYTE*)&word)[0] ^= ((BYTE*)&word)[1]
-
-//-----------------------------------------------------------------------------
-// Function Prototypes
-//-----------------------------------------------------------------------------
-void EEWaitForStop();
-BYTE EEWaitForAck();
-static void EEStartAndAddr();
-extern void WaitForEEPROMWrite();
-BYTE EEPROMWritePage(WORD addr, BYTE xdata * ptr, BYTE len);
-BYTE EEPROMRead(WORD addr, BYTE length, BYTE xdata *buf);
-void WaitForEEPROMWrite2();
-BYTE EEWaitForDone();
-BYTE EEPROMGetPageSize();
-
-//-----------------------------------------------------------------------------
-// Global Variables
-//-----------------------------------------------------------------------------
-extern BYTE			DB_Addr;					// Dual Byte Address stat
-extern BYTE			I2C_Addr;				// I2C address
-extern BYTE       EE_Page_Size;        // EEPROM page size
-
-//-----------------------------------------------------------------------------
-// Global Constants
-//-----------------------------------------------------------------------------
-#define SERIAL_ADDR		0x50
diff --git a/firmware/GN3S_v2/include/fx2regs.h b/firmware/GN3S_v2/include/fx2regs.h
deleted file mode 100644
index 1fed45f..0000000
--- a/firmware/GN3S_v2/include/fx2regs.h
+++ /dev/null
@@ -1,738 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2003 Free Software Foundation, Inc.
- * 
- * This file is part of GNU Radio
- * 
- * GNU Radio 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, or (at your option)
- * any later version.
- * 
- * GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
- * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-/*
-//-----------------------------------------------------------------------------
-//   File:      FX2regs.h
-//   Contents:   EZ-USB FX2 register declarations and bit mask definitions.
-//
-// $Archive: /USB/Target/Inc/fx2regs.h $
-// $Date: 2003/12/08 03:26:57 $
-// $Revision: 1.4 $
-//
-//
-//   Copyright (c) 2000 Cypress Semiconductor, All rights reserved
-//-----------------------------------------------------------------------------
-*/
-
-
-#ifndef FX2REGS_H   /* Header Sentry */
-#define FX2REGS_H
-
-#define ALLOCATE_EXTERN		// required for "right thing to happen" with fx2regs.h
-
-/*
-//-----------------------------------------------------------------------------
-// FX2 Related Register Assignments
-//-----------------------------------------------------------------------------
-
-// The Ez-USB FX2 registers are defined here. We use FX2regs.h for register 
-// address allocation by using "#define ALLOCATE_EXTERN". 
-// When using "#define ALLOCATE_EXTERN", you get (for instance): 
-// xdata volatile BYTE OUT7BUF[64]   _at_   0x7B40;
-// Such lines are created from FX2.h by using the preprocessor. 
-// Incidently, these lines will not generate any space in the resulting hex 
-// file; they just bind the symbols to the addresses for compilation. 
-// You just need to put "#define ALLOCATE_EXTERN" in your main program file; 
-// i.e. fw.c or a stand-alone C source file. 
-// Without "#define ALLOCATE_EXTERN", you just get the external reference: 
-// extern xdata volatile BYTE OUT7BUF[64]   ;//   0x7B40;
-// This uses the concatenation operator "##" to insert a comment "//" 
-// to cut off the end of the line, "_at_   0x7B40;", which is not wanted.
-*/
-
-
-#ifdef ALLOCATE_EXTERN
-#define EXTERN
-#define _AT_(a) at a
-#else
-#define EXTERN extern
-#define _AT_ ;/ ## /
-#endif
-
-typedef unsigned char BYTE;
-typedef unsigned short WORD;
-
-EXTERN xdata _AT_(0xE400) volatile BYTE GPIF_WAVE_DATA[128];
-EXTERN xdata _AT_(0xE480) volatile BYTE RES_WAVEDATA_END  ;
-
-// General Configuration
-
-EXTERN xdata _AT_(0xE600) volatile BYTE CPUCS             ;  // Control & Status
-EXTERN xdata _AT_(0xE601) volatile BYTE IFCONFIG          ;  // Interface Configuration
-EXTERN xdata _AT_(0xE602) volatile BYTE PINFLAGSAB        ;  // FIFO FLAGA and FLAGB Assignments
-EXTERN xdata _AT_(0xE603) volatile BYTE PINFLAGSCD        ;  // FIFO FLAGC and FLAGD Assignments
-EXTERN xdata _AT_(0xE604) volatile BYTE FIFORESET         ;  // Restore FIFOS to default state
-EXTERN xdata _AT_(0xE605) volatile BYTE BREAKPT           ;  // Breakpoint
-EXTERN xdata _AT_(0xE606) volatile BYTE BPADDRH           ;  // Breakpoint Address H
-EXTERN xdata _AT_(0xE607) volatile BYTE BPADDRL           ;  // Breakpoint Address L
-EXTERN xdata _AT_(0xE608) volatile BYTE UART230           ;  // 230 Kbaud clock for T0,T1,T2
-EXTERN xdata _AT_(0xE609) volatile BYTE FIFOPINPOLAR      ;  // FIFO polarities
-EXTERN xdata _AT_(0xE60A) volatile BYTE REVID             ;  // Chip Revision
-EXTERN xdata _AT_(0xE60B) volatile BYTE REVCTL            ;  // Chip Revision Control
-
-// Endpoint Configuration
-
-EXTERN xdata _AT_(0xE610) volatile BYTE EP1OUTCFG         ;  // Endpoint 1-OUT Configuration
-EXTERN xdata _AT_(0xE611) volatile BYTE EP1INCFG          ;  // Endpoint 1-IN Configuration
-EXTERN xdata _AT_(0xE612) volatile BYTE EP2CFG            ;  // Endpoint 2 Configuration
-EXTERN xdata _AT_(0xE613) volatile BYTE EP4CFG            ;  // Endpoint 4 Configuration
-EXTERN xdata _AT_(0xE614) volatile BYTE EP6CFG            ;  // Endpoint 6 Configuration
-EXTERN xdata _AT_(0xE615) volatile BYTE EP8CFG            ;  // Endpoint 8 Configuration
-EXTERN xdata _AT_(0xE618) volatile BYTE EP2FIFOCFG        ;  // Endpoint 2 FIFO configuration
-EXTERN xdata _AT_(0xE619) volatile BYTE EP4FIFOCFG        ;  // Endpoint 4 FIFO configuration
-EXTERN xdata _AT_(0xE61A) volatile BYTE EP6FIFOCFG        ;  // Endpoint 6 FIFO configuration
-EXTERN xdata _AT_(0xE61B) volatile BYTE EP8FIFOCFG        ;  // Endpoint 8 FIFO configuration
-EXTERN xdata _AT_(0xE620) volatile BYTE EP2AUTOINLENH     ;  // Endpoint 2 Packet Length H (IN only)
-EXTERN xdata _AT_(0xE621) volatile BYTE EP2AUTOINLENL     ;  // Endpoint 2 Packet Length L (IN only)
-EXTERN xdata _AT_(0xE622) volatile BYTE EP4AUTOINLENH     ;  // Endpoint 4 Packet Length H (IN only)
-EXTERN xdata _AT_(0xE623) volatile BYTE EP4AUTOINLENL     ;  // Endpoint 4 Packet Length L (IN only)
-EXTERN xdata _AT_(0xE624) volatile BYTE EP6AUTOINLENH     ;  // Endpoint 6 Packet Length H (IN only)
-EXTERN xdata _AT_(0xE625) volatile BYTE EP6AUTOINLENL     ;  // Endpoint 6 Packet Length L (IN only)
-EXTERN xdata _AT_(0xE626) volatile BYTE EP8AUTOINLENH     ;  // Endpoint 8 Packet Length H (IN only)
-EXTERN xdata _AT_(0xE627) volatile BYTE EP8AUTOINLENL     ;  // Endpoint 8 Packet Length L (IN only)
-EXTERN xdata _AT_(0xE630) volatile BYTE EP2FIFOPFH        ;  // EP2 Programmable Flag trigger H
-EXTERN xdata _AT_(0xE631) volatile BYTE EP2FIFOPFL        ;  // EP2 Programmable Flag trigger L
-EXTERN xdata _AT_(0xE632) volatile BYTE EP4FIFOPFH        ;  // EP4 Programmable Flag trigger H
-EXTERN xdata _AT_(0xE633) volatile BYTE EP4FIFOPFL        ;  // EP4 Programmable Flag trigger L
-EXTERN xdata _AT_(0xE634) volatile BYTE EP6FIFOPFH        ;  // EP6 Programmable Flag trigger H
-EXTERN xdata _AT_(0xE635) volatile BYTE EP6FIFOPFL        ;  // EP6 Programmable Flag trigger L
-EXTERN xdata _AT_(0xE636) volatile BYTE EP8FIFOPFH        ;  // EP8 Programmable Flag trigger H
-EXTERN xdata _AT_(0xE637) volatile BYTE EP8FIFOPFL        ;  // EP8 Programmable Flag trigger L
-EXTERN xdata _AT_(0xE640) volatile BYTE EP2ISOINPKTS      ;  // EP2 (if ISO) IN Packets per frame (1-3)
-EXTERN xdata _AT_(0xE641) volatile BYTE EP4ISOINPKTS      ;  // EP4 (if ISO) IN Packets per frame (1-3)
-EXTERN xdata _AT_(0xE642) volatile BYTE EP6ISOINPKTS      ;  // EP6 (if ISO) IN Packets per frame (1-3)
-EXTERN xdata _AT_(0xE643) volatile BYTE EP8ISOINPKTS      ;  // EP8 (if ISO) IN Packets per frame (1-3)
-EXTERN xdata _AT_(0xE648) volatile BYTE INPKTEND          ;  // Force IN Packet End
-EXTERN xdata _AT_(0xE649) volatile BYTE OUTPKTEND         ;  // Force OUT Packet End
-
-// Interrupts
-
-EXTERN xdata _AT_(0xE650) volatile BYTE EP2FIFOIE         ;  // Endpoint 2 Flag Interrupt Enable
-EXTERN xdata _AT_(0xE651) volatile BYTE EP2FIFOIRQ        ;  // Endpoint 2 Flag Interrupt Request
-EXTERN xdata _AT_(0xE652) volatile BYTE EP4FIFOIE         ;  // Endpoint 4 Flag Interrupt Enable
-EXTERN xdata _AT_(0xE653) volatile BYTE EP4FIFOIRQ        ;  // Endpoint 4 Flag Interrupt Request
-EXTERN xdata _AT_(0xE654) volatile BYTE EP6FIFOIE         ;  // Endpoint 6 Flag Interrupt Enable
-EXTERN xdata _AT_(0xE655) volatile BYTE EP6FIFOIRQ        ;  // Endpoint 6 Flag Interrupt Request
-EXTERN xdata _AT_(0xE656) volatile BYTE EP8FIFOIE         ;  // Endpoint 8 Flag Interrupt Enable
-EXTERN xdata _AT_(0xE657) volatile BYTE EP8FIFOIRQ        ;  // Endpoint 8 Flag Interrupt Request
-EXTERN xdata _AT_(0xE658) volatile BYTE IBNIE             ;  // IN-BULK-NAK Interrupt Enable
-EXTERN xdata _AT_(0xE659) volatile BYTE IBNIRQ            ;  // IN-BULK-NAK interrupt Request
-EXTERN xdata _AT_(0xE65A) volatile BYTE NAKIE             ;  // Endpoint Ping NAK interrupt Enable
-EXTERN xdata _AT_(0xE65B) volatile BYTE NAKIRQ            ;  // Endpoint Ping NAK interrupt Request
-EXTERN xdata _AT_(0xE65C) volatile BYTE USBIE             ;  // USB Int Enables
-EXTERN xdata _AT_(0xE65D) volatile BYTE USBIRQ            ;  // USB Interrupt Requests
-EXTERN xdata _AT_(0xE65E) volatile BYTE EPIE              ;  // Endpoint Interrupt Enables
-EXTERN xdata _AT_(0xE65F) volatile BYTE EPIRQ             ;  // Endpoint Interrupt Requests
-EXTERN xdata _AT_(0xE660) volatile BYTE GPIFIE            ;  // GPIF Interrupt Enable
-EXTERN xdata _AT_(0xE661) volatile BYTE GPIFIRQ           ;  // GPIF Interrupt Request
-EXTERN xdata _AT_(0xE662) volatile BYTE USBERRIE          ;  // USB Error Interrupt Enables
-EXTERN xdata _AT_(0xE663) volatile BYTE USBERRIRQ         ;  // USB Error Interrupt Requests
-EXTERN xdata _AT_(0xE664) volatile BYTE ERRCNTLIM         ;  // USB Error counter and limit
-EXTERN xdata _AT_(0xE665) volatile BYTE CLRERRCNT         ;  // Clear Error Counter EC[3..0]
-EXTERN xdata _AT_(0xE666) volatile BYTE INT2IVEC          ;  // Interupt 2 (USB) Autovector
-EXTERN xdata _AT_(0xE667) volatile BYTE INT4IVEC          ;  // Interupt 4 (FIFOS & GPIF) Autovector
-EXTERN xdata _AT_(0xE668) volatile BYTE INTSETUP          ;  // Interrupt 2&4 Setup
-
-// Input/Output
-
-EXTERN xdata _AT_(0xE670) volatile BYTE PORTACFG          ;  // I/O PORTA Alternate Configuration
-EXTERN xdata _AT_(0xE671) volatile BYTE PORTCCFG          ;  // I/O PORTC Alternate Configuration
-EXTERN xdata _AT_(0xE672) volatile BYTE PORTECFG          ;  // I/O PORTE Alternate Configuration
-EXTERN xdata _AT_(0xE678) volatile BYTE I2CS              ;  // Control & Status
-EXTERN xdata _AT_(0xE679) volatile BYTE I2DAT             ;  // Data
-EXTERN xdata _AT_(0xE67A) volatile BYTE I2CTL             ;  // I2C Control
-EXTERN xdata _AT_(0xE67B) volatile BYTE XAUTODAT1         ;  // Autoptr1 MOVX access
-EXTERN xdata _AT_(0xE67C) volatile BYTE XAUTODAT2         ;  // Autoptr2 MOVX access
-
-#define EXTAUTODAT1 XAUTODAT1
-#define EXTAUTODAT2 XAUTODAT2
-
-// USB Control
-
-EXTERN xdata _AT_(0xE680) volatile BYTE USBCS             ;  // USB Control & Status
-EXTERN xdata _AT_(0xE681) volatile BYTE SUSPEND           ;  // Put chip into suspend
-EXTERN xdata _AT_(0xE682) volatile BYTE WAKEUPCS          ;  // Wakeup source and polarity
-EXTERN xdata _AT_(0xE683) volatile BYTE TOGCTL            ;  // Toggle Control
-EXTERN xdata _AT_(0xE684) volatile BYTE USBFRAMEH         ;  // USB Frame count H
-EXTERN xdata _AT_(0xE685) volatile BYTE USBFRAMEL         ;  // USB Frame count L
-EXTERN xdata _AT_(0xE686) volatile BYTE MICROFRAME        ;  // Microframe count, 0-7
-EXTERN xdata _AT_(0xE687) volatile BYTE FNADDR            ;  // USB Function address
-
-// Endpoints
-
-EXTERN xdata _AT_(0xE68A) volatile BYTE EP0BCH            ;  // Endpoint 0 Byte Count H
-EXTERN xdata _AT_(0xE68B) volatile BYTE EP0BCL            ;  // Endpoint 0 Byte Count L
-EXTERN xdata _AT_(0xE68D) volatile BYTE EP1OUTBC          ;  // Endpoint 1 OUT Byte Count
-EXTERN xdata _AT_(0xE68F) volatile BYTE EP1INBC           ;  // Endpoint 1 IN Byte Count
-EXTERN xdata _AT_(0xE690) volatile BYTE EP2BCH            ;  // Endpoint 2 Byte Count H
-EXTERN xdata _AT_(0xE691) volatile BYTE EP2BCL            ;  // Endpoint 2 Byte Count L
-EXTERN xdata _AT_(0xE694) volatile BYTE EP4BCH            ;  // Endpoint 4 Byte Count H
-EXTERN xdata _AT_(0xE695) volatile BYTE EP4BCL            ;  // Endpoint 4 Byte Count L
-EXTERN xdata _AT_(0xE698) volatile BYTE EP6BCH            ;  // Endpoint 6 Byte Count H
-EXTERN xdata _AT_(0xE699) volatile BYTE EP6BCL            ;  // Endpoint 6 Byte Count L
-EXTERN xdata _AT_(0xE69C) volatile BYTE EP8BCH            ;  // Endpoint 8 Byte Count H
-EXTERN xdata _AT_(0xE69D) volatile BYTE EP8BCL            ;  // Endpoint 8 Byte Count L
-EXTERN xdata _AT_(0xE6A0) volatile BYTE EP0CS             ;  // Endpoint  Control and Status
-EXTERN xdata _AT_(0xE6A1) volatile BYTE EP1OUTCS          ;  // Endpoint 1 OUT Control and Status
-EXTERN xdata _AT_(0xE6A2) volatile BYTE EP1INCS           ;  // Endpoint 1 IN Control and Status
-EXTERN xdata _AT_(0xE6A3) volatile BYTE EP2CS             ;  // Endpoint 2 Control and Status
-EXTERN xdata _AT_(0xE6A4) volatile BYTE EP4CS             ;  // Endpoint 4 Control and Status
-EXTERN xdata _AT_(0xE6A5) volatile BYTE EP6CS             ;  // Endpoint 6 Control and Status
-EXTERN xdata _AT_(0xE6A6) volatile BYTE EP8CS             ;  // Endpoint 8 Control and Status
-EXTERN xdata _AT_(0xE6A7) volatile BYTE EP2FIFOFLGS       ;  // Endpoint 2 Flags
-EXTERN xdata _AT_(0xE6A8) volatile BYTE EP4FIFOFLGS       ;  // Endpoint 4 Flags
-EXTERN xdata _AT_(0xE6A9) volatile BYTE EP6FIFOFLGS       ;  // Endpoint 6 Flags
-EXTERN xdata _AT_(0xE6AA) volatile BYTE EP8FIFOFLGS       ;  // Endpoint 8 Flags
-EXTERN xdata _AT_(0xE6AB) volatile BYTE EP2FIFOBCH        ;  // EP2 FIFO total byte count H
-EXTERN xdata _AT_(0xE6AC) volatile BYTE EP2FIFOBCL        ;  // EP2 FIFO total byte count L
-EXTERN xdata _AT_(0xE6AD) volatile BYTE EP4FIFOBCH        ;  // EP4 FIFO total byte count H
-EXTERN xdata _AT_(0xE6AE) volatile BYTE EP4FIFOBCL        ;  // EP4 FIFO total byte count L
-EXTERN xdata _AT_(0xE6AF) volatile BYTE EP6FIFOBCH        ;  // EP6 FIFO total byte count H
-EXTERN xdata _AT_(0xE6B0) volatile BYTE EP6FIFOBCL        ;  // EP6 FIFO total byte count L
-EXTERN xdata _AT_(0xE6B1) volatile BYTE EP8FIFOBCH        ;  // EP8 FIFO total byte count H
-EXTERN xdata _AT_(0xE6B2) volatile BYTE EP8FIFOBCL        ;  // EP8 FIFO total byte count L
-EXTERN xdata _AT_(0xE6B3) volatile BYTE SUDPTRH           ;  // Setup Data Pointer high address byte
-EXTERN xdata _AT_(0xE6B4) volatile BYTE SUDPTRL           ;  // Setup Data Pointer low address byte
-EXTERN xdata _AT_(0xE6B5) volatile BYTE SUDPTRCTL         ;  // Setup Data Pointer Auto Mode
-EXTERN xdata _AT_(0xE6B8) volatile BYTE SETUPDAT[8]       ;  // 8 bytes of SETUP data
-
-// GPIF
-
-EXTERN xdata _AT_(0xE6C0) volatile BYTE GPIFWFSELECT      ;  // Waveform Selector
-EXTERN xdata _AT_(0xE6C1) volatile BYTE GPIFIDLECS        ;  // GPIF Done, GPIF IDLE drive mode
-EXTERN xdata _AT_(0xE6C2) volatile BYTE GPIFIDLECTL       ;  // Inactive Bus, CTL states
-EXTERN xdata _AT_(0xE6C3) volatile BYTE GPIFCTLCFG        ;  // CTL OUT pin drive
-EXTERN xdata _AT_(0xE6C4) volatile BYTE GPIFADRH          ;  // GPIF Address H
-EXTERN xdata _AT_(0xE6C5) volatile BYTE GPIFADRL          ;  // GPIF Address L
-
-EXTERN xdata _AT_(0xE6CE) volatile BYTE GPIFTCB3          ;  // GPIF Transaction Count Byte 3
-EXTERN xdata _AT_(0xE6CF) volatile BYTE GPIFTCB2          ;  // GPIF Transaction Count Byte 2
-EXTERN xdata _AT_(0xE6D0) volatile BYTE GPIFTCB1          ;  // GPIF Transaction Count Byte 1
-EXTERN xdata _AT_(0xE6D1) volatile BYTE GPIFTCB0          ;  // GPIF Transaction Count Byte 0
-
-#define EP2GPIFTCH GPIFTCB1   // these are here for backwards compatibility
-#define EP2GPIFTCL GPIFTCB0   // before REVE silicon (ie. REVB and REVD)
-#define EP4GPIFTCH GPIFTCB1   // these are here for backwards compatibility
-#define EP4GPIFTCL GPIFTCB0   // before REVE silicon (ie. REVB and REVD)
-#define EP6GPIFTCH GPIFTCB1   // these are here for backwards compatibility
-#define EP6GPIFTCL GPIFTCB0   // before REVE silicon (ie. REVB and REVD)
-#define EP8GPIFTCH GPIFTCB1   // these are here for backwards compatibility
-#define EP8GPIFTCL GPIFTCB0   // before REVE silicon (ie. REVB and REVD)
-
-// EXTERN xdata volatile BYTE EP2GPIFTCH     _AT_ 0xE6D0;  // EP2 GPIF Transaction Count High
-// EXTERN xdata volatile BYTE EP2GPIFTCL     _AT_ 0xE6D1;  // EP2 GPIF Transaction Count Low
-EXTERN xdata _AT_(0xE6D2) volatile BYTE EP2GPIFFLGSEL     ;  // EP2 GPIF Flag select
-EXTERN xdata _AT_(0xE6D3) volatile BYTE EP2GPIFPFSTOP     ;  // Stop GPIF EP2 transaction on prog. flag
-EXTERN xdata _AT_(0xE6D4) volatile BYTE EP2GPIFTRIG       ;  // EP2 FIFO Trigger
-// EXTERN xdata volatile BYTE EP4GPIFTCH     _AT_ 0xE6D8;  // EP4 GPIF Transaction Count High
-// EXTERN xdata volatile BYTE EP4GPIFTCL     _AT_ 0xE6D9;  // EP4 GPIF Transactionr Count Low
-EXTERN xdata _AT_(0xE6DA) volatile BYTE EP4GPIFFLGSEL     ;  // EP4 GPIF Flag select
-EXTERN xdata _AT_(0xE6DB) volatile BYTE EP4GPIFPFSTOP     ;  // Stop GPIF EP4 transaction on prog. flag
-EXTERN xdata _AT_(0xE6DC) volatile BYTE EP4GPIFTRIG       ;  // EP4 FIFO Trigger
-// EXTERN xdata volatile BYTE EP6GPIFTCH     _AT_ 0xE6E0;  // EP6 GPIF Transaction Count High
-// EXTERN xdata volatile BYTE EP6GPIFTCL     _AT_ 0xE6E1;  // EP6 GPIF Transaction Count Low
-EXTERN xdata _AT_(0xE6E2) volatile BYTE EP6GPIFFLGSEL     ;  // EP6 GPIF Flag select
-EXTERN xdata _AT_(0xE6E3) volatile BYTE EP6GPIFPFSTOP     ;  // Stop GPIF EP6 transaction on prog. flag
-EXTERN xdata _AT_(0xE6E4) volatile BYTE EP6GPIFTRIG       ;  // EP6 FIFO Trigger
-// EXTERN xdata volatile BYTE EP8GPIFTCH     _AT_ 0xE6E8;  // EP8 GPIF Transaction Count High
-// EXTERN xdata volatile BYTE EP8GPIFTCL     _AT_ 0xE6E9;  // EP8GPIF Transaction Count Low
-EXTERN xdata _AT_(0xE6EA) volatile BYTE EP8GPIFFLGSEL     ;  // EP8 GPIF Flag select
-EXTERN xdata _AT_(0xE6EB) volatile BYTE EP8GPIFPFSTOP     ;  // Stop GPIF EP8 transaction on prog. flag
-EXTERN xdata _AT_(0xE6EC) volatile BYTE EP8GPIFTRIG       ;  // EP8 FIFO Trigger
-EXTERN xdata _AT_(0xE6F0) volatile BYTE XGPIFSGLDATH      ;  // GPIF Data H (16-bit mode only)
-EXTERN xdata _AT_(0xE6F1) volatile BYTE XGPIFSGLDATLX     ;  // Read/Write GPIF Data L & trigger transac
-EXTERN xdata _AT_(0xE6F2) volatile BYTE XGPIFSGLDATLNOX   ;  // Read GPIF Data L, no transac trigger
-EXTERN xdata _AT_(0xE6F3) volatile BYTE GPIFREADYCFG      ;  // Internal RDY,Sync/Async, RDY5CFG
-EXTERN xdata _AT_(0xE6F4) volatile BYTE GPIFREADYSTAT     ;  // RDY pin states
-EXTERN xdata _AT_(0xE6F5) volatile BYTE GPIFABORT         ;  // Abort GPIF cycles
-
-// UDMA
-
-EXTERN xdata _AT_(0xE6C6) volatile BYTE FLOWSTATE         ; //Defines GPIF flow state
-EXTERN xdata _AT_(0xE6C7) volatile BYTE FLOWLOGIC         ; //Defines flow/hold decision criteria
-EXTERN xdata _AT_(0xE6C8) volatile BYTE FLOWEQ0CTL        ; //CTL states during active flow state
-EXTERN xdata _AT_(0xE6C9) volatile BYTE FLOWEQ1CTL        ; //CTL states during hold flow state
-EXTERN xdata _AT_(0xE6CA) volatile BYTE FLOWHOLDOFF       ;
-EXTERN xdata _AT_(0xE6CB) volatile BYTE FLOWSTB           ; //CTL/RDY Signal to use as master data strobe 
-EXTERN xdata _AT_(0xE6CC) volatile BYTE FLOWSTBEDGE       ; //Defines active master strobe edge
-EXTERN xdata _AT_(0xE6CD) volatile BYTE FLOWSTBHPERIOD    ; //Half Period of output master strobe
-EXTERN xdata _AT_(0xE60C) volatile BYTE GPIFHOLDAMOUNT    ; //Data delay shift 
-EXTERN xdata _AT_(0xE67D) volatile BYTE UDMACRCH          ; //CRC Upper byte
-EXTERN xdata _AT_(0xE67E) volatile BYTE UDMACRCL          ; //CRC Lower byte
-EXTERN xdata _AT_(0xE67F) volatile BYTE UDMACRCQUAL       ; //UDMA In only, host terminated use only
-
-
-// Debug/Test
-
-EXTERN xdata _AT_(0xE6F8) volatile BYTE DBUG              ;  // Debug
-EXTERN xdata _AT_(0xE6F9) volatile BYTE TESTCFG           ;  // Test configuration
-EXTERN xdata _AT_(0xE6FA) volatile BYTE USBTEST           ;  // USB Test Modes
-EXTERN xdata _AT_(0xE6FB) volatile BYTE CT1               ;  // Chirp Test--Override
-EXTERN xdata _AT_(0xE6FC) volatile BYTE CT2               ;  // Chirp Test--FSM
-EXTERN xdata _AT_(0xE6FD) volatile BYTE CT3               ;  // Chirp Test--Control Signals
-EXTERN xdata _AT_(0xE6FE) volatile BYTE CT4               ;  // Chirp Test--Inputs
-
-// Endpoint Buffers
-
-EXTERN xdata _AT_(0xE740) volatile BYTE EP0BUF[64]        ;  // EP0 IN-OUT buffer
-EXTERN xdata _AT_(0xE780) volatile BYTE EP1OUTBUF[64]     ;  // EP1-OUT buffer
-EXTERN xdata _AT_(0xE7C0) volatile BYTE EP1INBUF[64]      ;  // EP1-IN buffer
-EXTERN xdata _AT_(0xF000) volatile BYTE EP2FIFOBUF[1024]  ;  // 512/1024-byte EP2 buffer (IN or OUT)
-EXTERN xdata _AT_(0xF400) volatile BYTE EP4FIFOBUF[1024]  ;  // 512 byte EP4 buffer (IN or OUT)
-EXTERN xdata _AT_(0xF800) volatile BYTE EP6FIFOBUF[1024]  ;  // 512/1024-byte EP6 buffer (IN or OUT)
-EXTERN xdata _AT_(0xFC00) volatile BYTE EP8FIFOBUF[1024]  ;  // 512 byte EP8 buffer (IN or OUT)
-
-#undef EXTERN
-#undef _AT_
-
-/*-----------------------------------------------------------------------------
-   Special Function Registers (SFRs)
-   The byte registers and bits defined in the following list are based
-   on the Synopsis definition of the 8051 Special Function Registers for EZ-USB. 
-    If you modify the register definitions below, please regenerate the file 
-    "ezregs.inc" which includes the same basic information for assembly inclusion.
------------------------------------------------------------------------------*/
-
-// Port A
-sfr at 0x80 IOA;
-// Bit addressing on Port A
-sbit at 0x80+0 A0;
-sbit at 0x80+1 A1;
-sbit at 0x80+2 A2;
-sbit at 0x80+3 A3;
-sbit at 0x80+4 A4;
-sbit at 0x80+5 A5;
-sbit at 0x80+6 A6;
-sbit at 0x80+7 A7;
-
-sfr at 0x81 SP;
-sfr at 0x82 DPL;
-sfr at 0x83 DPH;
-sfr at 0x84 DPL1;
-sfr at 0x85 DPH1;
-sfr at 0x86 DPS;
-         /*  DPS  */
-         sbit at 0x86+0 SEL;
-sfr at 0x87 PCON;   /*  PCON  */
-         //sbit IDLE   = 0x87+0;
-         //sbit STOP   = 0x87+1;
-         //sbit GF0    = 0x87+2;
-         //sbit GF1    = 0x87+3;
-         //sbit SMOD0  = 0x87+7;
-sfr at 0x88 TCON;
-         /*  TCON  */
-         sbit at 0x88+0 IT0;
-         sbit at 0x88+1 IE0;
-         sbit at 0x88+2 IT1;
-         sbit at 0x88+3 IE1;
-         sbit at 0x88+4 TR0;
-         sbit at 0x88+5 TF0;
-         sbit at 0x88+6 TR1;
-         sbit at 0x88+7 TF1;
-sfr at 0x89 TMOD;
-         /*  TMOD  */
-         //sbit M00    = 0x89+0;
-         //sbit M10    = 0x89+1;
-         //sbit CT0    = 0x89+2;
-         //sbit GATE0  = 0x89+3;
-         //sbit M01    = 0x89+4;
-         //sbit M11    = 0x89+5;
-         //sbit CT1    = 0x89+6;
-         //sbit GATE1  = 0x89+7;
-sfr at 0x8A TL0;
-sfr at 0x8B TL1;
-sfr at 0x8C TH0;
-sfr at 0x8D TH1;
-sfr at 0x8E CKCON;
-         /*  CKCON  */
-         //sbit MD0    = 0x89+0;
-         //sbit MD1    = 0x89+1;
-         //sbit MD2    = 0x89+2;
-         //sbit T0M    = 0x89+3;
-         //sbit T1M    = 0x89+4;
-         //sbit T2M    = 0x89+5;
-// sfr at 0x8F SPC_FNC; // Was WRS in Reg320
-         /*  CKCON  */
-         //sbit WRS    = 0x8F+0;
-sfr at 0x90 IOB;
-sfr at 0x91 EXIF; // EXIF Bit Values differ from Reg320
-         /*  EXIF  */
-         //sbit USBINT = 0x91+4;
-         //sbit I2CINT = 0x91+5;
-         //sbit IE4    = 0x91+6;
-         //sbit IE5    = 0x91+7;
-sfr at 0x92 MPAGE;
-sfr at 0x98 SCON0;
-         /*  SCON0  */
-         sbit at 0x98+0 RI;
-         sbit at 0x98+1 TI;
-         sbit at 0x98+2 RB8;
-         sbit at 0x98+3 TB8;
-         sbit at 0x98+4 REN;
-         sbit at 0x98+5 SM2;
-         sbit at 0x98+6 SM1;
-         sbit at 0x98+7 SM0;
-sfr at 0x99 SBUF0;
-
-sfr at 0x9A APTR1H;
-sfr at 0x9B APTR1L;
-sfr at 0x9C AUTODAT1; 
-sfr at 0x9D AUTOPTRH2;
-sfr at 0x9E AUTOPTRL2; 
-sfr at 0x9F AUTODAT2;
-sfr at 0xA0 IOC;
-sfr at 0xA1 INT2CLR;
-sfr at 0xA2 INT4CLR;
-
-#define	AUTOPTRH1	APTR1H
-#define	AUTOPTRL1	APTR1L
-
-sfr at 0xA8 IE;
-         /*  IE  */
-         sbit at 0xA8+0 EX0;
-         sbit at 0xA8+1 ET0;
-         sbit at 0xA8+2 EX1;
-         sbit at 0xA8+3 ET1;
-         sbit at 0xA8+4 ES0;
-         sbit at 0xA8+5 ET2;
-         sbit at 0xA8+6 ES1;
-         sbit at 0xA8+7 EA;
-
-sfr at 0xAA EP2468STAT;
-         /* EP2468STAT */
-         //sbit EP2E   = 0xAA+0;
-         //sbit EP2F   = 0xAA+1;
-         //sbit EP4E   = 0xAA+2;
-         //sbit EP4F   = 0xAA+3;
-         //sbit EP6E   = 0xAA+4;
-         //sbit EP6F   = 0xAA+5;
-         //sbit EP8E   = 0xAA+6;
-         //sbit EP8F   = 0xAA+7;
-
-sfr at 0xAB EP24FIFOFLGS;
-sfr at 0xAC EP68FIFOFLGS;
-sfr at 0xAF AUTOPTRSETUP;
-            /* AUTOPTRSETUP */
-            // sbit EXTACC  = 0xAF+0;
-            // sbit APTR1FZ = 0xAF+1;
-            // sbit APTR2FZ = 0xAF+2;
-
-// Port D
-sfr at 0xB0 IOD;
-// Bit addressing on Port D
-sbit at 0xB0+0 D0;
-sbit at 0xB0+1 D1;
-sbit at 0xB0+2 D2;
-sbit at 0xB0+3 D3;
-sbit at 0xB0+4 D4;
-sbit at 0xB0+5 D5;
-sbit at 0xB0+6 D6;
-sbit at 0xB0+7 D7;
-
-sfr at 0xB1 IOE;
-sfr at 0xB2 OEA;
-sfr at 0xB3 OEB;
-sfr at 0xB4 OEC;
-sfr at 0xB5 OED;
-sfr at 0xB6 OEE;
-
-sfr at 0xB8 IP;
-         /*  IP  */
-         sbit at 0xB8+0 PX0;
-         sbit at 0xB8+1 PT0;
-         sbit at 0xB8+2 PX1;
-         sbit at 0xB8+3 PT1;
-         sbit at 0xB8+4 PS0;
-         sbit at 0xB8+5 PT2;
-         sbit at 0xB8+6 PS1;
-
-sfr at 0xBA EP01STAT;
-sfr at 0xBB GPIFTRIG;
-                
-sfr at 0xBD GPIFSGLDATH;
-sfr at 0xBE GPIFSGLDATLX;
-sfr at 0xBF GPIFSGLDATLNOX;
-
-sfr at 0xC0 SCON1;
-         /*  SCON1  */
-         sbit at 0xC0+0 RI1;
-         sbit at 0xC0+1 TI1;
-         sbit at 0xC0+2 RB81;
-         sbit at 0xC0+3 TB81;
-         sbit at 0xC0+4 REN1;
-         sbit at 0xC0+5 SM21;
-         sbit at 0xC0+6 SM11;
-         sbit at 0xC0+7 SM01;
-sfr at 0xC1 SBUF1;
-sfr at 0xC8 T2CON;
-         /*  T2CON  */
-	 sbit at 0xC8+0 CP_RL2;
-	 sbit at 0xC8+1 C_T2;
-         sbit at 0xC8+2 TR2;
-         sbit at 0xC8+3 EXEN2;
-         sbit at 0xC8+4 TCLK;
-         sbit at 0xC8+5 RCLK;
-         sbit at 0xC8+6 EXF2;
-         sbit at 0xC8+7 TF2;
-sfr at 0xCA RCAP2L;
-sfr at 0xCB RCAP2H;
-sfr at 0xCC TL2;
-sfr at 0xCD TH2;
-sfr at 0xD0 PSW;
-         /*  PSW  */
-         sbit at 0xD0+0 P;
-         sbit at 0xD0+1 FL;
-         sbit at 0xD0+2 OV;
-         sbit at 0xD0+3 RS0;
-         sbit at 0xD0+4 RS1;
-         sbit at 0xD0+5 F0;
-         sbit at 0xD0+6 AC;
-         sbit at 0xD0+7 CY;
-sfr at 0xD8 EICON; // Was WDCON in DS80C320 EICON; Bit Values differ from Reg320
-         /*  EICON  */
-         sbit at 0xD8+3 INT6;
-         sbit at 0xD8+4 RESI;
-         sbit at 0xD8+5 ERESI;
-         sbit at 0xD8+7 SMOD1;
-sfr at 0xE0 ACC;
-sfr at 0xE8 EIE; // EIE Bit Values differ from Reg320
-                        /*  EIE  */
-         sbit at 0xE8+0 EIUSB;
-         sbit at 0xE8+1 EI2C;
-         sbit at 0xE8+2 EIEX4;
-         sbit at 0xE8+3 EIEX5;
-         sbit at 0xE8+4 EIEX6;
-sfr at 0xF0 B;
-sfr at 0xF8 EIP; // EIP Bit Values differ from Reg320
-                        /*  EIP  */
-         sbit at 0xF8+0 PUSB;
-         sbit at 0xF8+1 PI2C;
-         sbit at 0xF8+2 EIPX4;
-         sbit at 0xF8+3 EIPX5;
-         sbit at 0xF8+4 EIPX6;
-
-/*-----------------------------------------------------------------------------
-   Bit Masks
------------------------------------------------------------------------------*/
-
-#define bmBIT0	1
-#define bmBIT1	2
-#define bmBIT2	4
-#define bmBIT3	8
-#define bmBIT4	16
-#define bmBIT5	32
-#define bmBIT6	64
-#define bmBIT7	128
-
-/* CPU Control & Status Register (CPUCS) */
-#define bmPRTCSTB    bmBIT5
-#define bmCLKSPD     (bmBIT4 | bmBIT3)
-#define bmCLKSPD1    bmBIT4
-#define bmCLKSPD0    bmBIT3
-#define bmCLKINV     bmBIT2
-#define bmCLKOE      bmBIT1
-#define bm8051RES    bmBIT0
-/* Port Alternate Configuration Registers */
-/* Port A (PORTACFG) */
-#define bmFLAGD      bmBIT7
-#define bmINT1       bmBIT1
-#define bmINT0       bmBIT0
-/* Port C (PORTCCFG) */
-#define bmGPIFA7     bmBIT7
-#define bmGPIFA6     bmBIT6
-#define bmGPIFA5     bmBIT5
-#define bmGPIFA4     bmBIT4
-#define bmGPIFA3     bmBIT3
-#define bmGPIFA2     bmBIT2
-#define bmGPIFA1     bmBIT1
-#define bmGPIFA0     bmBIT0
-/* Port E (PORTECFG) */
-#define bmGPIFA8     bmBIT7
-#define bmT2EX       bmBIT6
-#define bmINT6       bmBIT5
-#define bmRXD1OUT    bmBIT4
-#define bmRXD0OUT    bmBIT3
-#define bmT2OUT      bmBIT2
-#define bmT1OUT      bmBIT1
-#define bmT0OUT      bmBIT0
-
-/* I2C Control & Status Register (I2CS) */
-#define bmSTART      bmBIT7
-#define bmSTOP       bmBIT6
-#define bmLASTRD     bmBIT5
-#define bmID         (bmBIT4 | bmBIT3)
-#define bmBERR       bmBIT2
-#define bmACK        bmBIT1
-#define bmDONE       bmBIT0
-/* I2C Control Register (I2CTL) */
-#define bmSTOPIE     bmBIT1
-#define bm400KHZ     bmBIT0
-/* Interrupt 2 (USB) Autovector Register (INT2IVEC) */
-#define bmIV4        bmBIT6
-#define bmIV3        bmBIT5
-#define bmIV2        bmBIT4
-#define bmIV1        bmBIT3
-#define bmIV0        bmBIT2
-/* USB Interrupt Request & Enable Registers (USBIE/USBIRQ) */
-#define bmEP0ACK     bmBIT6
-#define bmHSGRANT    bmBIT5
-#define bmURES       bmBIT4
-#define bmSUSP       bmBIT3
-#define bmSUTOK      bmBIT2
-#define bmSOF        bmBIT1
-#define bmSUDAV      bmBIT0
-/* Breakpoint register (BREAKPT) */
-#define bmBREAK      bmBIT3
-#define bmBPPULSE    bmBIT2
-#define bmBPEN       bmBIT1
-/* Interrupt 2 & 4 Setup (INTSETUP) */
-#define bmAV2EN      bmBIT3
-#define bmINT4IN     bmBIT1
-#define bmAV4EN      bmBIT0
-/* USB Control & Status Register (USBCS) */
-#define bmHSM        bmBIT7
-#define bmDISCON     bmBIT3
-#define bmNOSYNSOF   bmBIT2
-#define bmRENUM      bmBIT1
-#define bmSIGRESUME  bmBIT0
-/* Wakeup Control and Status Register (WAKEUPCS) */
-#define bmWU2        bmBIT7
-#define bmWU         bmBIT6
-#define bmWU2POL     bmBIT5
-#define bmWUPOL      bmBIT4
-#define bmDPEN       bmBIT2
-#define bmWU2EN      bmBIT1
-#define bmWUEN       bmBIT0
-/* End Point 0 Control & Status Register (EP0CS) */
-#define bmHSNAK      bmBIT7
-/* End Point 0-1 Control & Status Registers (EP0CS/EP1OUTCS/EP1INCS) */
-#define bmEPBUSY     bmBIT1
-#define bmEPSTALL    bmBIT0
-/* End Point 2-8 Control & Status Registers (EP2CS/EP4CS/EP6CS/EP8CS) */
-#define bmNPAK       (bmBIT6 | bmBIT5 | bmBIT4)
-#define bmEPFULL     bmBIT3
-#define bmEPEMPTY    bmBIT2
-/* Endpoint Status (EP2468STAT) SFR bits */
-#define bmEP8FULL    bmBIT7
-#define bmEP8EMPTY   bmBIT6
-#define bmEP6FULL    bmBIT5
-#define bmEP6EMPTY   bmBIT4
-#define bmEP4FULL    bmBIT3
-#define bmEP4EMPTY   bmBIT2
-#define bmEP2FULL    bmBIT1
-#define bmEP2EMPTY   bmBIT0
-/* SETUP Data Pointer Auto Mode (SUDPTRCTL) */
-#define bmSDPAUTO    bmBIT0
-/* Endpoint Data Toggle Control (TOGCTL) */
-#define bmQUERYTOGGLE  bmBIT7
-#define bmSETTOGGLE    bmBIT6
-#define bmRESETTOGGLE  bmBIT5
-#define bmTOGCTLEPMASK bmBIT3 | bmBIT2 | bmBIT1 | bmBIT0
-/* IBN (In Bulk Nak) enable and request bits (IBNIE/IBNIRQ) */
-#define bmEP8IBN     bmBIT5
-#define bmEP6IBN     bmBIT4
-#define bmEP4IBN     bmBIT3
-#define bmEP2IBN     bmBIT2
-#define bmEP1IBN     bmBIT1
-#define bmEP0IBN     bmBIT0
-
-/* PING-NAK enable and request bits (NAKIE/NAKIRQ) */
-#define bmEP8PING     bmBIT7
-#define bmEP6PING     bmBIT6
-#define bmEP4PING     bmBIT5
-#define bmEP2PING     bmBIT4
-#define bmEP1PING     bmBIT3
-#define bmEP0PING     bmBIT2
-#define bmIBN         bmBIT0
-
-/* Interface Configuration bits (IFCONFIG) */
-#define bmIFCLKSRC    bmBIT7		// set == INTERNAL
-#define bm3048MHZ     bmBIT6		// set == 48 MHz
-#define bmIFCLKOE     bmBIT5
-#define bmIFCLKPOL    bmBIT4
-#define bmASYNC       bmBIT3
-#define bmGSTATE      bmBIT2
-#define bmIFCFG1      bmBIT1
-#define bmIFCFG0      bmBIT0
-#define bmIFCFGMASK   (bmIFCFG0 | bmIFCFG1)
-#define bmIFGPIF      bmIFCFG1
-
-/* EP 2468 FIFO Configuration bits (EP2FIFOCFG,EP4FIFOCFG,EP6FIFOCFG,EP8FIFOCFG) */
-#define bmINFM       bmBIT6
-#define bmOEP        bmBIT5
-#define bmAUTOOUT    bmBIT4
-#define bmAUTOIN     bmBIT3
-#define bmZEROLENIN  bmBIT2
-//   must be zero    bmBIT1
-#define bmWORDWIDE   bmBIT0
-
-/*
- * Chip Revision Control Bits (REVCTL) - used to ebable/disable revision specific features
- */ 
-#define bmNOAUTOARM    bmBIT1	// these don't match the docs
-#define bmSKIPCOMMIT   bmBIT0	// these don't match the docs
-
-#define	bmDYN_OUT      bmBIT1	// these do...
-#define	bmENH_PKT      bmBIT0
-
-
-/* Fifo Reset bits (FIFORESET) */
-#define bmNAKALL       bmBIT7
-
-/* Endpoint Configuration (EPxCFG) */
-#define	bmVALID		bmBIT7
-#define	bmIN		bmBIT6
-#define	bmTYPE1		bmBIT5
-#define	bmTYPE0		bmBIT4
-#define	  bmISOCHRONOUS		bmTYPE0
-#define	  bmBULK		bmTYPE1
-#define	  bmINTERRUPT	       (bmTYPE1 | bmTYPE0)
-#define	bm1KBUF		bmBIT3
-#define	bmBUF1		bmBIT1
-#define	bmBUF0		bmBIT0
-#define	  bmQUADBUF		0
-#define	  bmINVALIDBUF		bmBUF0
-#define	  bmDOUBLEBUF		bmBUF1
-#define	  bmTRIPLEBUF		(bmBUF1 | bmBUF0)
-
-/* OUTPKTEND */
-#define	bmSKIP		bmBIT7	// low 4 bits specify which end point
-
-/* GPIFTRIG defs */
-#define	bmGPIF_IDLE		bmBIT7		// status bit
-
-#define	bmGPIF_EP2_START     	     0
-#define	bmGPIF_EP4_START             1
-#define	bmGPIF_EP6_START             2
-#define	bmGPIF_EP8_START             3
-#define	bmGPIF_READ		bmBIT2
-#define	bmGPIF_WRITE		     0
-
-/* EXIF bits */
-#define	bmEXIF_USBINT		bmBIT4
-#define	bmEXIF_I2CINT		bmBIT5
-#define	bmEXIF_IE4		bmBIT6
-#define	bmEXIF_IE5		bmBIT7
-
-
-#endif   /* FX2REGS_H */
diff --git a/firmware/GN3S_v2/include/fx2utils.h b/firmware/GN3S_v2/include/fx2utils.h
deleted file mode 100644
index 9c2e99d..0000000
--- a/firmware/GN3S_v2/include/fx2utils.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/* -*- c -*- */
-/*
- * Copyright 2003 Free Software Foundation, Inc.
- * 
- * This file is part of GNU Radio
- * 
- * GNU Radio 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, or (at your option)
- * any later version.
- * 
- * GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
- * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-#ifndef _FX2UTILS_H_
-#define _FX2UTILS_H_
-
-void fx2_stall_ep0 (void);
-void fx2_reset_data_toggle (unsigned char ep);
-void fx2_renumerate (void);
-
-
-
-#endif /* _FX2UTILS_H_ */
diff --git a/firmware/GN3S_v2/include/gn3s_main.h b/firmware/GN3S_v2/include/gn3s_main.h
deleted file mode 100644
index eaa0d42..0000000
--- a/firmware/GN3S_v2/include/gn3s_main.h
+++ /dev/null
@@ -1,97 +0,0 @@
-/* 
- * Code from: USRP - Universal Software Radio Peripheral (GNU Radio) 
- * 
- * Initial modifications by: 
- * 
- * Stephan Esterhuizen, Aerospace Engineering Sciences 
- * University of Colorado at Boulder 
- * Boulder CO, USA 
- *  
- * Further modifications for use with the SiGe USB module to accompany 
- * the textbook: "A Software-Defined GPS and Galileo Receiver: A 
- * Single-Frequency Approach" by Kai Borre, Dennis Akos, et.al. by: 
- * 
- * Marcus Junered, GNSS Research Group 
- * Lulea University of Technology 
- * Lulea, Sweden  
- *
- * http://ccar.colorado.edu/gnss 
- * 
- * --------------------------------------------------------------------- 
- * 
- * GN3S - GNSS IF Streamer for Windows 
- * Copyright (C) 2006 Marcus Junered 
- * 
- * 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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
- */ 
- 
- 
-#ifndef _GN3S_MAIN_ 
-#define _GN3S_MAIN_ 
- 
-#include "usrp_common.h" 
-#include "fx2regs.h" 
-#include "gn3s_regs.h" 
-#include "gpif_inline.h" 
-#include "timer.h" 
-#include "isr.h" 
-#include "usb_common.h" 
-#include "fx2utils.h" 
-#include "gn3s_se4110.h" 
-#include "eeprom.h" 
-#include <string.h> 
- 
- 
-// ---------------------------------------------------------------- 
-//          Vendor bmRequestType's 
-// ---------------------------------------------------------------- 
-#define VRT_VENDOR_IN	0xC0 
-#define VRT_VENDOR_OUT	0x40 
- 
-// IN commands 
-#define VRQ_GET_STATUS  0x80 
-#define GS_TX_UNDERRUN  0   // wIndexL  // returns 1 byte 
-#define GS_RX_OVERRUN   1   // wIndexL  // returns 1 byte 
- 
-// OUT commands 
-#define VRQ_XFER	0x01  
-#define VRQ_XFER_TX	0x02  
- 
-#define	bRequestType	SETUPDAT[0] 
-#define	bRequest	SETUPDAT[1] 
-#define	wValueL		SETUPDAT[2] 
-#define	wValueH		SETUPDAT[3] 
-#define	wIndexL		SETUPDAT[4] 
-#define	wIndexH		SETUPDAT[5] 
-#define	wLengthL	SETUPDAT[6] 
-#define	wLengthH	SETUPDAT[7] 
-#define	GUARD       4073
-#undef wordwide
- 
-// A9 specific 
-#define VRQ_EEPROM  	0xa2 // loads (uploads) EEPROM 
-#define	VRQ_RAM	      	0xa3 // loads (uploads) external ram 
-#define VRQ_DB_FX	0xa9 // Force use of double byte address EEPROM 
-#define EP0BUFF_SIZE	0x40 
- 
- 
-// Prototypes 
-static void get_ep0_data(void); 
-unsigned char app_vendor_cmd(void); 
-void guardC(void) interrupt;
-static void main_loop(void); 
-void TD_Init(); 
- 
-#endif 
diff --git a/firmware/GN3S_v2/include/gn3s_regs.h b/firmware/GN3S_v2/include/gn3s_regs.h
deleted file mode 100644
index 03eecaf..0000000
--- a/firmware/GN3S_v2/include/gn3s_regs.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/* 
- * Code from: USRP - Universal Software Radio Peripheral (GNU Radio) 
- * 
- * Initial modifications by: 
- * 
- * Stephan Esterhuizen, Aerospace Engineering Sciences 
- * University of Colorado at Boulder 
- * Boulder CO, USA 
- *  
- * Further modifications for use with the SiGe USB module to accompany 
- * the textbook: "A Software-Defined GPS and Galileo Receiver: A 
- * Single-Frequency Approach" by Kai Borre, Dennis Akos, et.al. by: 
- * 
- * Marcus Junered, GNSS Research Group 
- * Lulea University of Technology 
- * Lulea, Sweden  
- * 
- * http://ccar.colorado.edu/gnss
- * 
- * --------------------------------------------------------------------- 
- * 
- * GN3S - GNSS IF Streamer for Windows 
- * Copyright (C) 2006 Marcus Junered 
- * 
- * 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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
- */ 
- 
- 
-#ifndef _GN3S_REGS_H_
-#define _GN3S_REGS_H_
-
-/* Port A (bit addressable): */
-#define	bmPORT_A_OUTPUTS  0	/* All inputs */
-#define	bmPORT_A_INITIAL  0
-
-/* Port B: GPIF	FD[7:0] */
-// FIFO Input
-
-/* Port C */
-#define	bmPORT_C_OUTPUTS 0
-#define	bmPORT_C_INITIAL 0
-
-/* Port D: GPIF	FD[15:8] */
-#define bmPORT_D_OUTPUTS 0
-#define bmPORT_D_INITIAL 0
-
-/* Port E: not bit addressible */
-#define	bmPORT_E_OUTPUTS 0
-#define	bmPORT_E_INITIAL 0
-
-#endif 
diff --git a/firmware/GN3S_v2/include/gn3s_se4110.h b/firmware/GN3S_v2/include/gn3s_se4110.h
deleted file mode 100644
index 996d40e..0000000
--- a/firmware/GN3S_v2/include/gn3s_se4110.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/* 
- * Code from: USRP - Universal Software Radio Peripheral (GNU Radio) 
- * 
- * Initial modifications by: 
- * 
- * Stephan Esterhuizen, Aerospace Engineering Sciences 
- * University of Colorado at Boulder 
- * Boulder CO, USA 
- *  
- * Further modifications for use with the SiGe USB module to accompany 
- * the textbook: "A Software-Defined GPS and Galileo Receiver: A 
- * Single-Frequency Approach" by Kai Borre, Dennis Akos, et.al. by: 
- * 
- * Marcus Junered, GNSS Research Group 
- * Lulea University of Technology 
- * Lulea, Sweden  
- * 
- * http://ccar.colorado.edu/gnss
- * 
- * --------------------------------------------------------------------- 
- * 
- * GN3S - GNSS IF Streamer for Windows 
- * Copyright (C) 2006 Marcus Junered 
- * 
- * 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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
- */ 
- 
- 
-#ifndef _GN3S_SE4110_
-#define _GN3S_SE4110_
-
-#include "fx2regs.h"
-#include "delay.h"
-
-/* Prototypes */
-char init_se4110(void);
-char enable_se4110(void);
-char disable_se4110(void);
-char reset_se4110(void);
-char program_3w(void);
-#endif
diff --git a/firmware/GN3S_v2/include/gpif_inline.h b/firmware/GN3S_v2/include/gpif_inline.h
deleted file mode 100644
index ec01472..0000000
--- a/firmware/GN3S_v2/include/gpif_inline.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Machine generated by "edit-gpif".  Do not edit by hand.
- */
-
-#define setup_flowstate_common()	\
-do {					\
-     FLOWSTATE = 0x80;			\
-     FLOWLOGIC = 0xed;			\
-    FLOWEQ0CTL = 0x00;			\
-    FLOWEQ1CTL = 0x00;			\
-   FLOWHOLDOFF = 0x00;			\
-       FLOWSTB = 0x00;			\
-   FLOWSTBEDGE = 0x03;			\
-FLOWSTBHPERIOD = 0x02;			\
-GPIFHOLDAMOUNT = 0x00;			\
-} while (0)
-
-#define setup_flowstate_read()	\
-do {					\
-     FLOWLOGIC = 0xed;			\
-} while (0)
-
-#define setup_flowstate_write()	\
-do {					\
-     FLOWLOGIC = 0xee;			\
-} while (0)
-
diff --git a/firmware/GN3S_v2/include/isr.h b/firmware/GN3S_v2/include/isr.h
deleted file mode 100644
index 2081175..0000000
--- a/firmware/GN3S_v2/include/isr.h
+++ /dev/null
@@ -1,172 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2003 Free Software Foundation, Inc.
- * 
- * This file is part of GNU Radio
- * 
- * GNU Radio 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, or (at your option)
- * any later version.
- * 
- * GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
- * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef _ISR_H_
-#define _ISR_H_
-
-/*
- * ----------------------------------------------------------------
- *	routines for managing interrupt services routines
- * ----------------------------------------------------------------
- */
-
-/*
- * The FX2 has three discrete sets of interrupt vectors.
- * The first set is the standard 8051 vector (13 8-byte entries).
- * The second set is USB interrupt autovector (32 4-byte entries).
- * The third set is the FIFO/GPIF autovector (14 4-byte entries).
- *
- * Since all the code we're running in the FX2 is ram based, we
- * forego the typical "initialize the interrupt vectors at link time"
- * strategy, in favor of calls at run time that install the correct
- * pointers to functions.
- */
-
-/*
- * Standard Vector numbers
- */
-
-#define	SV_INT_0		0x03
-#define	SV_TIMER_0		0x0b
-#define	SV_INT_1		0x13
-#define	SV_TIMER_1		0x1b
-#define	SV_SERIAL_0		0x23
-#define	SV_TIMER_2		0x2b
-#define	SV_RESUME		0x33
-#define	SV_SERIAL_1		0x3b
-#define	SV_INT_2		0x43		// (INT_2) points at USB autovector
-#define	SV_I2C			0x4b
-#define	SV_INT_4		0x53		// (INT_4) points at FIFO/GPIF autovector
-#define	SV_INT_5		0x5b
-#define	SV_INT_6		0x63
-
-#define	SV_MIN			SV_INT_0
-#define	SV_MAX			SV_INT_6
-
-/*
- * USB Auto Vector numbers
- */
-
-#define	UV_SUDAV		0x00
-#define	UV_SOF			0x04
-#define	UV_SUTOK		0x08
-#define	UV_SUSPEND		0x0c
-#define	UV_USBRESET		0x10
-#define	UV_HIGHSPEED		0x14
-#define	UV_EP0ACK		0x18
-#define	UV_SPARE_1C		0x1c
-#define	UV_EP0IN		0x20
-#define	UV_EP0OUT		0x24
-#define	UV_EP1IN		0x28
-#define	UV_EP1OUT		0x2c
-#define	UV_EP2			0x30
-#define	UV_EP4			0x34
-#define	UV_EP6			0x38
-#define	UV_EP8			0x3c
-#define	UV_IBN			0x40
-#define	UV_SPARE_44		0x44
-#define	UV_EP0PINGNAK		0x48
-#define	UV_EP1PINGNAK		0x4c
-#define	UV_EP2PINGNAK		0x50
-#define	UV_EP4PINGNAK		0x54
-#define	UV_EP6PINGNAK		0x58
-#define	UV_EP8PINGNAK		0x5c
-#define	UV_ERRLIMIT		0x60
-#define	UV_SPARE_64		0x64
-#define	UV_SPARE_68		0x68
-#define	UV_SPARE_6C		0x6c
-#define	UV_EP2ISOERR		0x70
-#define	UV_EP4ISOERR		0x74
-#define	UV_EP6ISOERR		0x78
-#define	UV_EP8ISOERR		0x7c
-
-#define	UV_MIN			UV_SUDAV
-#define	UV_MAX			UV_EP8ISOERR
-
-/*
- * FIFO/GPIF Auto Vector numbers
- */
-
-#define	FGV_EP2PF		0x80
-#define	FGV_EP4PF		0x84
-#define	FGV_EP6PF		0x88
-#define	FGV_EP8PF		0x8c
-#define	FGV_EP2EF		0x90
-#define	FGV_EP4EF		0x94
-#define	FGV_EP6EF		0x98
-#define	FGV_EP8EF		0x9c
-#define	FGV_EP2FF		0xa0
-#define	FGV_EP4FF		0xa4
-#define	FGV_EP6FF		0xa8
-#define	FGV_EP8FF		0xac
-#define	FGV_GPIFDONE		0xb0
-#define	FGV_GPIFWF		0xb4
-
-#define	FGV_MIN			FGV_EP2PF
-#define	FGV_MAX			FGV_GPIFWF
-
-
-/*
- * Hook standard interrupt vector.
- *
- * vector_number is from the SV_<foo> list above.
- * addr is the address of the interrupt service routine.
- */
-void hook_sv (unsigned char vector_number, unsigned short addr);
-
-/*
- * Hook usb interrupt vector.
- *
- * vector_number is from the UV_<foo> list above.
- * addr is the address of the interrupt service routine.
- */
-void hook_uv (unsigned char vector_number, unsigned short addr);
-
-/*
- * Hook fifo/gpif interrupt vector.
- *
- * vector_number is from the FGV_<foo> list above.
- * addr is the address of the interrupt service routine.
- */
-void hook_fgv (unsigned char vector_number, unsigned short addr);
-
-/*
- * One time call to enable autovectoring for both USB and FIFO/GPIF
- */
-void setup_autovectors (void);
-
-
-/*
- * Must be called in each usb interrupt handler
- */
-#define	clear_usb_irq()			\
-	EXIF &= ~bmEXIF_USBINT;		\
-	INT2CLR = 0
-
-/*
- * Must be calledin each fifo/gpif interrupt handler
- */
-#define	clear_fifo_gpif_irq()		\
-	EXIF &= ~bmEXIF_IE4;		\
-	INT4CLR = 0
-
-#endif /* _ISR_H_ */
diff --git a/firmware/GN3S_v2/include/syncdelay.h b/firmware/GN3S_v2/include/syncdelay.h
deleted file mode 100644
index fa67338..0000000
--- a/firmware/GN3S_v2/include/syncdelay.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2003 Free Software Foundation, Inc.
- * 
- * This file is part of GNU Radio
- * 
- * GNU Radio 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, or (at your option)
- * any later version.
- * 
- * GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
- * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-#ifndef _SYNCDELAY_H_
-#define _SYNCDELAY_H_
-
-/*
- * Magic delay required between access to certain xdata registers (TRM page 15-106).
- * For our configuration, 48 MHz FX2 / 48 MHz IFCLK, we need three cycles.  Each
- * NOP is a single cycle....
- *
- * From TRM page 15-105:
- *
- * Under certain conditions, some read and write access to the FX2 registers must
- * be separated by a "synchronization delay".  The delay is necessary only under the
- * following conditions:
- *
- *   - between a write to any register in the 0xE600 - 0xE6FF range and a write to one
- *     of the registers listed below.
- *
- *   - between a write to one of the registers listed below and a read from any register
- *     in the 0xE600 - 0xE6FF range.
- *
- *   Registers which require a synchronization delay:
- *
- *	FIFORESET			FIFOPINPOLAR
- *	INPKTEND			EPxBCH:L
- *	EPxFIFOPFH:L			EPxAUTOINLENH:L
- *	EPxFIFOCFG			EPxGPIFFLGSEL
- *	PINFLAGSAB			PINFLAGSCD
- *	EPxFIFOIE			EPxFIFOIRQ
- *	GPIFIE				GPIFIRQ
- *	UDMACRCH:L			GPIFADRH:L
- *	GPIFTRIG			EPxGPIFTRIG
- *	OUTPKTEND			REVCTL
- *	GPIFTCB3			GPIFTCB2
- *	GPIFTCB1			GPIFTCB0
- */
-
-/*
- * FIXME ensure that the peep hole optimizer isn't screwing us
- */
-#define	SYNCDELAY	_asm nop; nop; nop; _endasm
-#define	NOP		_asm nop; _endasm
-
-
-#endif /* _SYNCDELAY_H_ */
diff --git a/firmware/GN3S_v2/include/timer.h b/firmware/GN3S_v2/include/timer.h
deleted file mode 100644
index 7bb640e..0000000
--- a/firmware/GN3S_v2/include/timer.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2003 Free Software Foundation, Inc.
- * 
- * This file is part of GNU Radio
- * 
- * GNU Radio 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, or (at your option)
- * any later version.
- * 
- * GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
- * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef _TIMER_H_
-#define _TIMER_H_
-
-/*
- * Arrange to have isr_tick_handler called at 100 Hz
- */
-void hook_timer_tick (unsigned short isr_tick_handler);
-
-#define clear_timer_irq()  				\
-	TF2 = 0 	/* clear overflow flag */
-
-
-#endif /* _TIMER_H_ */
diff --git a/firmware/GN3S_v2/include/usb_common.h b/firmware/GN3S_v2/include/usb_common.h
deleted file mode 100644
index 27b2f46..0000000
--- a/firmware/GN3S_v2/include/usb_common.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/* -*- c -*- */
-/*
- * Copyright 2003 Free Software Foundation, Inc.
- * 
- * This file is part of GNU Radio
- * 
- * GNU Radio 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, or (at your option)
- * any later version.
- * 
- * GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
- * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef _USB_COMMON_H_
-#define _USB_COMMON_H_
-
-extern volatile bit _usb_got_SUDAV;
-extern volatile bit _usb_rx_overrun;
-
-// Provided by user application to handle VENDOR commands.
-// returns non-zero if it handled the command.
-unsigned char app_vendor_cmd (void);
-
-void usb_install_handlers (void);
-void usb_handle_setup_packet (void);
-
-#define usb_setup_packet_avail()	_usb_got_SUDAV
-
-#endif /* _USB_COMMON_H_ */
diff --git a/firmware/GN3S_v2/include/usb_descriptors.h b/firmware/GN3S_v2/include/usb_descriptors.h
deleted file mode 100644
index 6e66260..0000000
--- a/firmware/GN3S_v2/include/usb_descriptors.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2003 Free Software Foundation, Inc.
- * 
- * This file is part of GNU Radio
- * 
- * GNU Radio 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, or (at your option)
- * any later version.
- * 
- * GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
- * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-extern xdata const char high_speed_device_descr[];
-extern xdata const char high_speed_devqual_descr[];
-extern xdata const char high_speed_config_descr[];
-
-extern xdata const char full_speed_device_descr[];
-extern xdata const char full_speed_devqual_descr[];
-extern xdata const char full_speed_config_descr[];
-
-extern xdata unsigned char nstring_descriptors;
-extern xdata char * xdata string_descriptors[];
diff --git a/firmware/GN3S_v2/include/usb_requests.h b/firmware/GN3S_v2/include/usb_requests.h
deleted file mode 100644
index c4680b0..0000000
--- a/firmware/GN3S_v2/include/usb_requests.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2003 Free Software Foundation, Inc.
- * 
- * This file is part of GNU Radio
- * 
- * GNU Radio 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, or (at your option)
- * any later version.
- * 
- * GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
- * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-// Standard USB requests.
-// These are contained in end point 0 setup packets
-
-
-#ifndef _USB_REQUESTS_H_
-#define _USB_REQUESTS_H_
-
-// format of bmRequestType byte
-
-#define	bmRT_DIR_MASK		(0x1 << 7)
-#define	bmRT_DIR_IN		(1 << 7)
-#define	bmRT_DIR_OUT		(0 << 7)
-
-#define	bmRT_TYPE_MASK		(0x3 << 5)
-#define	bmRT_TYPE_STD		(0 << 5)
-#define	bmRT_TYPE_CLASS		(1 << 5)
-#define	bmRT_TYPE_VENDOR	(2 << 5)
-#define	bmRT_TYPE_RESERVED	(3 << 5)
-
-#define	bmRT_RECIP_MASK		(0x1f << 0)
-#define	bmRT_RECIP_DEVICE	(0 << 0)
-#define	bmRT_RECIP_INTERFACE	(1 << 0)
-#define	bmRT_RECIP_ENDPOINT	(2 << 0)
-#define	bmRT_RECIP_OTHER	(3 << 0)
-
-
-// standard request codes (bRequest)
-
-#define	RQ_GET_STATUS		0
-#define	RQ_CLEAR_FEATURE	1
-#define	RQ_RESERVED_2		2
-#define	RQ_SET_FEATURE		3
-#define	RQ_RESERVED_4		4
-#define	RQ_SET_ADDRESS		5
-#define	RQ_GET_DESCR		6
-#define	RQ_SET_DESCR		7
-#define	RQ_GET_CONFIG		8
-#define	RQ_SET_CONFIG		9
-#define	RQ_GET_INTERFACE       10
-#define	RQ_SET_INTERFACE       11
-#define	RQ_SYNCH_FRAME	       12
-
-// standard descriptor types
-
-#define	DT_DEVICE		1
-#define	DT_CONFIG		2
-#define	DT_STRING		3
-#define	DT_INTERFACE		4
-#define	DT_ENDPOINT		5
-#define	DT_DEVQUAL		6
-#define	DT_OTHER_SPEED		7
-#define	DT_INTERFACE_POWER	8
-
-// standard feature selectors
-
-#define	FS_ENDPOINT_HALT	0	// recip: endpoint
-#define	FS_DEV_REMOTE_WAKEUP	1	// recip: device
-#define	FS_TEST_MODE		2	// recip: device
-
-// Get Status device attributes
-
-#define	bmGSDA_SELF_POWERED	0x01
-#define	bmGSDA_REM_WAKEUP	0x02
-
-
-#endif /* _USB_REQUESTS_H_ */
diff --git a/firmware/GN3S_v2/include/usrp_commands.h b/firmware/GN3S_v2/include/usrp_commands.h
deleted file mode 100644
index 096b4ba..0000000
--- a/firmware/GN3S_v2/include/usrp_commands.h
+++ /dev/null
@@ -1,97 +0,0 @@
-/* 
- * USRP - Universal Software Radio Peripheral
- *
- * Copyright (C) 2003,2004 Free Software Foundation, Inc.
- *
- * 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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-
-#ifndef _USRP_COMMANDS_H_
-#define _USRP_COMMANDS_H_
-
-
-#define	MAX_EP0_PKTSIZE		       64	// max size of EP0 packet on FX2
-
-// ----------------------------------------------------------------
-//			Vendor bmRequestType's
-// ----------------------------------------------------------------
-
-#define	VRT_VENDOR_IN			0xC0
-#define	VRT_VENDOR_OUT			0x40
-
-// ----------------------------------------------------------------
-//			  USRP Vendor Requests
-//
-// Note that Cypress reserves [0xA0,0xAF].
-// 0xA0 is the firmware load function.
-// ----------------------------------------------------------------
-
-
-// IN commands
-
-#define	VRQ_GET_STATUS			0x80
-#define		GS_TX_UNDERRUN			0	// wIndexL	// returns 1 byte
-#define		GS_RX_OVERRUN			1	// wIndexL	// returns 1 byte
-
-#define	VRQ_I2C_READ			0x81		// wValueL: i2c address; length: how much to read
-
-#define	VRQ_SPI_READ			0x82		// wValue: optional header bytes
-							// wIndexH:	enables
-							// wIndexL:	format
-							// len: how much to read
-
-// OUT commands
-
-#define	VRQ_SET_LED			0x01		// wValueL off/on {0,1}; wIndexL: which {0,1}
-
-#define	VRQ_FPGA_LOAD			0x02
-#  define	FL_BEGIN			0	// wIndexL: begin fpga programming cycle.  stalls if trouble.
-#  define	FL_XFER				1	// wIndexL: xfer up to 64 bytes of data
-#  define	FL_END				2	// wIndexL: end programming cycle, check for success.
-							//          stalls endpoint if trouble.
-
-#define	VRQ_FPGA_WRITE_REG		0x03		// wIndexL: regno; data: 32-bit regval MSB first
-#define	VRQ_FPGA_SET_RESET		0x04		// wValueL: {0,1}
-#define	VRQ_FPGA_SET_TX_ENABLE		0x05		// wValueL: {0,1}
-#define	VRQ_FPGA_SET_RX_ENABLE		0x06		// wValueL: {0,1}
-// see below VRQ_FPGA_SET_{TX,RX}_RESET
-
-#define	VRQ_SET_SLEEP_BITS		0x07		// wValueH: mask; wValueL: bits.  set bits given by mask to bits
-
-#  define	SLEEP_ADC0			0x01
-#  define	SLEEP_ADC1			0x02
-#  define	SLEEP_DAC0			0x04
-#  define	SLEEP_DAC1			0x08
-
-#define	VRQ_I2C_WRITE			0x08		// wValueL: i2c address; data: data
-
-#define	VRQ_SPI_WRITE			0x09		// wValue: optional header bytes
-							// wIndexH:	enables
-							// wIndexL:	format
-							// len: how much to write
-
-#define	VRQ_FPGA_SET_TX_RESET		0x0a		// wValueL: {0, 1}
-#define	VRQ_FPGA_SET_RX_RESET		0x0b		// wValueL: {0, 1}
-
-
-// -------------------------------------------------------------------
-// we store the hashes at fixed addresses in the FX2 internal memory
-
-#define	  USRP_HASH_SLOT_0_ADDR			0xe1e0
-#define	  USRP_HASH_SLOT_1_ADDR			0xe1f0
-
-
-
-#endif /* _USRP_COMMANDS_H_ */
diff --git a/firmware/GN3S_v2/include/usrp_common.h b/firmware/GN3S_v2/include/usrp_common.h
deleted file mode 100644
index 22f2d58..0000000
--- a/firmware/GN3S_v2/include/usrp_common.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/* 
- * USRP - Universal Software Radio Peripheral
- *
- * Copyright (C) 2003 Free Software Foundation, Inc.
- *
- * 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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-
-/*
- * common defines and prototypes for USRP
- *
- * In comments below "TRM" refers to the EZ-USB FX2 Technical Reference Manual
- */
-
-#ifndef _USRPCOMMON_H_
-#define _USRPCOMMON_H_
-
-#include "gn3s_regs.h"
-#include "fx2regs.h"
-#include "syncdelay.h"
-
-/*
- * From TRM page 15-105:
- *
- * Under certain conditions, some read and write access to the FX2
- * registers must be separated by a "synchronization delay".  The
- * delay is necessary only under the following conditions:
- *
- *   - between a write to any register in the 0xE600 - 0xE6FF range 
- *     and a write to one of the registers listed below.
- *
- *   - between a write to one of the registers listed below and a read 
- *     from any register in the 0xE600 - 0xE6FF range.
- *
- *   Registers which require a synchronization delay:
- *
- *	FIFORESET			FIFOPINPOLAR
- *	INPKTEND			EPxBCH:L
- *	EPxFIFOPFH:L			EPxAUTOINLENH:L
- *	EPxFIFOCFG			EPxGPIFFLGSEL
- *	PINFLAGSAB			PINFLAGSCD
- *	EPxFIFOIE			EPxFIFOIRQ
- *	GPIFIE				GPIFIRQ
- *	UDMACRCH:L			GPIFADRH:L
- *	GPIFTRIG			EPxGPIFTRIG
- *	OUTPKTEND			REVCTL
- *	GPIFTCB3			GPIFTCB2
- *	GPIFTCB1			GPIFTCB0
- */
-
-#define	TRUE		1
-#define	FALSE		0
-
-
-void init_usrp (void);
-void init_gpif (void);
-
-#endif /* _USRPCOMMON_H_ */
diff --git a/firmware/GN3S_v2/lib/Makefile b/firmware/GN3S_v2/lib/Makefile
deleted file mode 100644
index 6748b6e..0000000
--- a/firmware/GN3S_v2/lib/Makefile
+++ /dev/null
@@ -1,12 +0,0 @@
-INCLUDES=-I../include
-
-CC=sdcc -mmcs51 --no-xinit-opt
-
-all: delay.c fx2utils.c isr.c timer.c usb_common.c
-	$(CC) $(INCLUDES)  -c delay.c -o delay.rel
-	$(CC) $(INCLUDES)  -c fx2utils.c -o fx2utils.rel
-	$(CC) $(INCLUDES)  -c isr.c -o isr.rel
-	$(CC) $(INCLUDES)  -c timer.c -o timer.rel
-	$(CC) $(INCLUDES)  -c usb_common.c -o usb_common.rel
-clean: 
-	rm -f *.ihx *.rel *.rst *.lnk *.lst *.map *.asm *.sym 
diff --git a/firmware/GN3S_v2/lib/delay.asm b/firmware/GN3S_v2/lib/delay.asm
deleted file mode 100644
index c777896..0000000
--- a/firmware/GN3S_v2/lib/delay.asm
+++ /dev/null
@@ -1,179 +0,0 @@
-;--------------------------------------------------------
-; File Created by SDCC : free open source ANSI-C Compiler
-; Version 2.9.0 #5416 (Feb  3 2010) (UNIX)
-; This file was generated Mon Jul 30 11:40:52 2012
-;--------------------------------------------------------
-	.module delay
-	.optsdcc -mmcs51 --model-small
-	
-;--------------------------------------------------------
-; Public variables in this module
-;--------------------------------------------------------
-	.globl _mdelay
-	.globl _udelay
-;--------------------------------------------------------
-; special function registers
-;--------------------------------------------------------
-	.area RSEG    (DATA)
-;--------------------------------------------------------
-; special function bits
-;--------------------------------------------------------
-	.area RSEG    (DATA)
-;--------------------------------------------------------
-; overlayable register banks
-;--------------------------------------------------------
-	.area REG_BANK_0	(REL,OVR,DATA)
-	.ds 8
-;--------------------------------------------------------
-; internal ram data
-;--------------------------------------------------------
-	.area DSEG    (DATA)
-;--------------------------------------------------------
-; overlayable items in internal ram 
-;--------------------------------------------------------
-	.area OSEG    (OVR,DATA)
-;--------------------------------------------------------
-; indirectly addressable internal ram data
-;--------------------------------------------------------
-	.area ISEG    (DATA)
-;--------------------------------------------------------
-; absolute internal ram data
-;--------------------------------------------------------
-	.area IABS    (ABS,DATA)
-	.area IABS    (ABS,DATA)
-;--------------------------------------------------------
-; bit data
-;--------------------------------------------------------
-	.area BSEG    (BIT)
-;--------------------------------------------------------
-; paged external ram data
-;--------------------------------------------------------
-	.area PSEG    (PAG,XDATA)
-;--------------------------------------------------------
-; external ram data
-;--------------------------------------------------------
-	.area XSEG    (XDATA)
-;--------------------------------------------------------
-; absolute external ram data
-;--------------------------------------------------------
-	.area XABS    (ABS,XDATA)
-;--------------------------------------------------------
-; external initialized ram data
-;--------------------------------------------------------
-	.area HOME    (CODE)
-	.area GSINIT0 (CODE)
-	.area GSINIT1 (CODE)
-	.area GSINIT2 (CODE)
-	.area GSINIT3 (CODE)
-	.area GSINIT4 (CODE)
-	.area GSINIT5 (CODE)
-	.area GSINIT  (CODE)
-	.area GSFINAL (CODE)
-	.area CSEG    (CODE)
-;--------------------------------------------------------
-; global & static initialisations
-;--------------------------------------------------------
-	.area HOME    (CODE)
-	.area GSINIT  (CODE)
-	.area GSFINAL (CODE)
-	.area GSINIT  (CODE)
-;--------------------------------------------------------
-; Home
-;--------------------------------------------------------
-	.area HOME    (CODE)
-	.area HOME    (CODE)
-;--------------------------------------------------------
-; code
-;--------------------------------------------------------
-	.area CSEG    (CODE)
-;------------------------------------------------------------
-;Allocation info for local variables in function 'udelay1'
-;------------------------------------------------------------
-;------------------------------------------------------------
-;	delay.c:27: udelay1 (void) _naked
-;	-----------------------------------------
-;	 function udelay1
-;	-----------------------------------------
-_udelay1:
-;	naked function: no prologue.
-;	delay.c:31: _endasm;
- ; lcall that got us here took 4 bus cycles
-	 ret ; 4 bus cycles
-	  
-;	naked function: no epilogue.
-;------------------------------------------------------------
-;Allocation info for local variables in function 'udelay'
-;------------------------------------------------------------
-;usecs                     Allocated to registers r2 
-;------------------------------------------------------------
-;	delay.c:38: udelay (unsigned char usecs)
-;	-----------------------------------------
-;	 function udelay
-;	-----------------------------------------
-_udelay:
-	ar2 = 0x02
-	ar3 = 0x03
-	ar4 = 0x04
-	ar5 = 0x05
-	ar6 = 0x06
-	ar7 = 0x07
-	ar0 = 0x00
-	ar1 = 0x01
-	mov	r2,dpl
-;	delay.c:40: do {
-00101$:
-;	delay.c:41: udelay1 ();
-	lcall	_udelay1
-;	delay.c:42: } while (--usecs != 0);
-	djnz	r2,00101$
-	ret
-;------------------------------------------------------------
-;Allocation info for local variables in function 'mdelay1'
-;------------------------------------------------------------
-;------------------------------------------------------------
-;	delay.c:54: mdelay1 (void) _naked
-;	-----------------------------------------
-;	 function mdelay1
-;	-----------------------------------------
-_mdelay1:
-;	naked function: no prologue.
-;	delay.c:65: _endasm;
-	
-	 mov dptr,#(-1200 & 0xffff)
-	002$:
-	 inc dptr ; 3 bus cycles
-	 mov a, dpl ; 2 bus cycles
-	 orl a, dph ; 2 bus cycles
-	 jnz 002$ ; 3 bus cycles
-	
-	 ret
-	  
-;	naked function: no epilogue.
-;------------------------------------------------------------
-;Allocation info for local variables in function 'mdelay'
-;------------------------------------------------------------
-;msecs                     Allocated to registers r2 r3 
-;------------------------------------------------------------
-;	delay.c:69: mdelay (unsigned int msecs)
-;	-----------------------------------------
-;	 function mdelay
-;	-----------------------------------------
-_mdelay:
-	mov	r2,dpl
-	mov	r3,dph
-;	delay.c:71: do {
-00101$:
-;	delay.c:72: mdelay1 ();
-	lcall	_mdelay1
-;	delay.c:73: } while (--msecs != 0);
-	dec	r2
-	cjne	r2,#0xff,00108$
-	dec	r3
-00108$:
-	mov	a,r2
-	orl	a,r3
-	jnz	00101$
-	ret
-	.area CSEG    (CODE)
-	.area CONST   (CODE)
-	.area CABS    (ABS,CODE)
diff --git a/firmware/GN3S_v2/lib/delay.c b/firmware/GN3S_v2/lib/delay.c
deleted file mode 100644
index c8bad7f..0000000
--- a/firmware/GN3S_v2/lib/delay.c
+++ /dev/null
@@ -1,76 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2003 Free Software Foundation, Inc.
- * 
- * This file is part of GNU Radio
- * 
- * GNU Radio 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, or (at your option)
- * any later version.
- * 
- * GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
- * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-/*
- * Delay approximately 1 microsecond (including overhead in udelay).
- */
-static void
-udelay1 (void) _naked
-{
-  _asm				; lcall that got us here took 4 bus cycles
-	ret			; 4 bus cycles
-  _endasm;
-}
-
-/*
- * delay for approximately usecs microseconds
- */
-void
-udelay (unsigned char usecs)
-{
-  do {
-    udelay1 ();
-  } while (--usecs != 0);
-}
-
-
-/*
- * Delay approximately 1 millisecond.
- * We're running at 48 MHz, so we need 48,000 clock cycles.
- *
- * Note however, that each bus cycle takes 4 clock cycles (not obvious,
- * but explains the factor of 4 problem below).
- */
-static void
-mdelay1 (void) _naked
-{
-  _asm
-	mov	dptr,#(-1200 & 0xffff)
-002$:	
-	inc	dptr		; 3 bus cycles
-	mov	a, dpl		; 2 bus cycles
-	orl	a, dph		; 2 bus cycles
-	jnz	002$		; 3 bus cycles
-
-	ret
-  _endasm;
-}
-
-void
-mdelay (unsigned int msecs)
-{
-  do {
-    mdelay1 ();
-  } while (--msecs != 0);
-}
-
-	
diff --git a/firmware/GN3S_v2/lib/delay.lst b/firmware/GN3S_v2/lib/delay.lst
deleted file mode 100644
index 92ecef7..0000000
--- a/firmware/GN3S_v2/lib/delay.lst
+++ /dev/null
@@ -1,179 +0,0 @@
-                              1 ;--------------------------------------------------------
-                              2 ; File Created by SDCC : free open source ANSI-C Compiler
-                              3 ; Version 2.9.0 #5416 (Feb  3 2010) (UNIX)
-                              4 ; This file was generated Mon Jul 30 11:40:52 2012
-                              5 ;--------------------------------------------------------
-                              6 	.module delay
-                              7 	.optsdcc -mmcs51 --model-small
-                              8 	
-                              9 ;--------------------------------------------------------
-                             10 ; Public variables in this module
-                             11 ;--------------------------------------------------------
-                             12 	.globl _mdelay
-                             13 	.globl _udelay
-                             14 ;--------------------------------------------------------
-                             15 ; special function registers
-                             16 ;--------------------------------------------------------
-                             17 	.area RSEG    (DATA)
-                             18 ;--------------------------------------------------------
-                             19 ; special function bits
-                             20 ;--------------------------------------------------------
-                             21 	.area RSEG    (DATA)
-                             22 ;--------------------------------------------------------
-                             23 ; overlayable register banks
-                             24 ;--------------------------------------------------------
-                             25 	.area REG_BANK_0	(REL,OVR,DATA)
-   0000                      26 	.ds 8
-                             27 ;--------------------------------------------------------
-                             28 ; internal ram data
-                             29 ;--------------------------------------------------------
-                             30 	.area DSEG    (DATA)
-                             31 ;--------------------------------------------------------
-                             32 ; overlayable items in internal ram 
-                             33 ;--------------------------------------------------------
-                             34 	.area OSEG    (OVR,DATA)
-                             35 ;--------------------------------------------------------
-                             36 ; indirectly addressable internal ram data
-                             37 ;--------------------------------------------------------
-                             38 	.area ISEG    (DATA)
-                             39 ;--------------------------------------------------------
-                             40 ; absolute internal ram data
-                             41 ;--------------------------------------------------------
-                             42 	.area IABS    (ABS,DATA)
-                             43 	.area IABS    (ABS,DATA)
-                             44 ;--------------------------------------------------------
-                             45 ; bit data
-                             46 ;--------------------------------------------------------
-                             47 	.area BSEG    (BIT)
-                             48 ;--------------------------------------------------------
-                             49 ; paged external ram data
-                             50 ;--------------------------------------------------------
-                             51 	.area PSEG    (PAG,XDATA)
-                             52 ;--------------------------------------------------------
-                             53 ; external ram data
-                             54 ;--------------------------------------------------------
-                             55 	.area XSEG    (XDATA)
-                             56 ;--------------------------------------------------------
-                             57 ; absolute external ram data
-                             58 ;--------------------------------------------------------
-                             59 	.area XABS    (ABS,XDATA)
-                             60 ;--------------------------------------------------------
-                             61 ; external initialized ram data
-                             62 ;--------------------------------------------------------
-                             63 	.area HOME    (CODE)
-                             64 	.area GSINIT0 (CODE)
-                             65 	.area GSINIT1 (CODE)
-                             66 	.area GSINIT2 (CODE)
-                             67 	.area GSINIT3 (CODE)
-                             68 	.area GSINIT4 (CODE)
-                             69 	.area GSINIT5 (CODE)
-                             70 	.area GSINIT  (CODE)
-                             71 	.area GSFINAL (CODE)
-                             72 	.area CSEG    (CODE)
-                             73 ;--------------------------------------------------------
-                             74 ; global & static initialisations
-                             75 ;--------------------------------------------------------
-                             76 	.area HOME    (CODE)
-                             77 	.area GSINIT  (CODE)
-                             78 	.area GSFINAL (CODE)
-                             79 	.area GSINIT  (CODE)
-                             80 ;--------------------------------------------------------
-                             81 ; Home
-                             82 ;--------------------------------------------------------
-                             83 	.area HOME    (CODE)
-                             84 	.area HOME    (CODE)
-                             85 ;--------------------------------------------------------
-                             86 ; code
-                             87 ;--------------------------------------------------------
-                             88 	.area CSEG    (CODE)
-                             89 ;------------------------------------------------------------
-                             90 ;Allocation info for local variables in function 'udelay1'
-                             91 ;------------------------------------------------------------
-                             92 ;------------------------------------------------------------
-                             93 ;	delay.c:27: udelay1 (void) _naked
-                             94 ;	-----------------------------------------
-                             95 ;	 function udelay1
-                             96 ;	-----------------------------------------
-   0000                      97 _udelay1:
-                             98 ;	naked function: no prologue.
-                             99 ;	delay.c:31: _endasm;
-                            100  ; lcall that got us here took 4 bus cycles
-   0000 22                  101 	 ret ; 4 bus cycles
-                            102 	  
-                            103 ;	naked function: no epilogue.
-                            104 ;------------------------------------------------------------
-                            105 ;Allocation info for local variables in function 'udelay'
-                            106 ;------------------------------------------------------------
-                            107 ;usecs                     Allocated to registers r2 
-                            108 ;------------------------------------------------------------
-                            109 ;	delay.c:38: udelay (unsigned char usecs)
-                            110 ;	-----------------------------------------
-                            111 ;	 function udelay
-                            112 ;	-----------------------------------------
-   0001                     113 _udelay:
-                    0002    114 	ar2 = 0x02
-                    0003    115 	ar3 = 0x03
-                    0004    116 	ar4 = 0x04
-                    0005    117 	ar5 = 0x05
-                    0006    118 	ar6 = 0x06
-                    0007    119 	ar7 = 0x07
-                    0000    120 	ar0 = 0x00
-                    0001    121 	ar1 = 0x01
-   0001 AA 82               122 	mov	r2,dpl
-                            123 ;	delay.c:40: do {
-   0003                     124 00101$:
-                            125 ;	delay.c:41: udelay1 ();
-   0003 12s00r00            126 	lcall	_udelay1
-                            127 ;	delay.c:42: } while (--usecs != 0);
-   0006 DA FB               128 	djnz	r2,00101$
-   0008 22                  129 	ret
-                            130 ;------------------------------------------------------------
-                            131 ;Allocation info for local variables in function 'mdelay1'
-                            132 ;------------------------------------------------------------
-                            133 ;------------------------------------------------------------
-                            134 ;	delay.c:54: mdelay1 (void) _naked
-                            135 ;	-----------------------------------------
-                            136 ;	 function mdelay1
-                            137 ;	-----------------------------------------
-   0009                     138 _mdelay1:
-                            139 ;	naked function: no prologue.
-                            140 ;	delay.c:65: _endasm;
-                            141 	
-   0009 90 FB 50            142 	 mov dptr,#(-1200 & 0xffff)
-   000C                     143 	002$:
-   000C A3                  144 	 inc dptr ; 3 bus cycles
-   000D E5 82               145 	 mov a, dpl ; 2 bus cycles
-   000F 45 83               146 	 orl a, dph ; 2 bus cycles
-   0011 70 F9               147 	 jnz 002$ ; 3 bus cycles
-                            148 	
-   0013 22                  149 	 ret
-                            150 	  
-                            151 ;	naked function: no epilogue.
-                            152 ;------------------------------------------------------------
-                            153 ;Allocation info for local variables in function 'mdelay'
-                            154 ;------------------------------------------------------------
-                            155 ;msecs                     Allocated to registers r2 r3 
-                            156 ;------------------------------------------------------------
-                            157 ;	delay.c:69: mdelay (unsigned int msecs)
-                            158 ;	-----------------------------------------
-                            159 ;	 function mdelay
-                            160 ;	-----------------------------------------
-   0014                     161 _mdelay:
-   0014 AA 82               162 	mov	r2,dpl
-   0016 AB 83               163 	mov	r3,dph
-                            164 ;	delay.c:71: do {
-   0018                     165 00101$:
-                            166 ;	delay.c:72: mdelay1 ();
-   0018 12s00r09            167 	lcall	_mdelay1
-                            168 ;	delay.c:73: } while (--msecs != 0);
-   001B 1A                  169 	dec	r2
-   001C BA FF 01            170 	cjne	r2,#0xff,00108$
-   001F 1B                  171 	dec	r3
-   0020                     172 00108$:
-   0020 EA                  173 	mov	a,r2
-   0021 4B                  174 	orl	a,r3
-   0022 70 F4               175 	jnz	00101$
-   0024 22                  176 	ret
-                            177 	.area CSEG    (CODE)
-                            178 	.area CONST   (CODE)
-                            179 	.area CABS    (ABS,CODE)
diff --git a/firmware/GN3S_v2/lib/delay.rel b/firmware/GN3S_v2/lib/delay.rel
deleted file mode 100644
index 86085b1..0000000
--- a/firmware/GN3S_v2/lib/delay.rel
+++ /dev/null
@@ -1,63 +0,0 @@
-XH
-H 17 areas 2 global symbols
-M delay
-O -mmcs51 --model-small
-A _CODE size 0 flags 0 addr 0
-A RSEG size 0 flags 0 addr 0
-A REG_BANK_0 size 8 flags 4 addr 0
-A DSEG size 0 flags 0 addr 0
-A OSEG size 0 flags 4 addr 0
-A ISEG size 0 flags 0 addr 0
-A IABS size 0 flags 8 addr 0
-A BSEG size 0 flags 80 addr 0
-A PSEG size 0 flags 50 addr 0
-A XSEG size 0 flags 40 addr 0
-A XABS size 0 flags 48 addr 0
-A HOME size 0 flags 20 addr 0
-A GSINIT0 size 0 flags 20 addr 0
-A GSINIT1 size 0 flags 20 addr 0
-A GSINIT2 size 0 flags 20 addr 0
-A GSINIT3 size 0 flags 20 addr 0
-A GSINIT4 size 0 flags 20 addr 0
-A GSINIT5 size 0 flags 20 addr 0
-A GSINIT size 0 flags 20 addr 0
-A GSFINAL size 0 flags 20 addr 0
-A CSEG size 25 flags 20 addr 0
-S _mdelay Def0014
-S _udelay Def0001
-A CONST size 0 flags 20 addr 0
-A CABS size 0 flags 28 addr 0
-T 00 00
-R 00 00 00 02
-T 00 00
-R 00 00 00 14
-T 00 00 22
-R 00 00 00 14
-T 00 01
-R 00 00 00 14
-T 00 01 AA 82
-R 00 00 00 14
-T 00 03
-R 00 00 00 14
-T 00 03 12 00 00 DA FB 22
-R 00 00 00 14 00 03 00 14
-T 00 09
-R 00 00 00 14
-T 00 09 90 FB 50
-R 00 00 00 14
-T 00 0C
-R 00 00 00 14
-T 00 0C A3 E5 82 45 83 70 F9 22
-R 00 00 00 14
-T 00 14
-R 00 00 00 14
-T 00 14 AA 82 AB 83
-R 00 00 00 14
-T 00 18
-R 00 00 00 14
-T 00 18 12 00 09 1A BA FF 01 1B
-R 00 00 00 14 00 03 00 14
-T 00 20
-R 00 00 00 14
-T 00 20 EA 4B 70 F4 22
-R 00 00 00 14
diff --git a/firmware/GN3S_v2/lib/delay.sym b/firmware/GN3S_v2/lib/delay.sym
deleted file mode 100644
index 1a333cb..0000000
--- a/firmware/GN3S_v2/lib/delay.sym
+++ /dev/null
@@ -1,380 +0,0 @@
-
ASxxxx Assembler V01.70 + NoICE + SDCC mods + Flat24 Feb-1999  (Intel 8051), page 1.
-
-Symbol Table
-
-    A                                                              00D6 
-    AC                                                             00D6 
-    ACC                                                            00E0 
-    ACC.0                                                          00E0 
-    ACC.1                                                          00E1 
-    ACC.2                                                          00E2 
-    ACC.3                                                          00E3 
-    ACC.4                                                          00E4 
-    ACC.5                                                          00E5 
-    ACC.6                                                          00E6 
-    ACC.7                                                          00E7 
-    B                                                              00F0 
-    B.0                                                            00F0 
-    B.1                                                            00F1 
-    B.2                                                            00F2 
-    B.3                                                            00F3 
-    B.4                                                            00F4 
-    B.5                                                            00F5 
-    B.6                                                            00F6 
-    B.7                                                            00F7 
-    CPRL2                                                          00C8 
-    CT2                                                            00C9 
-    CY                                                             00D7 
-    DPH                                                            0083 
-    DPL                                                            0082 
-    EA                                                             00AF 
-    ES                                                             00AC 
-    ET0                                                            00A9 
-    ET1                                                            00AB 
-    ET2                                                            00AD 
-    EX0                                                            00A8 
-    EX1                                                            00AA 
-    EXEN2                                                          00CB 
-    EXF2                                                           00CE 
-    F0                                                             00D5 
-    IE                                                             00A8 
-    IE.0                                                           00A8 
-    IE.1                                                           00A9 
-    IE.2                                                           00AA 
-    IE.3                                                           00AB 
-    IE.4                                                           00AC 
-    IE.5                                                           00AD 
-    IE.7                                                           00AF 
-    IE0                                                            0089 
-    IE1                                                            008B 
-    INT0                                                           00B2 
-    INT1                                                           00B3 
-    IP                                                             00B8 
-    IP.0                                                           00B8 
-    IP.1                                                           00B9 
-    IP.2                                                           00BA 
-    IP.3                                                           00BB 
-    IP.4                                                           00BC 
-    IP.5                                                           00BD 
-    IT0                                                            0088 
-    IT1                                                            008A 
-    OV                                                             00D2 
-    P                                                              00D0 
-    P0                                                             0080 
-    P0.0                                                           0080 
-    P0.1                                                           0081 
-    P0.2                                                           0082 
-    P0.3                                                           0083 
-    P0.4                                                           0084 
-    P0.5                                                           0085 
-    P0.6                                                           0086 
-    P0.7                                                           0087 
-    P1                                                             0090 
-    P1.0                                                           0090 
-    P1.1                                                           0091 
-    P1.2                                                           0092 
-    P1.3                                                           0093 
-    P1.4                                                           0094 
-    P1.5                                                           0095 
-    P1.6                                                           0096 
-    P1.7                                                           0097 
-    P2                                                             00A0 
-    P2.0                                                           00A0 
-    P2.1                                                           00A1 
-    P2.2                                                           00A2 
-    P2.3                                                           00A3 
-    P2.4                                                           00A4 
-    P2.5                                                           00A5 
-    P2.6                                                           00A6 
-    P2.7                                                           00A7 
-    P3                                                             00B0 
-    P3.0                                                           00B0 
-    P3.1                                                           00B1 
-    P3.2                                                           00B2 
-    P3.3                                                           00B3 
-    P3.4                                                           00B4 
-    P3.5                                                           00B5 
-    P3.6                                                           00B6 
-    P3.7                                                           00B7 
-    PCON                                                           0087 
-    PS                                                             00BC 
-    PSW                                                            00D0 
-    PSW.0                                                          00D0 
-    PSW.1                                                          00D1 
-    PSW.2                                                          00D2 
-    PSW.3                                                          00D3 
-    PSW.4                                                          00D4 
-    PSW.5                                                          00D5 
-    PSW.6                                                          00D6 
-    PSW.7                                                          00D7 
-    PT0                                                            00B9 
-    PT1                                                            00BB 
-    PT2                                                            00BD 
-    PX0                                                            00B8 
-    PX1                                                            00BA 
-    RB8                                                            009A 
-    RCAP2H                                                         00CB 
-    RCAP2L                                                         00CA 
-    RCLK                                                           00CD 
-    REN                                                            009C 
-    RI                                                             0098 
-    RS0                                                            00D3 
-    RS1                                                            00D4 
-    RXD                                                            00B0 
-    SBUF                                                           0099 
-    SCON                                                           0098 
-    SCON.0                                                         0098 
-    SCON.1                                                         0099 
-    SCON.2                                                         009A 
-    SCON.3                                                         009B 
-    SCON.4                                                         009C 
-    SCON.5                                                         009D 
-    SCON.6                                                         009E 
-    SCON.7                                                         009F 
-    SM0                                                            009F 
-    SM1                                                            009E 
-    SM2                                                            009D 
-    SP                                                             0081 
-    T2CON                                                          00C8 
-    T2CON.0                                                        00C8 
-    T2CON.1                                                        00C9 
-    T2CON.2                                                        00CA 
-    T2CON.3                                                        00CB 
-    T2CON.4                                                        00CC 
-    T2CON.5                                                        00CD 
-    T2CON.6                                                        00CE 
-    T2CON.7                                                        00CF 
-    TB8                                                            009B 
-    TCLK                                                           00CC 
-    TCON                                                           0088 
-    TCON.0                                                         0088 
-    TCON.1                                                         0089 
-    TCON.2                                                         008A 
-    TCON.3                                                         008B 
-    TCON.4                                                         008C 
-    TCON.5                                                         008D 
-    TCON.6                                                         008E 
-    TCON.7                                                         008F 
-    TF0                                                            008D 
-    TF1                                                            008F 
-    TF2                                                            00CF 
-    TH0                                                            008C 
-    TH1                                                            008D 
-    TH2                                                            00CD 
-    TI                                                             0099 
-    TL0                                                            008A 
-    TL1                                                            008B 
-    TL2                                                            00CC 
-    TMOD                                                           0089 
-    TR0                                                            008C 
-    TR1                                                            008E 
-    TR2                                                            00CA 
-    TXD                                                            00B1 
- 14 _mdelay                                                        0014 GR
- 14 _mdelay1                                                       0009 R
- 14 _udelay                                                        0001 GR
- 14 _udelay1                                                       0000 R
-    a                                                              00D6 
-    ac                                                             00D6 
-    acc                                                            00E0 
-    acc.0                                                          00E0 
-    acc.1                                                          00E1 
-    acc.2                                                          00E2 
-    acc.3                                                          00E3 
-    acc.4                                                          00E4 
-    acc.5                                                          00E5 
-    acc.6                                                          00E6 
-    acc.7                                                          00E7 
-    ar0                                                         =  0000 
-    ar1                                                         =  0001 
-    ar2                                                         =  0002 
-    ar3                                                         =  0003 
-    ar4                                                         =  0004 
-    ar5                                                         =  0005 
-    ar6                                                         =  0006 
-    ar7                                                         =  0007 
-    b                                                              00F0 
-    b.0                                                            00F0 
-    b.1                                                            00F1 
-    b.2                                                            00F2 
-    b.3                                                            00F3 
-    b.4                                                            00F4 
-    b.5                                                            00F5 
-    b.6                                                            00F6 
-    b.7                                                            00F7 
-    cprl2                                                          00C8 
-    ct2                                                            00C9 
-    cy                                                             00D7 
-    dph                                                            0083 
-    dpl                                                            0082 
-    ea                                                             00AF 
-    es                                                             00AC 
-    et0                                                            00A9 
-    et1                                                            00AB 
-    et2                                                            00AD 
-    ex0                                                            00A8 
-    ex1                                                            00AA 
-    exen2                                                          00CB 
-    exf2                                                           00CE 
-    f0                                                             00D5 
-    ie                                                             00A8 
-    ie.0                                                           00A8 
-    ie.1                                                           00A9 
-    ie.2                                                           00AA 
-    ie.3                                                           00AB 
-    ie.4                                                           00AC 
-    ie.5                                                           00AD 
-    ie.7                                                           00AF 
-    ie0                                                            0089 
-    ie1                                                            008B 
-    int0                                                           00B2 
-    int1                                                           00B3 
-    ip                                                             00B8 
-    ip.0                                                           00B8 
-    ip.1                                                           00B9 
-    ip.2                                                           00BA 
-    ip.3                                                           00BB 
-    ip.4                                                           00BC 
-    ip.5                                                           00BD 
-    it0                                                            0088 
-    it1                                                            008A 
-    ov                                                             00D2 
-    p                                                              00D0 
-    p0                                                             0080 
-    p0.0                                                           0080 
-    p0.1                                                           0081 
-    p0.2                                                           0082 
-    p0.3                                                           0083 
-    p0.4                                                           0084 
-    p0.5                                                           0085 
-    p0.6                                                           0086 
-    p0.7                                                           0087 
-    p1                                                             0090 
-    p1.0                                                           0090 
-    p1.1                                                           0091 
-    p1.2                                                           0092 
-    p1.3                                                           0093 
-    p1.4                                                           0094 
-    p1.5                                                           0095 
-    p1.6                                                           0096 
-    p1.7                                                           0097 
-    p2                                                             00A0 
-    p2.0                                                           00A0 
-    p2.1                                                           00A1 
-    p2.2                                                           00A2 
-    p2.3                                                           00A3 
-    p2.4                                                           00A4 
-    p2.5                                                           00A5 
-    p2.6                                                           00A6 
-    p2.7                                                           00A7 
-    p3                                                             00B0 
-    p3.0                                                           00B0 
-    p3.1                                                           00B1 
-    p3.2                                                           00B2 
-    p3.3                                                           00B3 
-    p3.4                                                           00B4 
-    p3.5                                                           00B5 
-    p3.6                                                           00B6 
-    p3.7                                                           00B7 
-    pcon                                                           0087 
-    ps                                                             00BC 
-    psw                                                            00D0 
-    psw.0                                                          00D0 
-    psw.1                                                          00D1 
-    psw.2                                                          00D2 
-    psw.3                                                          00D3 
-    psw.4                                                          00D4 
-    psw.5                                                          00D5 
-    psw.6                                                          00D6 
-    psw.7                                                          00D7 
-    pt0                                                            00B9 
-    pt1                                                            00BB 
-    pt2                                                            00BD 
-    px0                                                            00B8 
-    px1                                                            00BA 
-    rb8                                                            009A 
-    rcap2h                                                         00CB 
-    rcap2l                                                         00CA 
-    rclk                                                           00CD 
-    ren                                                            009C 
-    ri                                                             0098 
-    rs0                                                            00D3 
-    rs1                                                            00D4 
-    rxd                                                            00B0 
-    sbuf                                                           0099 
-    scon                                                           0098 
-    scon.0                                                         0098 
-    scon.1                                                         0099 
-    scon.2                                                         009A 
-    scon.3                                                         009B 
-    scon.4                                                         009C 
-    scon.5                                                         009D 
-    scon.6                                                         009E 
-    scon.7                                                         009F 
-    sm0                                                            009F 
-    sm1                                                            009E 
-    sm2                                                            009D 
-    sp                                                             0081 
-    t2con                                                          00C8 
-    t2con.0                                                        00C8 
-    t2con.1                                                        00C9 
-    t2con.2                                                        00CA 
-    t2con.3                                                        00CB 
-    t2con.4                                                        00CC 
-    t2con.5                                                        00CD 
-    t2con.6                                                        00CE 
-    t2con.7                                                        00CF 
-    tb8                                                            009B 
-    tclk                                                           00CC 
-    tcon                                                           0088 
-    tcon.0                                                         0088 
-    tcon.1                                                         0089 
-    tcon.2                                                         008A 
-    tcon.3                                                         008B 
-    tcon.4                                                         008C 
-    tcon.5                                                         008D 
-    tcon.6                                                         008E 
-    tcon.7                                                         008F 
-    tf0                                                            008D 
-    tf1                                                            008F 
-    tf2                                                            00CF 
-    th0                                                            008C 
-    th1                                                            008D 
-    th2                                                            00CD 
-    ti                                                             0099 
-    tl0                                                            008A 
-    tl1                                                            008B 
-    tl2                                                            00CC 
-    tmod                                                           0089 
-    tr0                                                            008C 
-    tr1                                                            008E 
-    tr2                                                            00CA 
-    txd                                                            00B1 
-
-
ASxxxx Assembler V01.70 + NoICE + SDCC mods + Flat24 Feb-1999  (Intel 8051), page 2.
-
-Area Table
-
-   0 _CODE                                                                              size    0   flags 0
-   1 RSEG                                                                               size    0   flags 0
-   2 REG_BANK_0                                                                         size    8   flags 4
-   3 DSEG                                                                               size    0   flags 0
-   4 OSEG                                                                               size    0   flags 4
-   5 ISEG                                                                               size    0   flags 0
-   6 IABS                                                                               size    0   flags 8
-   7 BSEG                                                                               size    0   flags 80
-   8 PSEG                                                                               size    0   flags 50
-   9 XSEG                                                                               size    0   flags 40
-   A XABS                                                                               size    0   flags 48
-   B HOME                                                                               size    0   flags 20
-   C GSINIT0                                                                            size    0   flags 20
-   D GSINIT1                                                                            size    0   flags 20
-   E GSINIT2                                                                            size    0   flags 20
-   F GSINIT3                                                                            size    0   flags 20
-  10 GSINIT4                                                                            size    0   flags 20
-  11 GSINIT5                                                                            size    0   flags 20
-  12 GSINIT                                                                             size    0   flags 20
-  13 GSFINAL                                                                            size    0   flags 20
-  14 CSEG                                                                               size   25   flags 20
-  15 CONST                                                                              size    0   flags 20
-  16 CABS                                                                               size    0   flags 28
diff --git a/firmware/GN3S_v2/lib/fx2utils.asm b/firmware/GN3S_v2/lib/fx2utils.asm
deleted file mode 100644
index cff88c7..0000000
--- a/firmware/GN3S_v2/lib/fx2utils.asm
+++ /dev/null
@@ -1,821 +0,0 @@
-;--------------------------------------------------------
-; File Created by SDCC : free open source ANSI-C Compiler
-; Version 2.9.0 #5416 (Feb  3 2010) (UNIX)
-; This file was generated Mon Jul 30 11:40:52 2012
-;--------------------------------------------------------
-	.module fx2utils
-	.optsdcc -mmcs51 --model-small
-	
-;--------------------------------------------------------
-; Public variables in this module
-;--------------------------------------------------------
-	.globl _EIPX6
-	.globl _EIPX5
-	.globl _EIPX4
-	.globl _PI2C
-	.globl _PUSB
-	.globl _EIEX6
-	.globl _EIEX5
-	.globl _EIEX4
-	.globl _EI2C
-	.globl _EIUSB
-	.globl _SMOD1
-	.globl _ERESI
-	.globl _RESI
-	.globl _INT6
-	.globl _CY
-	.globl _AC
-	.globl _F0
-	.globl _RS1
-	.globl _RS0
-	.globl _OV
-	.globl _FL
-	.globl _P
-	.globl _TF2
-	.globl _EXF2
-	.globl _RCLK
-	.globl _TCLK
-	.globl _EXEN2
-	.globl _TR2
-	.globl _C_T2
-	.globl _CP_RL2
-	.globl _SM01
-	.globl _SM11
-	.globl _SM21
-	.globl _REN1
-	.globl _TB81
-	.globl _RB81
-	.globl _TI1
-	.globl _RI1
-	.globl _PS1
-	.globl _PT2
-	.globl _PS0
-	.globl _PT1
-	.globl _PX1
-	.globl _PT0
-	.globl _PX0
-	.globl _D7
-	.globl _D6
-	.globl _D5
-	.globl _D4
-	.globl _D3
-	.globl _D2
-	.globl _D1
-	.globl _D0
-	.globl _EA
-	.globl _ES1
-	.globl _ET2
-	.globl _ES0
-	.globl _ET1
-	.globl _EX1
-	.globl _ET0
-	.globl _EX0
-	.globl _SM0
-	.globl _SM1
-	.globl _SM2
-	.globl _REN
-	.globl _TB8
-	.globl _RB8
-	.globl _TI
-	.globl _RI
-	.globl _TF1
-	.globl _TR1
-	.globl _TF0
-	.globl _TR0
-	.globl _IE1
-	.globl _IT1
-	.globl _IE0
-	.globl _IT0
-	.globl _SEL
-	.globl _A7
-	.globl _A6
-	.globl _A5
-	.globl _A4
-	.globl _A3
-	.globl _A2
-	.globl _A1
-	.globl _A0
-	.globl _EIP
-	.globl _B
-	.globl _EIE
-	.globl _ACC
-	.globl _EICON
-	.globl _PSW
-	.globl _TH2
-	.globl _TL2
-	.globl _RCAP2H
-	.globl _RCAP2L
-	.globl _T2CON
-	.globl _SBUF1
-	.globl _SCON1
-	.globl _GPIFSGLDATLNOX
-	.globl _GPIFSGLDATLX
-	.globl _GPIFSGLDATH
-	.globl _GPIFTRIG
-	.globl _EP01STAT
-	.globl _IP
-	.globl _OEE
-	.globl _OED
-	.globl _OEC
-	.globl _OEB
-	.globl _OEA
-	.globl _IOE
-	.globl _IOD
-	.globl _AUTOPTRSETUP
-	.globl _EP68FIFOFLGS
-	.globl _EP24FIFOFLGS
-	.globl _EP2468STAT
-	.globl _IE
-	.globl _INT4CLR
-	.globl _INT2CLR
-	.globl _IOC
-	.globl _AUTODAT2
-	.globl _AUTOPTRL2
-	.globl _AUTOPTRH2
-	.globl _AUTODAT1
-	.globl _APTR1L
-	.globl _APTR1H
-	.globl _SBUF0
-	.globl _SCON0
-	.globl _MPAGE
-	.globl _EXIF
-	.globl _IOB
-	.globl _CKCON
-	.globl _TH1
-	.globl _TH0
-	.globl _TL1
-	.globl _TL0
-	.globl _TMOD
-	.globl _TCON
-	.globl _PCON
-	.globl _DPS
-	.globl _DPH1
-	.globl _DPL1
-	.globl _DPH
-	.globl _DPL
-	.globl _SP
-	.globl _IOA
-	.globl _EP8FIFOBUF
-	.globl _EP6FIFOBUF
-	.globl _EP4FIFOBUF
-	.globl _EP2FIFOBUF
-	.globl _EP1INBUF
-	.globl _EP1OUTBUF
-	.globl _EP0BUF
-	.globl _CT4
-	.globl _CT3
-	.globl _CT2
-	.globl _CT1
-	.globl _USBTEST
-	.globl _TESTCFG
-	.globl _DBUG
-	.globl _UDMACRCQUAL
-	.globl _UDMACRCL
-	.globl _UDMACRCH
-	.globl _GPIFHOLDAMOUNT
-	.globl _FLOWSTBHPERIOD
-	.globl _FLOWSTBEDGE
-	.globl _FLOWSTB
-	.globl _FLOWHOLDOFF
-	.globl _FLOWEQ1CTL
-	.globl _FLOWEQ0CTL
-	.globl _FLOWLOGIC
-	.globl _FLOWSTATE
-	.globl _GPIFABORT
-	.globl _GPIFREADYSTAT
-	.globl _GPIFREADYCFG
-	.globl _XGPIFSGLDATLNOX
-	.globl _XGPIFSGLDATLX
-	.globl _XGPIFSGLDATH
-	.globl _EP8GPIFTRIG
-	.globl _EP8GPIFPFSTOP
-	.globl _EP8GPIFFLGSEL
-	.globl _EP6GPIFTRIG
-	.globl _EP6GPIFPFSTOP
-	.globl _EP6GPIFFLGSEL
-	.globl _EP4GPIFTRIG
-	.globl _EP4GPIFPFSTOP
-	.globl _EP4GPIFFLGSEL
-	.globl _EP2GPIFTRIG
-	.globl _EP2GPIFPFSTOP
-	.globl _EP2GPIFFLGSEL
-	.globl _GPIFTCB0
-	.globl _GPIFTCB1
-	.globl _GPIFTCB2
-	.globl _GPIFTCB3
-	.globl _GPIFADRL
-	.globl _GPIFADRH
-	.globl _GPIFCTLCFG
-	.globl _GPIFIDLECTL
-	.globl _GPIFIDLECS
-	.globl _GPIFWFSELECT
-	.globl _SETUPDAT
-	.globl _SUDPTRCTL
-	.globl _SUDPTRL
-	.globl _SUDPTRH
-	.globl _EP8FIFOBCL
-	.globl _EP8FIFOBCH
-	.globl _EP6FIFOBCL
-	.globl _EP6FIFOBCH
-	.globl _EP4FIFOBCL
-	.globl _EP4FIFOBCH
-	.globl _EP2FIFOBCL
-	.globl _EP2FIFOBCH
-	.globl _EP8FIFOFLGS
-	.globl _EP6FIFOFLGS
-	.globl _EP4FIFOFLGS
-	.globl _EP2FIFOFLGS
-	.globl _EP8CS
-	.globl _EP6CS
-	.globl _EP4CS
-	.globl _EP2CS
-	.globl _EP1INCS
-	.globl _EP1OUTCS
-	.globl _EP0CS
-	.globl _EP8BCL
-	.globl _EP8BCH
-	.globl _EP6BCL
-	.globl _EP6BCH
-	.globl _EP4BCL
-	.globl _EP4BCH
-	.globl _EP2BCL
-	.globl _EP2BCH
-	.globl _EP1INBC
-	.globl _EP1OUTBC
-	.globl _EP0BCL
-	.globl _EP0BCH
-	.globl _FNADDR
-	.globl _MICROFRAME
-	.globl _USBFRAMEL
-	.globl _USBFRAMEH
-	.globl _TOGCTL
-	.globl _WAKEUPCS
-	.globl _SUSPEND
-	.globl _USBCS
-	.globl _XAUTODAT2
-	.globl _XAUTODAT1
-	.globl _I2CTL
-	.globl _I2DAT
-	.globl _I2CS
-	.globl _PORTECFG
-	.globl _PORTCCFG
-	.globl _PORTACFG
-	.globl _INTSETUP
-	.globl _INT4IVEC
-	.globl _INT2IVEC
-	.globl _CLRERRCNT
-	.globl _ERRCNTLIM
-	.globl _USBERRIRQ
-	.globl _USBERRIE
-	.globl _GPIFIRQ
-	.globl _GPIFIE
-	.globl _EPIRQ
-	.globl _EPIE
-	.globl _USBIRQ
-	.globl _USBIE
-	.globl _NAKIRQ
-	.globl _NAKIE
-	.globl _IBNIRQ
-	.globl _IBNIE
-	.globl _EP8FIFOIRQ
-	.globl _EP8FIFOIE
-	.globl _EP6FIFOIRQ
-	.globl _EP6FIFOIE
-	.globl _EP4FIFOIRQ
-	.globl _EP4FIFOIE
-	.globl _EP2FIFOIRQ
-	.globl _EP2FIFOIE
-	.globl _OUTPKTEND
-	.globl _INPKTEND
-	.globl _EP8ISOINPKTS
-	.globl _EP6ISOINPKTS
-	.globl _EP4ISOINPKTS
-	.globl _EP2ISOINPKTS
-	.globl _EP8FIFOPFL
-	.globl _EP8FIFOPFH
-	.globl _EP6FIFOPFL
-	.globl _EP6FIFOPFH
-	.globl _EP4FIFOPFL
-	.globl _EP4FIFOPFH
-	.globl _EP2FIFOPFL
-	.globl _EP2FIFOPFH
-	.globl _EP8AUTOINLENL
-	.globl _EP8AUTOINLENH
-	.globl _EP6AUTOINLENL
-	.globl _EP6AUTOINLENH
-	.globl _EP4AUTOINLENL
-	.globl _EP4AUTOINLENH
-	.globl _EP2AUTOINLENL
-	.globl _EP2AUTOINLENH
-	.globl _EP8FIFOCFG
-	.globl _EP6FIFOCFG
-	.globl _EP4FIFOCFG
-	.globl _EP2FIFOCFG
-	.globl _EP8CFG
-	.globl _EP6CFG
-	.globl _EP4CFG
-	.globl _EP2CFG
-	.globl _EP1INCFG
-	.globl _EP1OUTCFG
-	.globl _REVCTL
-	.globl _REVID
-	.globl _FIFOPINPOLAR
-	.globl _UART230
-	.globl _BPADDRL
-	.globl _BPADDRH
-	.globl _BREAKPT
-	.globl _FIFORESET
-	.globl _PINFLAGSCD
-	.globl _PINFLAGSAB
-	.globl _IFCONFIG
-	.globl _CPUCS
-	.globl _RES_WAVEDATA_END
-	.globl _GPIF_WAVE_DATA
-	.globl _fx2_stall_ep0
-	.globl _fx2_reset_data_toggle
-	.globl _fx2_renumerate
-;--------------------------------------------------------
-; special function registers
-;--------------------------------------------------------
-	.area RSEG    (DATA)
-_IOA	=	0x0080
-_SP	=	0x0081
-_DPL	=	0x0082
-_DPH	=	0x0083
-_DPL1	=	0x0084
-_DPH1	=	0x0085
-_DPS	=	0x0086
-_PCON	=	0x0087
-_TCON	=	0x0088
-_TMOD	=	0x0089
-_TL0	=	0x008a
-_TL1	=	0x008b
-_TH0	=	0x008c
-_TH1	=	0x008d
-_CKCON	=	0x008e
-_IOB	=	0x0090
-_EXIF	=	0x0091
-_MPAGE	=	0x0092
-_SCON0	=	0x0098
-_SBUF0	=	0x0099
-_APTR1H	=	0x009a
-_APTR1L	=	0x009b
-_AUTODAT1	=	0x009c
-_AUTOPTRH2	=	0x009d
-_AUTOPTRL2	=	0x009e
-_AUTODAT2	=	0x009f
-_IOC	=	0x00a0
-_INT2CLR	=	0x00a1
-_INT4CLR	=	0x00a2
-_IE	=	0x00a8
-_EP2468STAT	=	0x00aa
-_EP24FIFOFLGS	=	0x00ab
-_EP68FIFOFLGS	=	0x00ac
-_AUTOPTRSETUP	=	0x00af
-_IOD	=	0x00b0
-_IOE	=	0x00b1
-_OEA	=	0x00b2
-_OEB	=	0x00b3
-_OEC	=	0x00b4
-_OED	=	0x00b5
-_OEE	=	0x00b6
-_IP	=	0x00b8
-_EP01STAT	=	0x00ba
-_GPIFTRIG	=	0x00bb
-_GPIFSGLDATH	=	0x00bd
-_GPIFSGLDATLX	=	0x00be
-_GPIFSGLDATLNOX	=	0x00bf
-_SCON1	=	0x00c0
-_SBUF1	=	0x00c1
-_T2CON	=	0x00c8
-_RCAP2L	=	0x00ca
-_RCAP2H	=	0x00cb
-_TL2	=	0x00cc
-_TH2	=	0x00cd
-_PSW	=	0x00d0
-_EICON	=	0x00d8
-_ACC	=	0x00e0
-_EIE	=	0x00e8
-_B	=	0x00f0
-_EIP	=	0x00f8
-;--------------------------------------------------------
-; special function bits
-;--------------------------------------------------------
-	.area RSEG    (DATA)
-_A0	=	0x0080
-_A1	=	0x0081
-_A2	=	0x0082
-_A3	=	0x0083
-_A4	=	0x0084
-_A5	=	0x0085
-_A6	=	0x0086
-_A7	=	0x0087
-_SEL	=	0x0086
-_IT0	=	0x0088
-_IE0	=	0x0089
-_IT1	=	0x008a
-_IE1	=	0x008b
-_TR0	=	0x008c
-_TF0	=	0x008d
-_TR1	=	0x008e
-_TF1	=	0x008f
-_RI	=	0x0098
-_TI	=	0x0099
-_RB8	=	0x009a
-_TB8	=	0x009b
-_REN	=	0x009c
-_SM2	=	0x009d
-_SM1	=	0x009e
-_SM0	=	0x009f
-_EX0	=	0x00a8
-_ET0	=	0x00a9
-_EX1	=	0x00aa
-_ET1	=	0x00ab
-_ES0	=	0x00ac
-_ET2	=	0x00ad
-_ES1	=	0x00ae
-_EA	=	0x00af
-_D0	=	0x00b0
-_D1	=	0x00b1
-_D2	=	0x00b2
-_D3	=	0x00b3
-_D4	=	0x00b4
-_D5	=	0x00b5
-_D6	=	0x00b6
-_D7	=	0x00b7
-_PX0	=	0x00b8
-_PT0	=	0x00b9
-_PX1	=	0x00ba
-_PT1	=	0x00bb
-_PS0	=	0x00bc
-_PT2	=	0x00bd
-_PS1	=	0x00be
-_RI1	=	0x00c0
-_TI1	=	0x00c1
-_RB81	=	0x00c2
-_TB81	=	0x00c3
-_REN1	=	0x00c4
-_SM21	=	0x00c5
-_SM11	=	0x00c6
-_SM01	=	0x00c7
-_CP_RL2	=	0x00c8
-_C_T2	=	0x00c9
-_TR2	=	0x00ca
-_EXEN2	=	0x00cb
-_TCLK	=	0x00cc
-_RCLK	=	0x00cd
-_EXF2	=	0x00ce
-_TF2	=	0x00cf
-_P	=	0x00d0
-_FL	=	0x00d1
-_OV	=	0x00d2
-_RS0	=	0x00d3
-_RS1	=	0x00d4
-_F0	=	0x00d5
-_AC	=	0x00d6
-_CY	=	0x00d7
-_INT6	=	0x00db
-_RESI	=	0x00dc
-_ERESI	=	0x00dd
-_SMOD1	=	0x00df
-_EIUSB	=	0x00e8
-_EI2C	=	0x00e9
-_EIEX4	=	0x00ea
-_EIEX5	=	0x00eb
-_EIEX6	=	0x00ec
-_PUSB	=	0x00f8
-_PI2C	=	0x00f9
-_EIPX4	=	0x00fa
-_EIPX5	=	0x00fb
-_EIPX6	=	0x00fc
-;--------------------------------------------------------
-; overlayable register banks
-;--------------------------------------------------------
-	.area REG_BANK_0	(REL,OVR,DATA)
-	.ds 8
-;--------------------------------------------------------
-; internal ram data
-;--------------------------------------------------------
-	.area DSEG    (DATA)
-;--------------------------------------------------------
-; overlayable items in internal ram 
-;--------------------------------------------------------
-	.area	OSEG    (OVR,DATA)
-;--------------------------------------------------------
-; indirectly addressable internal ram data
-;--------------------------------------------------------
-	.area ISEG    (DATA)
-;--------------------------------------------------------
-; absolute internal ram data
-;--------------------------------------------------------
-	.area IABS    (ABS,DATA)
-	.area IABS    (ABS,DATA)
-;--------------------------------------------------------
-; bit data
-;--------------------------------------------------------
-	.area BSEG    (BIT)
-;--------------------------------------------------------
-; paged external ram data
-;--------------------------------------------------------
-	.area PSEG    (PAG,XDATA)
-;--------------------------------------------------------
-; external ram data
-;--------------------------------------------------------
-	.area XSEG    (XDATA)
-_GPIF_WAVE_DATA	=	0xe400
-_RES_WAVEDATA_END	=	0xe480
-_CPUCS	=	0xe600
-_IFCONFIG	=	0xe601
-_PINFLAGSAB	=	0xe602
-_PINFLAGSCD	=	0xe603
-_FIFORESET	=	0xe604
-_BREAKPT	=	0xe605
-_BPADDRH	=	0xe606
-_BPADDRL	=	0xe607
-_UART230	=	0xe608
-_FIFOPINPOLAR	=	0xe609
-_REVID	=	0xe60a
-_REVCTL	=	0xe60b
-_EP1OUTCFG	=	0xe610
-_EP1INCFG	=	0xe611
-_EP2CFG	=	0xe612
-_EP4CFG	=	0xe613
-_EP6CFG	=	0xe614
-_EP8CFG	=	0xe615
-_EP2FIFOCFG	=	0xe618
-_EP4FIFOCFG	=	0xe619
-_EP6FIFOCFG	=	0xe61a
-_EP8FIFOCFG	=	0xe61b
-_EP2AUTOINLENH	=	0xe620
-_EP2AUTOINLENL	=	0xe621
-_EP4AUTOINLENH	=	0xe622
-_EP4AUTOINLENL	=	0xe623
-_EP6AUTOINLENH	=	0xe624
-_EP6AUTOINLENL	=	0xe625
-_EP8AUTOINLENH	=	0xe626
-_EP8AUTOINLENL	=	0xe627
-_EP2FIFOPFH	=	0xe630
-_EP2FIFOPFL	=	0xe631
-_EP4FIFOPFH	=	0xe632
-_EP4FIFOPFL	=	0xe633
-_EP6FIFOPFH	=	0xe634
-_EP6FIFOPFL	=	0xe635
-_EP8FIFOPFH	=	0xe636
-_EP8FIFOPFL	=	0xe637
-_EP2ISOINPKTS	=	0xe640
-_EP4ISOINPKTS	=	0xe641
-_EP6ISOINPKTS	=	0xe642
-_EP8ISOINPKTS	=	0xe643
-_INPKTEND	=	0xe648
-_OUTPKTEND	=	0xe649
-_EP2FIFOIE	=	0xe650
-_EP2FIFOIRQ	=	0xe651
-_EP4FIFOIE	=	0xe652
-_EP4FIFOIRQ	=	0xe653
-_EP6FIFOIE	=	0xe654
-_EP6FIFOIRQ	=	0xe655
-_EP8FIFOIE	=	0xe656
-_EP8FIFOIRQ	=	0xe657
-_IBNIE	=	0xe658
-_IBNIRQ	=	0xe659
-_NAKIE	=	0xe65a
-_NAKIRQ	=	0xe65b
-_USBIE	=	0xe65c
-_USBIRQ	=	0xe65d
-_EPIE	=	0xe65e
-_EPIRQ	=	0xe65f
-_GPIFIE	=	0xe660
-_GPIFIRQ	=	0xe661
-_USBERRIE	=	0xe662
-_USBERRIRQ	=	0xe663
-_ERRCNTLIM	=	0xe664
-_CLRERRCNT	=	0xe665
-_INT2IVEC	=	0xe666
-_INT4IVEC	=	0xe667
-_INTSETUP	=	0xe668
-_PORTACFG	=	0xe670
-_PORTCCFG	=	0xe671
-_PORTECFG	=	0xe672
-_I2CS	=	0xe678
-_I2DAT	=	0xe679
-_I2CTL	=	0xe67a
-_XAUTODAT1	=	0xe67b
-_XAUTODAT2	=	0xe67c
-_USBCS	=	0xe680
-_SUSPEND	=	0xe681
-_WAKEUPCS	=	0xe682
-_TOGCTL	=	0xe683
-_USBFRAMEH	=	0xe684
-_USBFRAMEL	=	0xe685
-_MICROFRAME	=	0xe686
-_FNADDR	=	0xe687
-_EP0BCH	=	0xe68a
-_EP0BCL	=	0xe68b
-_EP1OUTBC	=	0xe68d
-_EP1INBC	=	0xe68f
-_EP2BCH	=	0xe690
-_EP2BCL	=	0xe691
-_EP4BCH	=	0xe694
-_EP4BCL	=	0xe695
-_EP6BCH	=	0xe698
-_EP6BCL	=	0xe699
-_EP8BCH	=	0xe69c
-_EP8BCL	=	0xe69d
-_EP0CS	=	0xe6a0
-_EP1OUTCS	=	0xe6a1
-_EP1INCS	=	0xe6a2
-_EP2CS	=	0xe6a3
-_EP4CS	=	0xe6a4
-_EP6CS	=	0xe6a5
-_EP8CS	=	0xe6a6
-_EP2FIFOFLGS	=	0xe6a7
-_EP4FIFOFLGS	=	0xe6a8
-_EP6FIFOFLGS	=	0xe6a9
-_EP8FIFOFLGS	=	0xe6aa
-_EP2FIFOBCH	=	0xe6ab
-_EP2FIFOBCL	=	0xe6ac
-_EP4FIFOBCH	=	0xe6ad
-_EP4FIFOBCL	=	0xe6ae
-_EP6FIFOBCH	=	0xe6af
-_EP6FIFOBCL	=	0xe6b0
-_EP8FIFOBCH	=	0xe6b1
-_EP8FIFOBCL	=	0xe6b2
-_SUDPTRH	=	0xe6b3
-_SUDPTRL	=	0xe6b4
-_SUDPTRCTL	=	0xe6b5
-_SETUPDAT	=	0xe6b8
-_GPIFWFSELECT	=	0xe6c0
-_GPIFIDLECS	=	0xe6c1
-_GPIFIDLECTL	=	0xe6c2
-_GPIFCTLCFG	=	0xe6c3
-_GPIFADRH	=	0xe6c4
-_GPIFADRL	=	0xe6c5
-_GPIFTCB3	=	0xe6ce
-_GPIFTCB2	=	0xe6cf
-_GPIFTCB1	=	0xe6d0
-_GPIFTCB0	=	0xe6d1
-_EP2GPIFFLGSEL	=	0xe6d2
-_EP2GPIFPFSTOP	=	0xe6d3
-_EP2GPIFTRIG	=	0xe6d4
-_EP4GPIFFLGSEL	=	0xe6da
-_EP4GPIFPFSTOP	=	0xe6db
-_EP4GPIFTRIG	=	0xe6dc
-_EP6GPIFFLGSEL	=	0xe6e2
-_EP6GPIFPFSTOP	=	0xe6e3
-_EP6GPIFTRIG	=	0xe6e4
-_EP8GPIFFLGSEL	=	0xe6ea
-_EP8GPIFPFSTOP	=	0xe6eb
-_EP8GPIFTRIG	=	0xe6ec
-_XGPIFSGLDATH	=	0xe6f0
-_XGPIFSGLDATLX	=	0xe6f1
-_XGPIFSGLDATLNOX	=	0xe6f2
-_GPIFREADYCFG	=	0xe6f3
-_GPIFREADYSTAT	=	0xe6f4
-_GPIFABORT	=	0xe6f5
-_FLOWSTATE	=	0xe6c6
-_FLOWLOGIC	=	0xe6c7
-_FLOWEQ0CTL	=	0xe6c8
-_FLOWEQ1CTL	=	0xe6c9
-_FLOWHOLDOFF	=	0xe6ca
-_FLOWSTB	=	0xe6cb
-_FLOWSTBEDGE	=	0xe6cc
-_FLOWSTBHPERIOD	=	0xe6cd
-_GPIFHOLDAMOUNT	=	0xe60c
-_UDMACRCH	=	0xe67d
-_UDMACRCL	=	0xe67e
-_UDMACRCQUAL	=	0xe67f
-_DBUG	=	0xe6f8
-_TESTCFG	=	0xe6f9
-_USBTEST	=	0xe6fa
-_CT1	=	0xe6fb
-_CT2	=	0xe6fc
-_CT3	=	0xe6fd
-_CT4	=	0xe6fe
-_EP0BUF	=	0xe740
-_EP1OUTBUF	=	0xe780
-_EP1INBUF	=	0xe7c0
-_EP2FIFOBUF	=	0xf000
-_EP4FIFOBUF	=	0xf400
-_EP6FIFOBUF	=	0xf800
-_EP8FIFOBUF	=	0xfc00
-;--------------------------------------------------------
-; absolute external ram data
-;--------------------------------------------------------
-	.area XABS    (ABS,XDATA)
-;--------------------------------------------------------
-; external initialized ram data
-;--------------------------------------------------------
-	.area HOME    (CODE)
-	.area GSINIT0 (CODE)
-	.area GSINIT1 (CODE)
-	.area GSINIT2 (CODE)
-	.area GSINIT3 (CODE)
-	.area GSINIT4 (CODE)
-	.area GSINIT5 (CODE)
-	.area GSINIT  (CODE)
-	.area GSFINAL (CODE)
-	.area CSEG    (CODE)
-;--------------------------------------------------------
-; global & static initialisations
-;--------------------------------------------------------
-	.area HOME    (CODE)
-	.area GSINIT  (CODE)
-	.area GSFINAL (CODE)
-	.area GSINIT  (CODE)
-;--------------------------------------------------------
-; Home
-;--------------------------------------------------------
-	.area HOME    (CODE)
-	.area HOME    (CODE)
-;--------------------------------------------------------
-; code
-;--------------------------------------------------------
-	.area CSEG    (CODE)
-;------------------------------------------------------------
-;Allocation info for local variables in function 'fx2_stall_ep0'
-;------------------------------------------------------------
-;------------------------------------------------------------
-;	fx2utils.c:28: fx2_stall_ep0 (void)
-;	-----------------------------------------
-;	 function fx2_stall_ep0
-;	-----------------------------------------
-_fx2_stall_ep0:
-	ar2 = 0x02
-	ar3 = 0x03
-	ar4 = 0x04
-	ar5 = 0x05
-	ar6 = 0x06
-	ar7 = 0x07
-	ar0 = 0x00
-	ar1 = 0x01
-;	fx2utils.c:30: EP0CS |= bmEPSTALL;
-	mov	dptr,#_EP0CS
-	movx	a, at dptr
-	orl	a,#0x01
-	movx	@dptr,a
-	ret
-;------------------------------------------------------------
-;Allocation info for local variables in function 'fx2_reset_data_toggle'
-;------------------------------------------------------------
-;ep                        Allocated to registers r2 
-;------------------------------------------------------------
-;	fx2utils.c:34: fx2_reset_data_toggle (unsigned char ep)
-;	-----------------------------------------
-;	 function fx2_reset_data_toggle
-;	-----------------------------------------
-_fx2_reset_data_toggle:
-	mov	r2,dpl
-;	fx2utils.c:36: TOGCTL = ((ep & 0x80) >> 3 | (ep & 0x0f));
-	mov	a,#0x80
-	anl	a,r2
-	swap	a
-	rl	a
-	anl	a,#0x1f
-	mov	r3,a
-	mov	a,#0x0F
-	anl	a,r2
-	mov	dptr,#_TOGCTL
-	orl	a,r3
-	movx	@dptr,a
-;	fx2utils.c:37: TOGCTL |= bmRESETTOGGLE;
-	mov	dptr,#_TOGCTL
-	movx	a, at dptr
-	orl	a,#0x20
-	movx	@dptr,a
-	ret
-;------------------------------------------------------------
-;Allocation info for local variables in function 'fx2_renumerate'
-;------------------------------------------------------------
-;------------------------------------------------------------
-;	fx2utils.c:41: fx2_renumerate (void)
-;	-----------------------------------------
-;	 function fx2_renumerate
-;	-----------------------------------------
-_fx2_renumerate:
-;	fx2utils.c:43: USBCS |= bmDISCON | bmRENUM;
-	mov	dptr,#_USBCS
-	movx	a, at dptr
-	orl	a,#0x0A
-	movx	@dptr,a
-;	fx2utils.c:45: mdelay (250);
-	mov	dptr,#0x00FA
-	lcall	_mdelay
-;	fx2utils.c:47: USBIRQ = 0xff;		// clear any pending USB irqs...
-	mov	dptr,#_USBIRQ
-	mov	a,#0xFF
-	movx	@dptr,a
-;	fx2utils.c:48: EPIRQ =  0xff;		//   they're from before the renumeration
-	mov	dptr,#_EPIRQ
-	mov	a,#0xFF
-	movx	@dptr,a
-;	fx2utils.c:50: EXIF &= ~bmEXIF_USBINT;
-	anl	_EXIF,#0xEF
-;	fx2utils.c:52: USBCS &= ~bmDISCON;		// reconnect USB
-	mov	dptr,#_USBCS
-	movx	a, at dptr
-	anl	a,#0xF7
-	movx	@dptr,a
-	ret
-	.area CSEG    (CODE)
-	.area CONST   (CODE)
-	.area CABS    (ABS,CODE)
diff --git a/firmware/GN3S_v2/lib/fx2utils.c b/firmware/GN3S_v2/lib/fx2utils.c
deleted file mode 100644
index f515cf5..0000000
--- a/firmware/GN3S_v2/lib/fx2utils.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2003 Free Software Foundation, Inc.
- * 
- * This file is part of GNU Radio
- * 
- * GNU Radio 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, or (at your option)
- * any later version.
- * 
- * GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
- * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "fx2utils.h"
-#include "fx2regs.h"
-#include "delay.h"
-
-void
-fx2_stall_ep0 (void)
-{
-  EP0CS |= bmEPSTALL;
-}
-
-void
-fx2_reset_data_toggle (unsigned char ep)
-{
-  TOGCTL = ((ep & 0x80) >> 3 | (ep & 0x0f));
-  TOGCTL |= bmRESETTOGGLE;
-}
-
-void
-fx2_renumerate (void)
-{
-  USBCS |= bmDISCON | bmRENUM;
-
-  mdelay (250);
-  
-  USBIRQ = 0xff;		// clear any pending USB irqs...
-  EPIRQ =  0xff;		//   they're from before the renumeration
-
-  EXIF &= ~bmEXIF_USBINT;
-
-  USBCS &= ~bmDISCON;		// reconnect USB
-}
diff --git a/firmware/GN3S_v2/lib/fx2utils.lst b/firmware/GN3S_v2/lib/fx2utils.lst
deleted file mode 100644
index 49d2712..0000000
--- a/firmware/GN3S_v2/lib/fx2utils.lst
+++ /dev/null
@@ -1,821 +0,0 @@
-                              1 ;--------------------------------------------------------
-                              2 ; File Created by SDCC : free open source ANSI-C Compiler
-                              3 ; Version 2.9.0 #5416 (Feb  3 2010) (UNIX)
-                              4 ; This file was generated Mon Jul 30 11:40:52 2012
-                              5 ;--------------------------------------------------------
-                              6 	.module fx2utils
-                              7 	.optsdcc -mmcs51 --model-small
-                              8 	
-                              9 ;--------------------------------------------------------
-                             10 ; Public variables in this module
-                             11 ;--------------------------------------------------------
-                             12 	.globl _EIPX6
-                             13 	.globl _EIPX5
-                             14 	.globl _EIPX4
-                             15 	.globl _PI2C
-                             16 	.globl _PUSB
-                             17 	.globl _EIEX6
-                             18 	.globl _EIEX5
-                             19 	.globl _EIEX4
-                             20 	.globl _EI2C
-                             21 	.globl _EIUSB
-                             22 	.globl _SMOD1
-                             23 	.globl _ERESI
-                             24 	.globl _RESI
-                             25 	.globl _INT6
-                             26 	.globl _CY
-                             27 	.globl _AC
-                             28 	.globl _F0
-                             29 	.globl _RS1
-                             30 	.globl _RS0
-                             31 	.globl _OV
-                             32 	.globl _FL
-                             33 	.globl _P
-                             34 	.globl _TF2
-                             35 	.globl _EXF2
-                             36 	.globl _RCLK
-                             37 	.globl _TCLK
-                             38 	.globl _EXEN2
-                             39 	.globl _TR2
-                             40 	.globl _C_T2
-                             41 	.globl _CP_RL2
-                             42 	.globl _SM01
-                             43 	.globl _SM11
-                             44 	.globl _SM21
-                             45 	.globl _REN1
-                             46 	.globl _TB81
-                             47 	.globl _RB81
-                             48 	.globl _TI1
-                             49 	.globl _RI1
-                             50 	.globl _PS1
-                             51 	.globl _PT2
-                             52 	.globl _PS0
-                             53 	.globl _PT1
-                             54 	.globl _PX1
-                             55 	.globl _PT0
-                             56 	.globl _PX0
-                             57 	.globl _D7
-                             58 	.globl _D6
-                             59 	.globl _D5
-                             60 	.globl _D4
-                             61 	.globl _D3
-                             62 	.globl _D2
-                             63 	.globl _D1
-                             64 	.globl _D0
-                             65 	.globl _EA
-                             66 	.globl _ES1
-                             67 	.globl _ET2
-                             68 	.globl _ES0
-                             69 	.globl _ET1
-                             70 	.globl _EX1
-                             71 	.globl _ET0
-                             72 	.globl _EX0
-                             73 	.globl _SM0
-                             74 	.globl _SM1
-                             75 	.globl _SM2
-                             76 	.globl _REN
-                             77 	.globl _TB8
-                             78 	.globl _RB8
-                             79 	.globl _TI
-                             80 	.globl _RI
-                             81 	.globl _TF1
-                             82 	.globl _TR1
-                             83 	.globl _TF0
-                             84 	.globl _TR0
-                             85 	.globl _IE1
-                             86 	.globl _IT1
-                             87 	.globl _IE0
-                             88 	.globl _IT0
-                             89 	.globl _SEL
-                             90 	.globl _A7
-                             91 	.globl _A6
-                             92 	.globl _A5
-                             93 	.globl _A4
-                             94 	.globl _A3
-                             95 	.globl _A2
-                             96 	.globl _A1
-                             97 	.globl _A0
-                             98 	.globl _EIP
-                             99 	.globl _B
-                            100 	.globl _EIE
-                            101 	.globl _ACC
-                            102 	.globl _EICON
-                            103 	.globl _PSW
-                            104 	.globl _TH2
-                            105 	.globl _TL2
-                            106 	.globl _RCAP2H
-                            107 	.globl _RCAP2L
-                            108 	.globl _T2CON
-                            109 	.globl _SBUF1
-                            110 	.globl _SCON1
-                            111 	.globl _GPIFSGLDATLNOX
-                            112 	.globl _GPIFSGLDATLX
-                            113 	.globl _GPIFSGLDATH
-                            114 	.globl _GPIFTRIG
-                            115 	.globl _EP01STAT
-                            116 	.globl _IP
-                            117 	.globl _OEE
-                            118 	.globl _OED
-                            119 	.globl _OEC
-                            120 	.globl _OEB
-                            121 	.globl _OEA
-                            122 	.globl _IOE
-                            123 	.globl _IOD
-                            124 	.globl _AUTOPTRSETUP
-                            125 	.globl _EP68FIFOFLGS
-                            126 	.globl _EP24FIFOFLGS
-                            127 	.globl _EP2468STAT
-                            128 	.globl _IE
-                            129 	.globl _INT4CLR
-                            130 	.globl _INT2CLR
-                            131 	.globl _IOC
-                            132 	.globl _AUTODAT2
-                            133 	.globl _AUTOPTRL2
-                            134 	.globl _AUTOPTRH2
-                            135 	.globl _AUTODAT1
-                            136 	.globl _APTR1L
-                            137 	.globl _APTR1H
-                            138 	.globl _SBUF0
-                            139 	.globl _SCON0
-                            140 	.globl _MPAGE
-                            141 	.globl _EXIF
-                            142 	.globl _IOB
-                            143 	.globl _CKCON
-                            144 	.globl _TH1
-                            145 	.globl _TH0
-                            146 	.globl _TL1
-                            147 	.globl _TL0
-                            148 	.globl _TMOD
-                            149 	.globl _TCON
-                            150 	.globl _PCON
-                            151 	.globl _DPS
-                            152 	.globl _DPH1
-                            153 	.globl _DPL1
-                            154 	.globl _DPH
-                            155 	.globl _DPL
-                            156 	.globl _SP
-                            157 	.globl _IOA
-                            158 	.globl _EP8FIFOBUF
-                            159 	.globl _EP6FIFOBUF
-                            160 	.globl _EP4FIFOBUF
-                            161 	.globl _EP2FIFOBUF
-                            162 	.globl _EP1INBUF
-                            163 	.globl _EP1OUTBUF
-                            164 	.globl _EP0BUF
-                            165 	.globl _CT4
-                            166 	.globl _CT3
-                            167 	.globl _CT2
-                            168 	.globl _CT1
-                            169 	.globl _USBTEST
-                            170 	.globl _TESTCFG
-                            171 	.globl _DBUG
-                            172 	.globl _UDMACRCQUAL
-                            173 	.globl _UDMACRCL
-                            174 	.globl _UDMACRCH
-                            175 	.globl _GPIFHOLDAMOUNT
-                            176 	.globl _FLOWSTBHPERIOD
-                            177 	.globl _FLOWSTBEDGE
-                            178 	.globl _FLOWSTB
-                            179 	.globl _FLOWHOLDOFF
-                            180 	.globl _FLOWEQ1CTL
-                            181 	.globl _FLOWEQ0CTL
-                            182 	.globl _FLOWLOGIC
-                            183 	.globl _FLOWSTATE
-                            184 	.globl _GPIFABORT
-                            185 	.globl _GPIFREADYSTAT
-                            186 	.globl _GPIFREADYCFG
-                            187 	.globl _XGPIFSGLDATLNOX
-                            188 	.globl _XGPIFSGLDATLX
-                            189 	.globl _XGPIFSGLDATH
-                            190 	.globl _EP8GPIFTRIG
-                            191 	.globl _EP8GPIFPFSTOP
-                            192 	.globl _EP8GPIFFLGSEL
-                            193 	.globl _EP6GPIFTRIG
-                            194 	.globl _EP6GPIFPFSTOP
-                            195 	.globl _EP6GPIFFLGSEL
-                            196 	.globl _EP4GPIFTRIG
-                            197 	.globl _EP4GPIFPFSTOP
-                            198 	.globl _EP4GPIFFLGSEL
-                            199 	.globl _EP2GPIFTRIG
-                            200 	.globl _EP2GPIFPFSTOP
-                            201 	.globl _EP2GPIFFLGSEL
-                            202 	.globl _GPIFTCB0
-                            203 	.globl _GPIFTCB1
-                            204 	.globl _GPIFTCB2
-                            205 	.globl _GPIFTCB3
-                            206 	.globl _GPIFADRL
-                            207 	.globl _GPIFADRH
-                            208 	.globl _GPIFCTLCFG
-                            209 	.globl _GPIFIDLECTL
-                            210 	.globl _GPIFIDLECS
-                            211 	.globl _GPIFWFSELECT
-                            212 	.globl _SETUPDAT
-                            213 	.globl _SUDPTRCTL
-                            214 	.globl _SUDPTRL
-                            215 	.globl _SUDPTRH
-                            216 	.globl _EP8FIFOBCL
-                            217 	.globl _EP8FIFOBCH
-                            218 	.globl _EP6FIFOBCL
-                            219 	.globl _EP6FIFOBCH
-                            220 	.globl _EP4FIFOBCL
-                            221 	.globl _EP4FIFOBCH
-                            222 	.globl _EP2FIFOBCL
-                            223 	.globl _EP2FIFOBCH
-                            224 	.globl _EP8FIFOFLGS
-                            225 	.globl _EP6FIFOFLGS
-                            226 	.globl _EP4FIFOFLGS
-                            227 	.globl _EP2FIFOFLGS
-                            228 	.globl _EP8CS
-                            229 	.globl _EP6CS
-                            230 	.globl _EP4CS
-                            231 	.globl _EP2CS
-                            232 	.globl _EP1INCS
-                            233 	.globl _EP1OUTCS
-                            234 	.globl _EP0CS
-                            235 	.globl _EP8BCL
-                            236 	.globl _EP8BCH
-                            237 	.globl _EP6BCL
-                            238 	.globl _EP6BCH
-                            239 	.globl _EP4BCL
-                            240 	.globl _EP4BCH
-                            241 	.globl _EP2BCL
-                            242 	.globl _EP2BCH
-                            243 	.globl _EP1INBC
-                            244 	.globl _EP1OUTBC
-                            245 	.globl _EP0BCL
-                            246 	.globl _EP0BCH
-                            247 	.globl _FNADDR
-                            248 	.globl _MICROFRAME
-                            249 	.globl _USBFRAMEL
-                            250 	.globl _USBFRAMEH
-                            251 	.globl _TOGCTL
-                            252 	.globl _WAKEUPCS
-                            253 	.globl _SUSPEND
-                            254 	.globl _USBCS
-                            255 	.globl _XAUTODAT2
-                            256 	.globl _XAUTODAT1
-                            257 	.globl _I2CTL
-                            258 	.globl _I2DAT
-                            259 	.globl _I2CS
-                            260 	.globl _PORTECFG
-                            261 	.globl _PORTCCFG
-                            262 	.globl _PORTACFG
-                            263 	.globl _INTSETUP
-                            264 	.globl _INT4IVEC
-                            265 	.globl _INT2IVEC
-                            266 	.globl _CLRERRCNT
-                            267 	.globl _ERRCNTLIM
-                            268 	.globl _USBERRIRQ
-                            269 	.globl _USBERRIE
-                            270 	.globl _GPIFIRQ
-                            271 	.globl _GPIFIE
-                            272 	.globl _EPIRQ
-                            273 	.globl _EPIE
-                            274 	.globl _USBIRQ
-                            275 	.globl _USBIE
-                            276 	.globl _NAKIRQ
-                            277 	.globl _NAKIE
-                            278 	.globl _IBNIRQ
-                            279 	.globl _IBNIE
-                            280 	.globl _EP8FIFOIRQ
-                            281 	.globl _EP8FIFOIE
-                            282 	.globl _EP6FIFOIRQ
-                            283 	.globl _EP6FIFOIE
-                            284 	.globl _EP4FIFOIRQ
-                            285 	.globl _EP4FIFOIE
-                            286 	.globl _EP2FIFOIRQ
-                            287 	.globl _EP2FIFOIE
-                            288 	.globl _OUTPKTEND
-                            289 	.globl _INPKTEND
-                            290 	.globl _EP8ISOINPKTS
-                            291 	.globl _EP6ISOINPKTS
-                            292 	.globl _EP4ISOINPKTS
-                            293 	.globl _EP2ISOINPKTS
-                            294 	.globl _EP8FIFOPFL
-                            295 	.globl _EP8FIFOPFH
-                            296 	.globl _EP6FIFOPFL
-                            297 	.globl _EP6FIFOPFH
-                            298 	.globl _EP4FIFOPFL
-                            299 	.globl _EP4FIFOPFH
-                            300 	.globl _EP2FIFOPFL
-                            301 	.globl _EP2FIFOPFH
-                            302 	.globl _EP8AUTOINLENL
-                            303 	.globl _EP8AUTOINLENH
-                            304 	.globl _EP6AUTOINLENL
-                            305 	.globl _EP6AUTOINLENH
-                            306 	.globl _EP4AUTOINLENL
-                            307 	.globl _EP4AUTOINLENH
-                            308 	.globl _EP2AUTOINLENL
-                            309 	.globl _EP2AUTOINLENH
-                            310 	.globl _EP8FIFOCFG
-                            311 	.globl _EP6FIFOCFG
-                            312 	.globl _EP4FIFOCFG
-                            313 	.globl _EP2FIFOCFG
-                            314 	.globl _EP8CFG
-                            315 	.globl _EP6CFG
-                            316 	.globl _EP4CFG
-                            317 	.globl _EP2CFG
-                            318 	.globl _EP1INCFG
-                            319 	.globl _EP1OUTCFG
-                            320 	.globl _REVCTL
-                            321 	.globl _REVID
-                            322 	.globl _FIFOPINPOLAR
-                            323 	.globl _UART230
-                            324 	.globl _BPADDRL
-                            325 	.globl _BPADDRH
-                            326 	.globl _BREAKPT
-                            327 	.globl _FIFORESET
-                            328 	.globl _PINFLAGSCD
-                            329 	.globl _PINFLAGSAB
-                            330 	.globl _IFCONFIG
-                            331 	.globl _CPUCS
-                            332 	.globl _RES_WAVEDATA_END
-                            333 	.globl _GPIF_WAVE_DATA
-                            334 	.globl _fx2_stall_ep0
-                            335 	.globl _fx2_reset_data_toggle
-                            336 	.globl _fx2_renumerate
-                            337 ;--------------------------------------------------------
-                            338 ; special function registers
-                            339 ;--------------------------------------------------------
-                            340 	.area RSEG    (DATA)
-                    0080    341 _IOA	=	0x0080
-                    0081    342 _SP	=	0x0081
-                    0082    343 _DPL	=	0x0082
-                    0083    344 _DPH	=	0x0083
-                    0084    345 _DPL1	=	0x0084
-                    0085    346 _DPH1	=	0x0085
-                    0086    347 _DPS	=	0x0086
-                    0087    348 _PCON	=	0x0087
-                    0088    349 _TCON	=	0x0088
-                    0089    350 _TMOD	=	0x0089
-                    008A    351 _TL0	=	0x008a
-                    008B    352 _TL1	=	0x008b
-                    008C    353 _TH0	=	0x008c
-                    008D    354 _TH1	=	0x008d
-                    008E    355 _CKCON	=	0x008e
-                    0090    356 _IOB	=	0x0090
-                    0091    357 _EXIF	=	0x0091
-                    0092    358 _MPAGE	=	0x0092
-                    0098    359 _SCON0	=	0x0098
-                    0099    360 _SBUF0	=	0x0099
-                    009A    361 _APTR1H	=	0x009a
-                    009B    362 _APTR1L	=	0x009b
-                    009C    363 _AUTODAT1	=	0x009c
-                    009D    364 _AUTOPTRH2	=	0x009d
-                    009E    365 _AUTOPTRL2	=	0x009e
-                    009F    366 _AUTODAT2	=	0x009f
-                    00A0    367 _IOC	=	0x00a0
-                    00A1    368 _INT2CLR	=	0x00a1
-                    00A2    369 _INT4CLR	=	0x00a2
-                    00A8    370 _IE	=	0x00a8
-                    00AA    371 _EP2468STAT	=	0x00aa
-                    00AB    372 _EP24FIFOFLGS	=	0x00ab
-                    00AC    373 _EP68FIFOFLGS	=	0x00ac
-                    00AF    374 _AUTOPTRSETUP	=	0x00af
-                    00B0    375 _IOD	=	0x00b0
-                    00B1    376 _IOE	=	0x00b1
-                    00B2    377 _OEA	=	0x00b2
-                    00B3    378 _OEB	=	0x00b3
-                    00B4    379 _OEC	=	0x00b4
-                    00B5    380 _OED	=	0x00b5
-                    00B6    381 _OEE	=	0x00b6
-                    00B8    382 _IP	=	0x00b8
-                    00BA    383 _EP01STAT	=	0x00ba
-                    00BB    384 _GPIFTRIG	=	0x00bb
-                    00BD    385 _GPIFSGLDATH	=	0x00bd
-                    00BE    386 _GPIFSGLDATLX	=	0x00be
-                    00BF    387 _GPIFSGLDATLNOX	=	0x00bf
-                    00C0    388 _SCON1	=	0x00c0
-                    00C1    389 _SBUF1	=	0x00c1
-                    00C8    390 _T2CON	=	0x00c8
-                    00CA    391 _RCAP2L	=	0x00ca
-                    00CB    392 _RCAP2H	=	0x00cb
-                    00CC    393 _TL2	=	0x00cc
-                    00CD    394 _TH2	=	0x00cd
-                    00D0    395 _PSW	=	0x00d0
-                    00D8    396 _EICON	=	0x00d8
-                    00E0    397 _ACC	=	0x00e0
-                    00E8    398 _EIE	=	0x00e8
-                    00F0    399 _B	=	0x00f0
-                    00F8    400 _EIP	=	0x00f8
-                            401 ;--------------------------------------------------------
-                            402 ; special function bits
-                            403 ;--------------------------------------------------------
-                            404 	.area RSEG    (DATA)
-                    0080    405 _A0	=	0x0080
-                    0081    406 _A1	=	0x0081
-                    0082    407 _A2	=	0x0082
-                    0083    408 _A3	=	0x0083
-                    0084    409 _A4	=	0x0084
-                    0085    410 _A5	=	0x0085
-                    0086    411 _A6	=	0x0086
-                    0087    412 _A7	=	0x0087
-                    0086    413 _SEL	=	0x0086
-                    0088    414 _IT0	=	0x0088
-                    0089    415 _IE0	=	0x0089
-                    008A    416 _IT1	=	0x008a
-                    008B    417 _IE1	=	0x008b
-                    008C    418 _TR0	=	0x008c
-                    008D    419 _TF0	=	0x008d
-                    008E    420 _TR1	=	0x008e
-                    008F    421 _TF1	=	0x008f
-                    0098    422 _RI	=	0x0098
-                    0099    423 _TI	=	0x0099
-                    009A    424 _RB8	=	0x009a
-                    009B    425 _TB8	=	0x009b
-                    009C    426 _REN	=	0x009c
-                    009D    427 _SM2	=	0x009d
-                    009E    428 _SM1	=	0x009e
-                    009F    429 _SM0	=	0x009f
-                    00A8    430 _EX0	=	0x00a8
-                    00A9    431 _ET0	=	0x00a9
-                    00AA    432 _EX1	=	0x00aa
-                    00AB    433 _ET1	=	0x00ab
-                    00AC    434 _ES0	=	0x00ac
-                    00AD    435 _ET2	=	0x00ad
-                    00AE    436 _ES1	=	0x00ae
-                    00AF    437 _EA	=	0x00af
-                    00B0    438 _D0	=	0x00b0
-                    00B1    439 _D1	=	0x00b1
-                    00B2    440 _D2	=	0x00b2
-                    00B3    441 _D3	=	0x00b3
-                    00B4    442 _D4	=	0x00b4
-                    00B5    443 _D5	=	0x00b5
-                    00B6    444 _D6	=	0x00b6
-                    00B7    445 _D7	=	0x00b7
-                    00B8    446 _PX0	=	0x00b8
-                    00B9    447 _PT0	=	0x00b9
-                    00BA    448 _PX1	=	0x00ba
-                    00BB    449 _PT1	=	0x00bb
-                    00BC    450 _PS0	=	0x00bc
-                    00BD    451 _PT2	=	0x00bd
-                    00BE    452 _PS1	=	0x00be
-                    00C0    453 _RI1	=	0x00c0
-                    00C1    454 _TI1	=	0x00c1
-                    00C2    455 _RB81	=	0x00c2
-                    00C3    456 _TB81	=	0x00c3
-                    00C4    457 _REN1	=	0x00c4
-                    00C5    458 _SM21	=	0x00c5
-                    00C6    459 _SM11	=	0x00c6
-                    00C7    460 _SM01	=	0x00c7
-                    00C8    461 _CP_RL2	=	0x00c8
-                    00C9    462 _C_T2	=	0x00c9
-                    00CA    463 _TR2	=	0x00ca
-                    00CB    464 _EXEN2	=	0x00cb
-                    00CC    465 _TCLK	=	0x00cc
-                    00CD    466 _RCLK	=	0x00cd
-                    00CE    467 _EXF2	=	0x00ce
-                    00CF    468 _TF2	=	0x00cf
-                    00D0    469 _P	=	0x00d0
-                    00D1    470 _FL	=	0x00d1
-                    00D2    471 _OV	=	0x00d2
-                    00D3    472 _RS0	=	0x00d3
-                    00D4    473 _RS1	=	0x00d4
-                    00D5    474 _F0	=	0x00d5
-                    00D6    475 _AC	=	0x00d6
-                    00D7    476 _CY	=	0x00d7
-                    00DB    477 _INT6	=	0x00db
-                    00DC    478 _RESI	=	0x00dc
-                    00DD    479 _ERESI	=	0x00dd
-                    00DF    480 _SMOD1	=	0x00df
-                    00E8    481 _EIUSB	=	0x00e8
-                    00E9    482 _EI2C	=	0x00e9
-                    00EA    483 _EIEX4	=	0x00ea
-                    00EB    484 _EIEX5	=	0x00eb
-                    00EC    485 _EIEX6	=	0x00ec
-                    00F8    486 _PUSB	=	0x00f8
-                    00F9    487 _PI2C	=	0x00f9
-                    00FA    488 _EIPX4	=	0x00fa
-                    00FB    489 _EIPX5	=	0x00fb
-                    00FC    490 _EIPX6	=	0x00fc
-                            491 ;--------------------------------------------------------
-                            492 ; overlayable register banks
-                            493 ;--------------------------------------------------------
-                            494 	.area REG_BANK_0	(REL,OVR,DATA)
-   0000                     495 	.ds 8
-                            496 ;--------------------------------------------------------
-                            497 ; internal ram data
-                            498 ;--------------------------------------------------------
-                            499 	.area DSEG    (DATA)
-                            500 ;--------------------------------------------------------
-                            501 ; overlayable items in internal ram 
-                            502 ;--------------------------------------------------------
-                            503 	.area	OSEG    (OVR,DATA)
-                            504 ;--------------------------------------------------------
-                            505 ; indirectly addressable internal ram data
-                            506 ;--------------------------------------------------------
-                            507 	.area ISEG    (DATA)
-                            508 ;--------------------------------------------------------
-                            509 ; absolute internal ram data
-                            510 ;--------------------------------------------------------
-                            511 	.area IABS    (ABS,DATA)
-                            512 	.area IABS    (ABS,DATA)
-                            513 ;--------------------------------------------------------
-                            514 ; bit data
-                            515 ;--------------------------------------------------------
-                            516 	.area BSEG    (BIT)
-                            517 ;--------------------------------------------------------
-                            518 ; paged external ram data
-                            519 ;--------------------------------------------------------
-                            520 	.area PSEG    (PAG,XDATA)
-                            521 ;--------------------------------------------------------
-                            522 ; external ram data
-                            523 ;--------------------------------------------------------
-                            524 	.area XSEG    (XDATA)
-                    E400    525 _GPIF_WAVE_DATA	=	0xe400
-                    E480    526 _RES_WAVEDATA_END	=	0xe480
-                    E600    527 _CPUCS	=	0xe600
-                    E601    528 _IFCONFIG	=	0xe601
-                    E602    529 _PINFLAGSAB	=	0xe602
-                    E603    530 _PINFLAGSCD	=	0xe603
-                    E604    531 _FIFORESET	=	0xe604
-                    E605    532 _BREAKPT	=	0xe605
-                    E606    533 _BPADDRH	=	0xe606
-                    E607    534 _BPADDRL	=	0xe607
-                    E608    535 _UART230	=	0xe608
-                    E609    536 _FIFOPINPOLAR	=	0xe609
-                    E60A    537 _REVID	=	0xe60a
-                    E60B    538 _REVCTL	=	0xe60b
-                    E610    539 _EP1OUTCFG	=	0xe610
-                    E611    540 _EP1INCFG	=	0xe611
-                    E612    541 _EP2CFG	=	0xe612
-                    E613    542 _EP4CFG	=	0xe613
-                    E614    543 _EP6CFG	=	0xe614
-                    E615    544 _EP8CFG	=	0xe615
-                    E618    545 _EP2FIFOCFG	=	0xe618
-                    E619    546 _EP4FIFOCFG	=	0xe619
-                    E61A    547 _EP6FIFOCFG	=	0xe61a
-                    E61B    548 _EP8FIFOCFG	=	0xe61b
-                    E620    549 _EP2AUTOINLENH	=	0xe620
-                    E621    550 _EP2AUTOINLENL	=	0xe621
-                    E622    551 _EP4AUTOINLENH	=	0xe622
-                    E623    552 _EP4AUTOINLENL	=	0xe623
-                    E624    553 _EP6AUTOINLENH	=	0xe624
-                    E625    554 _EP6AUTOINLENL	=	0xe625
-                    E626    555 _EP8AUTOINLENH	=	0xe626
-                    E627    556 _EP8AUTOINLENL	=	0xe627
-                    E630    557 _EP2FIFOPFH	=	0xe630
-                    E631    558 _EP2FIFOPFL	=	0xe631
-                    E632    559 _EP4FIFOPFH	=	0xe632
-                    E633    560 _EP4FIFOPFL	=	0xe633
-                    E634    561 _EP6FIFOPFH	=	0xe634
-                    E635    562 _EP6FIFOPFL	=	0xe635
-                    E636    563 _EP8FIFOPFH	=	0xe636
-                    E637    564 _EP8FIFOPFL	=	0xe637
-                    E640    565 _EP2ISOINPKTS	=	0xe640
-                    E641    566 _EP4ISOINPKTS	=	0xe641
-                    E642    567 _EP6ISOINPKTS	=	0xe642
-                    E643    568 _EP8ISOINPKTS	=	0xe643
-                    E648    569 _INPKTEND	=	0xe648
-                    E649    570 _OUTPKTEND	=	0xe649
-                    E650    571 _EP2FIFOIE	=	0xe650
-                    E651    572 _EP2FIFOIRQ	=	0xe651
-                    E652    573 _EP4FIFOIE	=	0xe652
-                    E653    574 _EP4FIFOIRQ	=	0xe653
-                    E654    575 _EP6FIFOIE	=	0xe654
-                    E655    576 _EP6FIFOIRQ	=	0xe655
-                    E656    577 _EP8FIFOIE	=	0xe656
-                    E657    578 _EP8FIFOIRQ	=	0xe657
-                    E658    579 _IBNIE	=	0xe658
-                    E659    580 _IBNIRQ	=	0xe659
-                    E65A    581 _NAKIE	=	0xe65a
-                    E65B    582 _NAKIRQ	=	0xe65b
-                    E65C    583 _USBIE	=	0xe65c
-                    E65D    584 _USBIRQ	=	0xe65d
-                    E65E    585 _EPIE	=	0xe65e
-                    E65F    586 _EPIRQ	=	0xe65f
-                    E660    587 _GPIFIE	=	0xe660
-                    E661    588 _GPIFIRQ	=	0xe661
-                    E662    589 _USBERRIE	=	0xe662
-                    E663    590 _USBERRIRQ	=	0xe663
-                    E664    591 _ERRCNTLIM	=	0xe664
-                    E665    592 _CLRERRCNT	=	0xe665
-                    E666    593 _INT2IVEC	=	0xe666
-                    E667    594 _INT4IVEC	=	0xe667
-                    E668    595 _INTSETUP	=	0xe668
-                    E670    596 _PORTACFG	=	0xe670
-                    E671    597 _PORTCCFG	=	0xe671
-                    E672    598 _PORTECFG	=	0xe672
-                    E678    599 _I2CS	=	0xe678
-                    E679    600 _I2DAT	=	0xe679
-                    E67A    601 _I2CTL	=	0xe67a
-                    E67B    602 _XAUTODAT1	=	0xe67b
-                    E67C    603 _XAUTODAT2	=	0xe67c
-                    E680    604 _USBCS	=	0xe680
-                    E681    605 _SUSPEND	=	0xe681
-                    E682    606 _WAKEUPCS	=	0xe682
-                    E683    607 _TOGCTL	=	0xe683
-                    E684    608 _USBFRAMEH	=	0xe684
-                    E685    609 _USBFRAMEL	=	0xe685
-                    E686    610 _MICROFRAME	=	0xe686
-                    E687    611 _FNADDR	=	0xe687
-                    E68A    612 _EP0BCH	=	0xe68a
-                    E68B    613 _EP0BCL	=	0xe68b
-                    E68D    614 _EP1OUTBC	=	0xe68d
-                    E68F    615 _EP1INBC	=	0xe68f
-                    E690    616 _EP2BCH	=	0xe690
-                    E691    617 _EP2BCL	=	0xe691
-                    E694    618 _EP4BCH	=	0xe694
-                    E695    619 _EP4BCL	=	0xe695
-                    E698    620 _EP6BCH	=	0xe698
-                    E699    621 _EP6BCL	=	0xe699
-                    E69C    622 _EP8BCH	=	0xe69c
-                    E69D    623 _EP8BCL	=	0xe69d
-                    E6A0    624 _EP0CS	=	0xe6a0
-                    E6A1    625 _EP1OUTCS	=	0xe6a1
-                    E6A2    626 _EP1INCS	=	0xe6a2
-                    E6A3    627 _EP2CS	=	0xe6a3
-                    E6A4    628 _EP4CS	=	0xe6a4
-                    E6A5    629 _EP6CS	=	0xe6a5
-                    E6A6    630 _EP8CS	=	0xe6a6
-                    E6A7    631 _EP2FIFOFLGS	=	0xe6a7
-                    E6A8    632 _EP4FIFOFLGS	=	0xe6a8
-                    E6A9    633 _EP6FIFOFLGS	=	0xe6a9
-                    E6AA    634 _EP8FIFOFLGS	=	0xe6aa
-                    E6AB    635 _EP2FIFOBCH	=	0xe6ab
-                    E6AC    636 _EP2FIFOBCL	=	0xe6ac
-                    E6AD    637 _EP4FIFOBCH	=	0xe6ad
-                    E6AE    638 _EP4FIFOBCL	=	0xe6ae
-                    E6AF    639 _EP6FIFOBCH	=	0xe6af
-                    E6B0    640 _EP6FIFOBCL	=	0xe6b0
-                    E6B1    641 _EP8FIFOBCH	=	0xe6b1
-                    E6B2    642 _EP8FIFOBCL	=	0xe6b2
-                    E6B3    643 _SUDPTRH	=	0xe6b3
-                    E6B4    644 _SUDPTRL	=	0xe6b4
-                    E6B5    645 _SUDPTRCTL	=	0xe6b5
-                    E6B8    646 _SETUPDAT	=	0xe6b8
-                    E6C0    647 _GPIFWFSELECT	=	0xe6c0
-                    E6C1    648 _GPIFIDLECS	=	0xe6c1
-                    E6C2    649 _GPIFIDLECTL	=	0xe6c2
-                    E6C3    650 _GPIFCTLCFG	=	0xe6c3
-                    E6C4    651 _GPIFADRH	=	0xe6c4
-                    E6C5    652 _GPIFADRL	=	0xe6c5
-                    E6CE    653 _GPIFTCB3	=	0xe6ce
-                    E6CF    654 _GPIFTCB2	=	0xe6cf
-                    E6D0    655 _GPIFTCB1	=	0xe6d0
-                    E6D1    656 _GPIFTCB0	=	0xe6d1
-                    E6D2    657 _EP2GPIFFLGSEL	=	0xe6d2
-                    E6D3    658 _EP2GPIFPFSTOP	=	0xe6d3
-                    E6D4    659 _EP2GPIFTRIG	=	0xe6d4
-                    E6DA    660 _EP4GPIFFLGSEL	=	0xe6da
-                    E6DB    661 _EP4GPIFPFSTOP	=	0xe6db
-                    E6DC    662 _EP4GPIFTRIG	=	0xe6dc
-                    E6E2    663 _EP6GPIFFLGSEL	=	0xe6e2
-                    E6E3    664 _EP6GPIFPFSTOP	=	0xe6e3
-                    E6E4    665 _EP6GPIFTRIG	=	0xe6e4
-                    E6EA    666 _EP8GPIFFLGSEL	=	0xe6ea
-                    E6EB    667 _EP8GPIFPFSTOP	=	0xe6eb
-                    E6EC    668 _EP8GPIFTRIG	=	0xe6ec
-                    E6F0    669 _XGPIFSGLDATH	=	0xe6f0
-                    E6F1    670 _XGPIFSGLDATLX	=	0xe6f1
-                    E6F2    671 _XGPIFSGLDATLNOX	=	0xe6f2
-                    E6F3    672 _GPIFREADYCFG	=	0xe6f3
-                    E6F4    673 _GPIFREADYSTAT	=	0xe6f4
-                    E6F5    674 _GPIFABORT	=	0xe6f5
-                    E6C6    675 _FLOWSTATE	=	0xe6c6
-                    E6C7    676 _FLOWLOGIC	=	0xe6c7
-                    E6C8    677 _FLOWEQ0CTL	=	0xe6c8
-                    E6C9    678 _FLOWEQ1CTL	=	0xe6c9
-                    E6CA    679 _FLOWHOLDOFF	=	0xe6ca
-                    E6CB    680 _FLOWSTB	=	0xe6cb
-                    E6CC    681 _FLOWSTBEDGE	=	0xe6cc
-                    E6CD    682 _FLOWSTBHPERIOD	=	0xe6cd
-                    E60C    683 _GPIFHOLDAMOUNT	=	0xe60c
-                    E67D    684 _UDMACRCH	=	0xe67d
-                    E67E    685 _UDMACRCL	=	0xe67e
-                    E67F    686 _UDMACRCQUAL	=	0xe67f
-                    E6F8    687 _DBUG	=	0xe6f8
-                    E6F9    688 _TESTCFG	=	0xe6f9
-                    E6FA    689 _USBTEST	=	0xe6fa
-                    E6FB    690 _CT1	=	0xe6fb
-                    E6FC    691 _CT2	=	0xe6fc
-                    E6FD    692 _CT3	=	0xe6fd
-                    E6FE    693 _CT4	=	0xe6fe
-                    E740    694 _EP0BUF	=	0xe740
-                    E780    695 _EP1OUTBUF	=	0xe780
-                    E7C0    696 _EP1INBUF	=	0xe7c0
-                    F000    697 _EP2FIFOBUF	=	0xf000
-                    F400    698 _EP4FIFOBUF	=	0xf400
-                    F800    699 _EP6FIFOBUF	=	0xf800
-                    FC00    700 _EP8FIFOBUF	=	0xfc00
-                            701 ;--------------------------------------------------------
-                            702 ; absolute external ram data
-                            703 ;--------------------------------------------------------
-                            704 	.area XABS    (ABS,XDATA)
-                            705 ;--------------------------------------------------------
-                            706 ; external initialized ram data
-                            707 ;--------------------------------------------------------
-                            708 	.area HOME    (CODE)
-                            709 	.area GSINIT0 (CODE)
-                            710 	.area GSINIT1 (CODE)
-                            711 	.area GSINIT2 (CODE)
-                            712 	.area GSINIT3 (CODE)
-                            713 	.area GSINIT4 (CODE)
-                            714 	.area GSINIT5 (CODE)
-                            715 	.area GSINIT  (CODE)
-                            716 	.area GSFINAL (CODE)
-                            717 	.area CSEG    (CODE)
-                            718 ;--------------------------------------------------------
-                            719 ; global & static initialisations
-                            720 ;--------------------------------------------------------
-                            721 	.area HOME    (CODE)
-                            722 	.area GSINIT  (CODE)
-                            723 	.area GSFINAL (CODE)
-                            724 	.area GSINIT  (CODE)
-                            725 ;--------------------------------------------------------
-                            726 ; Home
-                            727 ;--------------------------------------------------------
-                            728 	.area HOME    (CODE)
-                            729 	.area HOME    (CODE)
-                            730 ;--------------------------------------------------------
-                            731 ; code
-                            732 ;--------------------------------------------------------
-                            733 	.area CSEG    (CODE)
-                            734 ;------------------------------------------------------------
-                            735 ;Allocation info for local variables in function 'fx2_stall_ep0'
-                            736 ;------------------------------------------------------------
-                            737 ;------------------------------------------------------------
-                            738 ;	fx2utils.c:28: fx2_stall_ep0 (void)
-                            739 ;	-----------------------------------------
-                            740 ;	 function fx2_stall_ep0
-                            741 ;	-----------------------------------------
-   0000                     742 _fx2_stall_ep0:
-                    0002    743 	ar2 = 0x02
-                    0003    744 	ar3 = 0x03
-                    0004    745 	ar4 = 0x04
-                    0005    746 	ar5 = 0x05
-                    0006    747 	ar6 = 0x06
-                    0007    748 	ar7 = 0x07
-                    0000    749 	ar0 = 0x00
-                    0001    750 	ar1 = 0x01
-                            751 ;	fx2utils.c:30: EP0CS |= bmEPSTALL;
-   0000 90 E6 A0            752 	mov	dptr,#_EP0CS
-   0003 E0                  753 	movx	a, at dptr
-   0004 44 01               754 	orl	a,#0x01
-   0006 F0                  755 	movx	@dptr,a
-   0007 22                  756 	ret
-                            757 ;------------------------------------------------------------
-                            758 ;Allocation info for local variables in function 'fx2_reset_data_toggle'
-                            759 ;------------------------------------------------------------
-                            760 ;ep                        Allocated to registers r2 
-                            761 ;------------------------------------------------------------
-                            762 ;	fx2utils.c:34: fx2_reset_data_toggle (unsigned char ep)
-                            763 ;	-----------------------------------------
-                            764 ;	 function fx2_reset_data_toggle
-                            765 ;	-----------------------------------------
-   0008                     766 _fx2_reset_data_toggle:
-   0008 AA 82               767 	mov	r2,dpl
-                            768 ;	fx2utils.c:36: TOGCTL = ((ep & 0x80) >> 3 | (ep & 0x0f));
-   000A 74 80               769 	mov	a,#0x80
-   000C 5A                  770 	anl	a,r2
-   000D C4                  771 	swap	a
-   000E 23                  772 	rl	a
-   000F 54 1F               773 	anl	a,#0x1f
-   0011 FB                  774 	mov	r3,a
-   0012 74 0F               775 	mov	a,#0x0F
-   0014 5A                  776 	anl	a,r2
-   0015 90 E6 83            777 	mov	dptr,#_TOGCTL
-   0018 4B                  778 	orl	a,r3
-   0019 F0                  779 	movx	@dptr,a
-                            780 ;	fx2utils.c:37: TOGCTL |= bmRESETTOGGLE;
-   001A 90 E6 83            781 	mov	dptr,#_TOGCTL
-   001D E0                  782 	movx	a, at dptr
-   001E 44 20               783 	orl	a,#0x20
-   0020 F0                  784 	movx	@dptr,a
-   0021 22                  785 	ret
-                            786 ;------------------------------------------------------------
-                            787 ;Allocation info for local variables in function 'fx2_renumerate'
-                            788 ;------------------------------------------------------------
-                            789 ;------------------------------------------------------------
-                            790 ;	fx2utils.c:41: fx2_renumerate (void)
-                            791 ;	-----------------------------------------
-                            792 ;	 function fx2_renumerate
-                            793 ;	-----------------------------------------
-   0022                     794 _fx2_renumerate:
-                            795 ;	fx2utils.c:43: USBCS |= bmDISCON | bmRENUM;
-   0022 90 E6 80            796 	mov	dptr,#_USBCS
-   0025 E0                  797 	movx	a, at dptr
-   0026 44 0A               798 	orl	a,#0x0A
-   0028 F0                  799 	movx	@dptr,a
-                            800 ;	fx2utils.c:45: mdelay (250);
-   0029 90 00 FA            801 	mov	dptr,#0x00FA
-   002C 12s00r00            802 	lcall	_mdelay
-                            803 ;	fx2utils.c:47: USBIRQ = 0xff;		// clear any pending USB irqs...
-   002F 90 E6 5D            804 	mov	dptr,#_USBIRQ
-   0032 74 FF               805 	mov	a,#0xFF
-   0034 F0                  806 	movx	@dptr,a
-                            807 ;	fx2utils.c:48: EPIRQ =  0xff;		//   they're from before the renumeration
-   0035 90 E6 5F            808 	mov	dptr,#_EPIRQ
-   0038 74 FF               809 	mov	a,#0xFF
-   003A F0                  810 	movx	@dptr,a
-                            811 ;	fx2utils.c:50: EXIF &= ~bmEXIF_USBINT;
-   003B 53 91 EF            812 	anl	_EXIF,#0xEF
-                            813 ;	fx2utils.c:52: USBCS &= ~bmDISCON;		// reconnect USB
-   003E 90 E6 80            814 	mov	dptr,#_USBCS
-   0041 E0                  815 	movx	a, at dptr
-   0042 54 F7               816 	anl	a,#0xF7
-   0044 F0                  817 	movx	@dptr,a
-   0045 22                  818 	ret
-                            819 	.area CSEG    (CODE)
-                            820 	.area CONST   (CODE)
-                            821 	.area CABS    (ABS,CODE)
diff --git a/firmware/GN3S_v2/lib/fx2utils.rel b/firmware/GN3S_v2/lib/fx2utils.rel
deleted file mode 100644
index 00faaba..0000000
--- a/firmware/GN3S_v2/lib/fx2utils.rel
+++ /dev/null
@@ -1,373 +0,0 @@
-XH
-H 17 areas 146 global symbols
-M fx2utils
-O -mmcs51 --model-small
-S _EP8FIFOCFG DefE61B
-S _EPIRQ DefE65F
-S _USBERRIE DefE662
-S _EP6CS DefE6A5
-S _GPIFHOLDAMOUNT DefE60C
-S _SBUF1 Def00C1
-S _EIEX6 Def00EC
-S _EP1INBC DefE68F
-S _EP8FIFOBCL DefE6B2
-S _DBUG DefE6F8
-S _B Def00F0
-S _EXEN2 Def00CB
-S _EPIE DefE65E
-S _WAKEUPCS DefE682
-S _EP1OUTBC DefE68D
-S _EP8CS DefE6A6
-S _EP2GPIFTRIG DefE6D4
-S _SP Def0081
-S _SCON0 Def0098
-S _AUTODAT1 Def009C
-S _EI2C Def00E9
-S _INT2IVEC DefE666
-S _AUTODAT2 Def009F
-S _SCON1 Def00C0
-S _SMOD1 Def00DF
-S _MICROFRAME DefE686
-S _SUDPTRCTL DefE6B5
-S _EP4GPIFTRIG DefE6DC
-S _EP2468STAT Def00AA
-S _OV Def00D2
-S _INT4IVEC DefE667
-S _GPIFSGLDATLNOX Def00BF
-S _T2CON Def00C8
-S _EP6GPIFTRIG DefE6E4
-S _ACC Def00E0
-S _EP2FIFOBUF DefF000
-S _C_T2 Def00C9
-S _BREAKPT DefE605
-S _EP2FIFOPFH DefE630
-S _EP8GPIFTRIG DefE6EC
-S _AUTOPTRH2 Def009D
-S _SETUPDAT DefE6B8
-S _EP2GPIFFLGSEL DefE6D2
-S _EP4FIFOBUF DefF400
-S _EIPX4 Def00FA
-S _EP4FIFOPFH DefE632
-S _EP2ISOINPKTS DefE640
-S _GPIFREADYCFG DefE6F3
-S _EIPX5 Def00FB
-S _EP4GPIFFLGSEL DefE6DA
-S _FLOWSTBHPERIOD DefE6CD
-S _EP6FIFOBUF DefF800
-S _EXIF Def0091
-S _RCLK Def00CD
-S _EIPX6 Def00FC
-S _EP2FIFOPFL DefE631
-S _EP6FIFOPFH DefE634
-S _EP4ISOINPKTS DefE641
-S _DPH1 Def0085
-S _AUTOPTRL2 Def009E
-S _EP6GPIFFLGSEL DefE6E2
-S _EP8FIFOBUF DefFC00
-S _TCLK Def00CC
-S _PI2C Def00F9
-S _EP4FIFOPFL DefE633
-S _EP8FIFOPFH DefE636
-S _EP6ISOINPKTS DefE642
-S _FNADDR DefE687
-S _EP8GPIFFLGSEL DefE6EA
-S _TESTCFG DefE6F9
-S _PCON Def0087
-S _P Def00D0
-S _GPIF_WAVE_DATA DefE400
-S _EP6FIFOPFL DefE635
-S _EP8ISOINPKTS DefE643
-S _I2CS DefE678
-S _DPL1 Def0084
-S _GPIFIRQ DefE661
-S _EP0BCH DefE68A
-S _EP01STAT Def00BA
-S _EP8FIFOPFL DefE637
-S _EP1INCS DefE6A2
-S _EIE Def00E8
-S _RESI Def00DC
-S _GPIFIE DefE660
-S _EP2BCH DefE690
-S _EP1OUTCS DefE6A1
-S _TCON Def0088
-S _TMOD Def0089
-S _OEA Def00B2
-S _EXF2 Def00CE
-S _EP0BCL DefE68B
-S _EP4BCH DefE694
-S _OEB Def00B3
-S _REN1 Def00C4
-S _EP2CFG DefE612
-S _EP2FIFOIRQ DefE651
-S _GPIFREADYSTAT DefE6F4
-S _OEC Def00B4
-S _EP2BCL DefE691
-S _EP6BCH DefE698
-S _OED Def00B5
-S _EP4CFG DefE613
-S _EP2FIFOIE DefE650
-S _EP4FIFOIRQ DefE653
-S _IOA Def0080
-S _OEE Def00B6
-S _EP4BCL DefE695
-S _EP8BCH DefE69C
-S _IOB Def0090
-S _PUSB Def00F8
-S _EP6CFG DefE614
-S _EP4FIFOIE DefE652
-S _EP6FIFOIRQ DefE655
-S _IOC Def00A0
-S _mdelay Ref0000
-S _INTSETUP DefE668
-S _EP6BCL DefE699
-S _DPH Def0083
-S _IOD Def00B0
-S _EP8CFG DefE615
-S _EP6FIFOIE DefE654
-S _EP8FIFOIRQ DefE657
-S _USBFRAMEH DefE684
-S _IOE Def00B1
-S _RB81 Def00C2
-S _EP2AUTOINLENH DefE620
-S _EP8BCL DefE69D
-S _GPIFABORT DefE6F5
-S _INT2CLR Def00A1
-S _EIP Def00F8
-S _IE0 Def0089
-S _EP8FIFOIE DefE656
-S _IE1 Def008B
-S _TB81 Def00C3
-S _EP4AUTOINLENH DefE622
-S _DPL Def0082
-S _INT4CLR Def00A2
-S _AUTOPTRSETUP Def00AF
-S _RCAP2H Def00CB
-S _USBFRAMEL DefE685
-S _XGPIFSGLDATLX DefE6F1
-S _FLOWEQ0CTL DefE6C8
-S _FLOWSTB DefE6CB
-S _SM01 Def00C7
-S _INT6 Def00DB
-S _EP2AUTOINLENL DefE621
-S _EP6AUTOINLENH DefE624
-S _SUSPEND DefE681
-S _FLOWEQ1CTL DefE6C9
-S _EP0BUF DefE740
-S _SM11 Def00C6
-S _CP_RL2 Def00C8
-S _GPIFWFSELECT DefE6C0
-S _SM21 Def00C5
-S _EP4AUTOINLENL DefE623
-S _EP8AUTOINLENH DefE626
-S _RCAP2L Def00CA
-S _SEL Def0086
-S _AC Def00D6
-S _IFCONFIG DefE601
-S _IBNIRQ DefE659
-S _GPIFADRH DefE6C4
-S _XGPIFSGLDATH DefE6F0
-S _REN Def009C
-S _EP6AUTOINLENL DefE625
-S _NAKIRQ DefE65B
-S _FLOWLOGIC DefE6C7
-S _EA Def00AF
-S _FIFORESET DefE604
-S _IBNIE DefE658
-S _GPIFIDLECTL DefE6C2
-S _UDMACRCH DefE67D
-S _DPS Def0086
-S _EP8AUTOINLENL DefE627
-S _NAKIE DefE65A
-S _CT1 DefE6FB
-S _ES0 Def00AC
-S _FIFOPINPOLAR DefE609
-S _GPIFADRL DefE6C5
-S _EP2GPIFPFSTOP DefE6D3
-S _CT2 DefE6FC
-S _GPIFSGLDATLX Def00BE
-S _ET0 Def00A9
-S _ES1 Def00AE
-S _SUDPTRH DefE6B3
-S _USBTEST DefE6FA
-S _CT3 DefE6FD
-S _MPAGE Def0092
-S _TF0 Def008D
-S _ET1 Def00AB
-S _EP4GPIFPFSTOP DefE6DB
-S _UDMACRCL DefE67E
-S _CT4 DefE6FE
-S _EP24FIFOFLGS Def00AB
-S _TF1 Def008F
-S _ET2 Def00AD
-S _RES_WAVEDATA_END DefE480
-S _TH0 Def008C
-S _RB8 Def009A
-S _RI1 Def00C0
-S _TF2 Def00CF
-S _EP1INCFG DefE611
-S _TOGCTL DefE683
-S _EP6GPIFPFSTOP DefE6E3
-S _TH1 Def008D
-S _GPIFSGLDATH Def00BD
-S _IT0 Def0088
-S _EX0 Def00A8
-S _EP1OUTCFG DefE610
-S _SUDPTRL DefE6B4
-S _CKCON Def008E
-S _IE Def00A8
-S _TH2 Def00CD
-S _EICON Def00D8
-S _IT1 Def008A
-S _TB8 Def009B
-S _EX1 Def00AA
-S _TI1 Def00C1
-S _CLRERRCNT DefE665
-S _GPIFTCB0 DefE6D1
-S _EP8GPIFPFSTOP DefE6EB
-S _REVCTL DefE60B
-S _ERRCNTLIM DefE664
-S _GPIFTCB1 DefE6D0
-S _TL0 Def008A
-S _APTR1H Def009A
-S _SM0 Def009F
-S _UART230 DefE608
-S _GPIFTCB2 DefE6CF
-S _TL1 Def008B
-S _A0 Def0080
-S _SM1 Def009E
-S _GPIFTCB3 DefE6CE
-S _UDMACRCQUAL DefE67F
-S _TL2 Def00CC
-S _A1 Def0081
-S _SM2 Def009D
-S _FL Def00D1
-S _EP68FIFOFLGS Def00AC
-S _A2 Def0082
-S _PS0 Def00BC
-S _I2DAT DefE679
-S _APTR1L Def009B
-S _A3 Def0083
-S _D0 Def00B0
-S _PT0 Def00B9
-S _PS1 Def00BE
-S _BPADDRH DefE606
-S _A4 Def0084
-S _D1 Def00B1
-S _PT1 Def00BB
-S _RS0 Def00D3
-S _USBIRQ DefE65D
-S _PORTACFG DefE670
-S _FLOWSTBEDGE DefE6CC
-S _A5 Def0085
-S _TR0 Def008C
-S _D2 Def00B2
-S _PT2 Def00BD
-S _RS1 Def00D4
-S _F0 Def00D5
-S _PINFLAGSAB DefE602
-S _EP2FIFOFLGS DefE6A7
-S _A6 Def0086
-S _TR1 Def008E
-S _D3 Def00B3
-S _USBIE DefE65C
-S _PORTCCFG DefE671
-S _EP2FIFOBCH DefE6AB
-S _A7 Def0087
-S _D4 Def00B4
-S _PX0 Def00B8
-S _TR2 Def00CA
-S _ERESI Def00DD
-S _EIUSB Def00E8
-S _BPADDRL DefE607
-S _EP4FIFOFLGS DefE6A8
-S _GPIFCTLCFG DefE6C3
-S _FLOWSTATE DefE6C6
-S _IP Def00B8
-S _D5 Def00B5
-S _PX1 Def00BA
-S _REVID DefE60A
-S _PORTECFG DefE672
-S _EP4FIFOBCH DefE6AD
-S _GPIFIDLECS DefE6C1
-S _FLOWHOLDOFF DefE6CA
-S _EP1INBUF DefE7C0
-S _PSW Def00D0
-S _D6 Def00B6
-S _PINFLAGSCD DefE603
-S _EP2FIFOCFG DefE618
-S _XAUTODAT1 DefE67B
-S _EP0CS DefE6A0
-S _EP6FIFOFLGS DefE6A9
-S _EP1OUTBUF DefE780
-S _RI Def0098
-S _D7 Def00B7
-S _XAUTODAT2 DefE67C
-S _EP2FIFOBCL DefE6AC
-S _EP6FIFOBCH DefE6AF
-S _GPIFTRIG Def00BB
-S _CY Def00D7
-S _EP4FIFOCFG DefE619
-S _INPKTEND DefE648
-S _EP2CS DefE6A3
-S _EP8FIFOFLGS DefE6AA
-S _TI Def0099
-S _CPUCS DefE600
-S _OUTPKTEND DefE649
-S _I2CTL DefE67A
-S _EP4FIFOBCL DefE6AE
-S _EP8FIFOBCH DefE6B1
-S _XGPIFSGLDATLNOX DefE6F2
-S _EP6FIFOCFG DefE61A
-S _USBERRIRQ DefE663
-S _EP4CS DefE6A4
-S _EIEX4 Def00EA
-S _USBCS DefE680
-S _EP6FIFOBCL DefE6B0
-S _SBUF0 Def0099
-S _EIEX5 Def00EB
-A _CODE size 0 flags 0 addr 0
-A RSEG size 0 flags 0 addr 0
-A REG_BANK_0 size 8 flags 4 addr 0
-A DSEG size 0 flags 0 addr 0
-A OSEG size 0 flags 4 addr 0
-A ISEG size 0 flags 0 addr 0
-A IABS size 0 flags 8 addr 0
-A BSEG size 0 flags 80 addr 0
-A PSEG size 0 flags 50 addr 0
-A XSEG size 0 flags 40 addr 0
-A XABS size 0 flags 48 addr 0
-A HOME size 0 flags 20 addr 0
-A GSINIT0 size 0 flags 20 addr 0
-A GSINIT1 size 0 flags 20 addr 0
-A GSINIT2 size 0 flags 20 addr 0
-A GSINIT3 size 0 flags 20 addr 0
-A GSINIT4 size 0 flags 20 addr 0
-A GSINIT5 size 0 flags 20 addr 0
-A GSINIT size 0 flags 20 addr 0
-A GSFINAL size 0 flags 20 addr 0
-A CSEG size 46 flags 20 addr 0
-S _fx2_renumerate Def0022
-S _fx2_reset_data_toggle Def0008
-S _fx2_stall_ep0 Def0000
-A CONST size 0 flags 20 addr 0
-A CABS size 0 flags 28 addr 0
-T 00 00
-R 00 00 00 02
-T 00 00
-R 00 00 00 14
-T 00 00 90 E6 A0 E0 44 01 F0 22
-R 00 00 00 14
-T 00 08
-R 00 00 00 14
-T 00 08 AA 82 74 80 5A C4 23 54 1F FB 74 0F 5A 90
-R 00 00 00 14
-T 00 16 E6 83 4B F0 90 E6 83 E0 44 20 F0 22
-R 00 00 00 14
-T 00 22
-R 00 00 00 14
-T 00 22 90 E6 80 E0 44 0A F0 90 00 FA 12 00 00 90
-R 00 00 00 14 02 0D 00 73
-T 00 30 E6 5D 74 FF F0 90 E6 5F 74 FF F0 53 91 EF
-R 00 00 00 14
-T 00 3E 90 E6 80 E0 54 F7 F0 22
-R 00 00 00 14
diff --git a/firmware/GN3S_v2/lib/fx2utils.sym b/firmware/GN3S_v2/lib/fx2utils.sym
deleted file mode 100644
index d471ced..0000000
--- a/firmware/GN3S_v2/lib/fx2utils.sym
+++ /dev/null
@@ -1,702 +0,0 @@
-
ASxxxx Assembler V01.70 + NoICE + SDCC mods + Flat24 Feb-1999  (Intel 8051), page 1.
-
-Symbol Table
-
-    A                                                              00D6 
-    AC                                                             00D6 
-    ACC                                                            00E0 
-    ACC.0                                                          00E0 
-    ACC.1                                                          00E1 
-    ACC.2                                                          00E2 
-    ACC.3                                                          00E3 
-    ACC.4                                                          00E4 
-    ACC.5                                                          00E5 
-    ACC.6                                                          00E6 
-    ACC.7                                                          00E7 
-    B                                                              00F0 
-    B.0                                                            00F0 
-    B.1                                                            00F1 
-    B.2                                                            00F2 
-    B.3                                                            00F3 
-    B.4                                                            00F4 
-    B.5                                                            00F5 
-    B.6                                                            00F6 
-    B.7                                                            00F7 
-    CPRL2                                                          00C8 
-    CT2                                                            00C9 
-    CY                                                             00D7 
-    DPH                                                            0083 
-    DPL                                                            0082 
-    EA                                                             00AF 
-    ES                                                             00AC 
-    ET0                                                            00A9 
-    ET1                                                            00AB 
-    ET2                                                            00AD 
-    EX0                                                            00A8 
-    EX1                                                            00AA 
-    EXEN2                                                          00CB 
-    EXF2                                                           00CE 
-    F0                                                             00D5 
-    IE                                                             00A8 
-    IE.0                                                           00A8 
-    IE.1                                                           00A9 
-    IE.2                                                           00AA 
-    IE.3                                                           00AB 
-    IE.4                                                           00AC 
-    IE.5                                                           00AD 
-    IE.7                                                           00AF 
-    IE0                                                            0089 
-    IE1                                                            008B 
-    INT0                                                           00B2 
-    INT1                                                           00B3 
-    IP                                                             00B8 
-    IP.0                                                           00B8 
-    IP.1                                                           00B9 
-    IP.2                                                           00BA 
-    IP.3                                                           00BB 
-    IP.4                                                           00BC 
-    IP.5                                                           00BD 
-    IT0                                                            0088 
-    IT1                                                            008A 
-    OV                                                             00D2 
-    P                                                              00D0 
-    P0                                                             0080 
-    P0.0                                                           0080 
-    P0.1                                                           0081 
-    P0.2                                                           0082 
-    P0.3                                                           0083 
-    P0.4                                                           0084 
-    P0.5                                                           0085 
-    P0.6                                                           0086 
-    P0.7                                                           0087 
-    P1                                                             0090 
-    P1.0                                                           0090 
-    P1.1                                                           0091 
-    P1.2                                                           0092 
-    P1.3                                                           0093 
-    P1.4                                                           0094 
-    P1.5                                                           0095 
-    P1.6                                                           0096 
-    P1.7                                                           0097 
-    P2                                                             00A0 
-    P2.0                                                           00A0 
-    P2.1                                                           00A1 
-    P2.2                                                           00A2 
-    P2.3                                                           00A3 
-    P2.4                                                           00A4 
-    P2.5                                                           00A5 
-    P2.6                                                           00A6 
-    P2.7                                                           00A7 
-    P3                                                             00B0 
-    P3.0                                                           00B0 
-    P3.1                                                           00B1 
-    P3.2                                                           00B2 
-    P3.3                                                           00B3 
-    P3.4                                                           00B4 
-    P3.5                                                           00B5 
-    P3.6                                                           00B6 
-    P3.7                                                           00B7 
-    PCON                                                           0087 
-    PS                                                             00BC 
-    PSW                                                            00D0 
-    PSW.0                                                          00D0 
-    PSW.1                                                          00D1 
-    PSW.2                                                          00D2 
-    PSW.3                                                          00D3 
-    PSW.4                                                          00D4 
-    PSW.5                                                          00D5 
-    PSW.6                                                          00D6 
-    PSW.7                                                          00D7 
-    PT0                                                            00B9 
-    PT1                                                            00BB 
-    PT2                                                            00BD 
-    PX0                                                            00B8 
-    PX1                                                            00BA 
-    RB8                                                            009A 
-    RCAP2H                                                         00CB 
-    RCAP2L                                                         00CA 
-    RCLK                                                           00CD 
-    REN                                                            009C 
-    RI                                                             0098 
-    RS0                                                            00D3 
-    RS1                                                            00D4 
-    RXD                                                            00B0 
-    SBUF                                                           0099 
-    SCON                                                           0098 
-    SCON.0                                                         0098 
-    SCON.1                                                         0099 
-    SCON.2                                                         009A 
-    SCON.3                                                         009B 
-    SCON.4                                                         009C 
-    SCON.5                                                         009D 
-    SCON.6                                                         009E 
-    SCON.7                                                         009F 
-    SM0                                                            009F 
-    SM1                                                            009E 
-    SM2                                                            009D 
-    SP                                                             0081 
-    T2CON                                                          00C8 
-    T2CON.0                                                        00C8 
-    T2CON.1                                                        00C9 
-    T2CON.2                                                        00CA 
-    T2CON.3                                                        00CB 
-    T2CON.4                                                        00CC 
-    T2CON.5                                                        00CD 
-    T2CON.6                                                        00CE 
-    T2CON.7                                                        00CF 
-    TB8                                                            009B 
-    TCLK                                                           00CC 
-    TCON                                                           0088 
-    TCON.0                                                         0088 
-    TCON.1                                                         0089 
-    TCON.2                                                         008A 
-    TCON.3                                                         008B 
-    TCON.4                                                         008C 
-    TCON.5                                                         008D 
-    TCON.6                                                         008E 
-    TCON.7                                                         008F 
-    TF0                                                            008D 
-    TF1                                                            008F 
-    TF2                                                            00CF 
-    TH0                                                            008C 
-    TH1                                                            008D 
-    TH2                                                            00CD 
-    TI                                                             0099 
-    TL0                                                            008A 
-    TL1                                                            008B 
-    TL2                                                            00CC 
-    TMOD                                                           0089 
-    TR0                                                            008C 
-    TR1                                                            008E 
-    TR2                                                            00CA 
-    TXD                                                            00B1 
-    _A0                                                         =  0080 G
-    _A1                                                         =  0081 G
-    _A2                                                         =  0082 G
-    _A3                                                         =  0083 G
-    _A4                                                         =  0084 G
-    _A5                                                         =  0085 G
-    _A6                                                         =  0086 G
-    _A7                                                         =  0087 G
-    _AC                                                         =  00D6 G
-    _ACC                                                        =  00E0 G
-    _APTR1H                                                     =  009A G
-    _APTR1L                                                     =  009B G
-    _AUTODAT1                                                   =  009C G
-    _AUTODAT2                                                   =  009F G
-    _AUTOPTRH2                                                  =  009D G
-    _AUTOPTRL2                                                  =  009E G
-    _AUTOPTRSETUP                                               =  00AF G
-    _B                                                          =  00F0 G
-    _BPADDRH                                                    =  E606 G
-    _BPADDRL                                                    =  E607 G
-    _BREAKPT                                                    =  E605 G
-    _CKCON                                                      =  008E G
-    _CLRERRCNT                                                  =  E665 G
-    _CPUCS                                                      =  E600 G
-    _CP_RL2                                                     =  00C8 G
-    _CT1                                                        =  E6FB G
-    _CT2                                                        =  E6FC G
-    _CT3                                                        =  E6FD G
-    _CT4                                                        =  E6FE G
-    _CY                                                         =  00D7 G
-    _C_T2                                                       =  00C9 G
-    _D0                                                         =  00B0 G
-    _D1                                                         =  00B1 G
-    _D2                                                         =  00B2 G
-    _D3                                                         =  00B3 G
-    _D4                                                         =  00B4 G
-    _D5                                                         =  00B5 G
-    _D6                                                         =  00B6 G
-    _D7                                                         =  00B7 G
-    _DBUG                                                       =  E6F8 G
-    _DPH                                                        =  0083 G
-    _DPH1                                                       =  0085 G
-    _DPL                                                        =  0082 G
-    _DPL1                                                       =  0084 G
-    _DPS                                                        =  0086 G
-    _EA                                                         =  00AF G
-    _EI2C                                                       =  00E9 G
-    _EICON                                                      =  00D8 G
-    _EIE                                                        =  00E8 G
-    _EIEX4                                                      =  00EA G
-    _EIEX5                                                      =  00EB G
-    _EIEX6                                                      =  00EC G
-    _EIP                                                        =  00F8 G
-    _EIPX4                                                      =  00FA G
-    _EIPX5                                                      =  00FB G
-    _EIPX6                                                      =  00FC G
-    _EIUSB                                                      =  00E8 G
-    _EP01STAT                                                   =  00BA G
-    _EP0BCH                                                     =  E68A G
-    _EP0BCL                                                     =  E68B G
-    _EP0BUF                                                     =  E740 G
-    _EP0CS                                                      =  E6A0 G
-    _EP1INBC                                                    =  E68F G
-    _EP1INBUF                                                   =  E7C0 G
-    _EP1INCFG                                                   =  E611 G
-    _EP1INCS                                                    =  E6A2 G
-    _EP1OUTBC                                                   =  E68D G
-    _EP1OUTBUF                                                  =  E780 G
-    _EP1OUTCFG                                                  =  E610 G
-    _EP1OUTCS                                                   =  E6A1 G
-    _EP2468STAT                                                 =  00AA G
-    _EP24FIFOFLGS                                               =  00AB G
-    _EP2AUTOINLENH                                              =  E620 G
-    _EP2AUTOINLENL                                              =  E621 G
-    _EP2BCH                                                     =  E690 G
-    _EP2BCL                                                     =  E691 G
-    _EP2CFG                                                     =  E612 G
-    _EP2CS                                                      =  E6A3 G
-    _EP2FIFOBCH                                                 =  E6AB G
-    _EP2FIFOBCL                                                 =  E6AC G
-    _EP2FIFOBUF                                                 =  F000 G
-    _EP2FIFOCFG                                                 =  E618 G
-    _EP2FIFOFLGS                                                =  E6A7 G
-    _EP2FIFOIE                                                  =  E650 G
-    _EP2FIFOIRQ                                                 =  E651 G
-    _EP2FIFOPFH                                                 =  E630 G
-    _EP2FIFOPFL                                                 =  E631 G
-    _EP2GPIFFLGSEL                                              =  E6D2 G
-    _EP2GPIFPFSTOP                                              =  E6D3 G
-    _EP2GPIFTRIG                                                =  E6D4 G
-    _EP2ISOINPKTS                                               =  E640 G
-    _EP4AUTOINLENH                                              =  E622 G
-    _EP4AUTOINLENL                                              =  E623 G
-    _EP4BCH                                                     =  E694 G
-    _EP4BCL                                                     =  E695 G
-    _EP4CFG                                                     =  E613 G
-    _EP4CS                                                      =  E6A4 G
-    _EP4FIFOBCH                                                 =  E6AD G
-    _EP4FIFOBCL                                                 =  E6AE G
-    _EP4FIFOBUF                                                 =  F400 G
-    _EP4FIFOCFG                                                 =  E619 G
-    _EP4FIFOFLGS                                                =  E6A8 G
-    _EP4FIFOIE                                                  =  E652 G
-    _EP4FIFOIRQ                                                 =  E653 G
-    _EP4FIFOPFH                                                 =  E632 G
-    _EP4FIFOPFL                                                 =  E633 G
-    _EP4GPIFFLGSEL                                              =  E6DA G
-    _EP4GPIFPFSTOP                                              =  E6DB G
-    _EP4GPIFTRIG                                                =  E6DC G
-    _EP4ISOINPKTS                                               =  E641 G
-    _EP68FIFOFLGS                                               =  00AC G
-    _EP6AUTOINLENH                                              =  E624 G
-    _EP6AUTOINLENL                                              =  E625 G
-    _EP6BCH                                                     =  E698 G
-    _EP6BCL                                                     =  E699 G
-    _EP6CFG                                                     =  E614 G
-    _EP6CS                                                      =  E6A5 G
-    _EP6FIFOBCH                                                 =  E6AF G
-    _EP6FIFOBCL                                                 =  E6B0 G
-    _EP6FIFOBUF                                                 =  F800 G
-    _EP6FIFOCFG                                                 =  E61A G
-    _EP6FIFOFLGS                                                =  E6A9 G
-    _EP6FIFOIE                                                  =  E654 G
-    _EP6FIFOIRQ                                                 =  E655 G
-    _EP6FIFOPFH                                                 =  E634 G
-    _EP6FIFOPFL                                                 =  E635 G
-    _EP6GPIFFLGSEL                                              =  E6E2 G
-    _EP6GPIFPFSTOP                                              =  E6E3 G
-    _EP6GPIFTRIG                                                =  E6E4 G
-    _EP6ISOINPKTS                                               =  E642 G
-    _EP8AUTOINLENH                                              =  E626 G
-    _EP8AUTOINLENL                                              =  E627 G
-    _EP8BCH                                                     =  E69C G
-    _EP8BCL                                                     =  E69D G
-    _EP8CFG                                                     =  E615 G
-    _EP8CS                                                      =  E6A6 G
-    _EP8FIFOBCH                                                 =  E6B1 G
-    _EP8FIFOBCL                                                 =  E6B2 G
-    _EP8FIFOBUF                                                 =  FC00 G
-    _EP8FIFOCFG                                                 =  E61B G
-    _EP8FIFOFLGS                                                =  E6AA G
-    _EP8FIFOIE                                                  =  E656 G
-    _EP8FIFOIRQ                                                 =  E657 G
-    _EP8FIFOPFH                                                 =  E636 G
-    _EP8FIFOPFL                                                 =  E637 G
-    _EP8GPIFFLGSEL                                              =  E6EA G
-    _EP8GPIFPFSTOP                                              =  E6EB G
-    _EP8GPIFTRIG                                                =  E6EC G
-    _EP8ISOINPKTS                                               =  E643 G
-    _EPIE                                                       =  E65E G
-    _EPIRQ                                                      =  E65F G
-    _ERESI                                                      =  00DD G
-    _ERRCNTLIM                                                  =  E664 G
-    _ES0                                                        =  00AC G
-    _ES1                                                        =  00AE G
-    _ET0                                                        =  00A9 G
-    _ET1                                                        =  00AB G
-    _ET2                                                        =  00AD G
-    _EX0                                                        =  00A8 G
-    _EX1                                                        =  00AA G
-    _EXEN2                                                      =  00CB G
-    _EXF2                                                       =  00CE G
-    _EXIF                                                       =  0091 G
-    _F0                                                         =  00D5 G
-    _FIFOPINPOLAR                                               =  E609 G
-    _FIFORESET                                                  =  E604 G
-    _FL                                                         =  00D1 G
-    _FLOWEQ0CTL                                                 =  E6C8 G
-    _FLOWEQ1CTL                                                 =  E6C9 G
-    _FLOWHOLDOFF                                                =  E6CA G
-    _FLOWLOGIC                                                  =  E6C7 G
-    _FLOWSTATE                                                  =  E6C6 G
-    _FLOWSTB                                                    =  E6CB G
-    _FLOWSTBEDGE                                                =  E6CC G
-    _FLOWSTBHPERIOD                                             =  E6CD G
-    _FNADDR                                                     =  E687 G
-    _GPIFABORT                                                  =  E6F5 G
-    _GPIFADRH                                                   =  E6C4 G
-    _GPIFADRL                                                   =  E6C5 G
-    _GPIFCTLCFG                                                 =  E6C3 G
-    _GPIFHOLDAMOUNT                                             =  E60C G
-    _GPIFIDLECS                                                 =  E6C1 G
-    _GPIFIDLECTL                                                =  E6C2 G
-    _GPIFIE                                                     =  E660 G
-    _GPIFIRQ                                                    =  E661 G
-    _GPIFREADYCFG                                               =  E6F3 G
-    _GPIFREADYSTAT                                              =  E6F4 G
-    _GPIFSGLDATH                                                =  00BD G
-    _GPIFSGLDATLNOX                                             =  00BF G
-    _GPIFSGLDATLX                                               =  00BE G
-    _GPIFTCB0                                                   =  E6D1 G
-    _GPIFTCB1                                                   =  E6D0 G
-    _GPIFTCB2                                                   =  E6CF G
-    _GPIFTCB3                                                   =  E6CE G
-    _GPIFTRIG                                                   =  00BB G
-    _GPIFWFSELECT                                               =  E6C0 G
-    _GPIF_WAVE_DATA                                             =  E400 G
-    _I2CS                                                       =  E678 G
-    _I2CTL                                                      =  E67A G
-    _I2DAT                                                      =  E679 G
-    _IBNIE                                                      =  E658 G
-    _IBNIRQ                                                     =  E659 G
-    _IE                                                         =  00A8 G
-    _IE0                                                        =  0089 G
-    _IE1                                                        =  008B G
-    _IFCONFIG                                                   =  E601 G
-    _INPKTEND                                                   =  E648 G
-    _INT2CLR                                                    =  00A1 G
-    _INT2IVEC                                                   =  E666 G
-    _INT4CLR                                                    =  00A2 G
-    _INT4IVEC                                                   =  E667 G
-    _INT6                                                       =  00DB G
-    _INTSETUP                                                   =  E668 G
-    _IOA                                                        =  0080 G
-    _IOB                                                        =  0090 G
-    _IOC                                                        =  00A0 G
-    _IOD                                                        =  00B0 G
-    _IOE                                                        =  00B1 G
-    _IP                                                         =  00B8 G
-    _IT0                                                        =  0088 G
-    _IT1                                                        =  008A G
-    _MICROFRAME                                                 =  E686 G
-    _MPAGE                                                      =  0092 G
-    _NAKIE                                                      =  E65A G
-    _NAKIRQ                                                     =  E65B G
-    _OEA                                                        =  00B2 G
-    _OEB                                                        =  00B3 G
-    _OEC                                                        =  00B4 G
-    _OED                                                        =  00B5 G
-    _OEE                                                        =  00B6 G
-    _OUTPKTEND                                                  =  E649 G
-    _OV                                                         =  00D2 G
-    _P                                                          =  00D0 G
-    _PCON                                                       =  0087 G
-    _PI2C                                                       =  00F9 G
-    _PINFLAGSAB                                                 =  E602 G
-    _PINFLAGSCD                                                 =  E603 G
-    _PORTACFG                                                   =  E670 G
-    _PORTCCFG                                                   =  E671 G
-    _PORTECFG                                                   =  E672 G
-    _PS0                                                        =  00BC G
-    _PS1                                                        =  00BE G
-    _PSW                                                        =  00D0 G
-    _PT0                                                        =  00B9 G
-    _PT1                                                        =  00BB G
-    _PT2                                                        =  00BD G
-    _PUSB                                                       =  00F8 G
-    _PX0                                                        =  00B8 G
-    _PX1                                                        =  00BA G
-    _RB8                                                        =  009A G
-    _RB81                                                       =  00C2 G
-    _RCAP2H                                                     =  00CB G
-    _RCAP2L                                                     =  00CA G
-    _RCLK                                                       =  00CD G
-    _REN                                                        =  009C G
-    _REN1                                                       =  00C4 G
-    _RESI                                                       =  00DC G
-    _RES_WAVEDATA_END                                           =  E480 G
-    _REVCTL                                                     =  E60B G
-    _REVID                                                      =  E60A G
-    _RI                                                         =  0098 G
-    _RI1                                                        =  00C0 G
-    _RS0                                                        =  00D3 G
-    _RS1                                                        =  00D4 G
-    _SBUF0                                                      =  0099 G
-    _SBUF1                                                      =  00C1 G
-    _SCON0                                                      =  0098 G
-    _SCON1                                                      =  00C0 G
-    _SEL                                                        =  0086 G
-    _SETUPDAT                                                   =  E6B8 G
-    _SM0                                                        =  009F G
-    _SM01                                                       =  00C7 G
-    _SM1                                                        =  009E G
-    _SM11                                                       =  00C6 G
-    _SM2                                                        =  009D G
-    _SM21                                                       =  00C5 G
-    _SMOD1                                                      =  00DF G
-    _SP                                                         =  0081 G
-    _SUDPTRCTL                                                  =  E6B5 G
-    _SUDPTRH                                                    =  E6B3 G
-    _SUDPTRL                                                    =  E6B4 G
-    _SUSPEND                                                    =  E681 G
-    _T2CON                                                      =  00C8 G
-    _TB8                                                        =  009B G
-    _TB81                                                       =  00C3 G
-    _TCLK                                                       =  00CC G
-    _TCON                                                       =  0088 G
-    _TESTCFG                                                    =  E6F9 G
-    _TF0                                                        =  008D G
-    _TF1                                                        =  008F G
-    _TF2                                                        =  00CF G
-    _TH0                                                        =  008C G
-    _TH1                                                        =  008D G
-    _TH2                                                        =  00CD G
-    _TI                                                         =  0099 G
-    _TI1                                                        =  00C1 G
-    _TL0                                                        =  008A G
-    _TL1                                                        =  008B G
-    _TL2                                                        =  00CC G
-    _TMOD                                                       =  0089 G
-    _TOGCTL                                                     =  E683 G
-    _TR0                                                        =  008C G
-    _TR1                                                        =  008E G
-    _TR2                                                        =  00CA G
-    _UART230                                                    =  E608 G
-    _UDMACRCH                                                   =  E67D G
-    _UDMACRCL                                                   =  E67E G
-    _UDMACRCQUAL                                                =  E67F G
-    _USBCS                                                      =  E680 G
-    _USBERRIE                                                   =  E662 G
-    _USBERRIRQ                                                  =  E663 G
-    _USBFRAMEH                                                  =  E684 G
-    _USBFRAMEL                                                  =  E685 G
-    _USBIE                                                      =  E65C G
-    _USBIRQ                                                     =  E65D G
-    _USBTEST                                                    =  E6FA G
-    _WAKEUPCS                                                   =  E682 G
-    _XAUTODAT1                                                  =  E67B G
-    _XAUTODAT2                                                  =  E67C G
-    _XGPIFSGLDATH                                               =  E6F0 G
-    _XGPIFSGLDATLNOX                                            =  E6F2 G
-    _XGPIFSGLDATLX                                              =  E6F1 G
- 14 _fx2_renumerate                                                0022 GR
- 14 _fx2_reset_data_toggle                                         0008 GR
- 14 _fx2_stall_ep0                                                 0000 GR
-    _mdelay                                                        **** GX
-    a                                                              00D6 
-    ac                                                             00D6 
-    acc                                                            00E0 
-    acc.0                                                          00E0 
-    acc.1                                                          00E1 
-    acc.2                                                          00E2 
-    acc.3                                                          00E3 
-    acc.4                                                          00E4 
-    acc.5                                                          00E5 
-    acc.6                                                          00E6 
-    acc.7                                                          00E7 
-    ar0                                                         =  0000 
-    ar1                                                         =  0001 
-    ar2                                                         =  0002 
-    ar3                                                         =  0003 
-    ar4                                                         =  0004 
-    ar5                                                         =  0005 
-    ar6                                                         =  0006 
-    ar7                                                         =  0007 
-    b                                                              00F0 
-    b.0                                                            00F0 
-    b.1                                                            00F1 
-    b.2                                                            00F2 
-    b.3                                                            00F3 
-    b.4                                                            00F4 
-    b.5                                                            00F5 
-    b.6                                                            00F6 
-    b.7                                                            00F7 
-    cprl2                                                          00C8 
-    ct2                                                            00C9 
-    cy                                                             00D7 
-    dph                                                            0083 
-    dpl                                                            0082 
-    ea                                                             00AF 
-    es                                                             00AC 
-    et0                                                            00A9 
-    et1                                                            00AB 
-    et2                                                            00AD 
-    ex0                                                            00A8 
-    ex1                                                            00AA 
-    exen2                                                          00CB 
-    exf2                                                           00CE 
-    f0                                                             00D5 
-    ie                                                             00A8 
-    ie.0                                                           00A8 
-    ie.1                                                           00A9 
-    ie.2                                                           00AA 
-    ie.3                                                           00AB 
-    ie.4                                                           00AC 
-    ie.5                                                           00AD 
-    ie.7                                                           00AF 
-    ie0                                                            0089 
-    ie1                                                            008B 
-    int0                                                           00B2 
-    int1                                                           00B3 
-    ip                                                             00B8 
-    ip.0                                                           00B8 
-    ip.1                                                           00B9 
-    ip.2                                                           00BA 
-    ip.3                                                           00BB 
-    ip.4                                                           00BC 
-    ip.5                                                           00BD 
-    it0                                                            0088 
-    it1                                                            008A 
-    ov                                                             00D2 
-    p                                                              00D0 
-    p0                                                             0080 
-    p0.0                                                           0080 
-    p0.1                                                           0081 
-    p0.2                                                           0082 
-    p0.3                                                           0083 
-    p0.4                                                           0084 
-    p0.5                                                           0085 
-    p0.6                                                           0086 
-    p0.7                                                           0087 
-    p1                                                             0090 
-    p1.0                                                           0090 
-    p1.1                                                           0091 
-    p1.2                                                           0092 
-    p1.3                                                           0093 
-    p1.4                                                           0094 
-    p1.5                                                           0095 
-    p1.6                                                           0096 
-    p1.7                                                           0097 
-    p2                                                             00A0 
-    p2.0                                                           00A0 
-    p2.1                                                           00A1 
-    p2.2                                                           00A2 
-    p2.3                                                           00A3 
-    p2.4                                                           00A4 
-    p2.5                                                           00A5 
-    p2.6                                                           00A6 
-    p2.7                                                           00A7 
-    p3                                                             00B0 
-    p3.0                                                           00B0 
-    p3.1                                                           00B1 
-    p3.2                                                           00B2 
-    p3.3                                                           00B3 
-    p3.4                                                           00B4 
-    p3.5                                                           00B5 
-    p3.6                                                           00B6 
-    p3.7                                                           00B7 
-    pcon                                                           0087 
-    ps                                                             00BC 
-    psw                                                            00D0 
-    psw.0                                                          00D0 
-    psw.1                                                          00D1 
-    psw.2                                                          00D2 
-    psw.3                                                          00D3 
-    psw.4                                                          00D4 
-    psw.5                                                          00D5 
-    psw.6                                                          00D6 
-    psw.7                                                          00D7 
-    pt0                                                            00B9 
-    pt1                                                            00BB 
-    pt2                                                            00BD 
-    px0                                                            00B8 
-    px1                                                            00BA 
-    rb8                                                            009A 
-    rcap2h                                                         00CB 
-    rcap2l                                                         00CA 
-    rclk                                                           00CD 
-    ren                                                            009C 
-    ri                                                             0098 
-    rs0                                                            00D3 
-    rs1                                                            00D4 
-    rxd                                                            00B0 
-    sbuf                                                           0099 
-    scon                                                           0098 
-    scon.0                                                         0098 
-    scon.1                                                         0099 
-    scon.2                                                         009A 
-    scon.3                                                         009B 
-    scon.4                                                         009C 
-    scon.5                                                         009D 
-    scon.6                                                         009E 
-    scon.7                                                         009F 
-    sm0                                                            009F 
-    sm1                                                            009E 
-    sm2                                                            009D 
-    sp                                                             0081 
-    t2con                                                          00C8 
-    t2con.0                                                        00C8 
-    t2con.1                                                        00C9 
-    t2con.2                                                        00CA 
-    t2con.3                                                        00CB 
-    t2con.4                                                        00CC 
-    t2con.5                                                        00CD 
-    t2con.6                                                        00CE 
-    t2con.7                                                        00CF 
-    tb8                                                            009B 
-    tclk                                                           00CC 
-    tcon                                                           0088 
-    tcon.0                                                         0088 
-    tcon.1                                                         0089 
-    tcon.2                                                         008A 
-    tcon.3                                                         008B 
-    tcon.4                                                         008C 
-    tcon.5                                                         008D 
-    tcon.6                                                         008E 
-    tcon.7                                                         008F 
-    tf0                                                            008D 
-    tf1                                                            008F 
-    tf2                                                            00CF 
-    th0                                                            008C 
-    th1                                                            008D 
-    th2                                                            00CD 
-    ti                                                             0099 
-    tl0                                                            008A 
-    tl1                                                            008B 
-    tl2                                                            00CC 
-    tmod                                                           0089 
-    tr0                                                            008C 
-    tr1                                                            008E 
-    tr2                                                            00CA 
-    txd                                                            00B1 
-
-
ASxxxx Assembler V01.70 + NoICE + SDCC mods + Flat24 Feb-1999  (Intel 8051), page 2.
-
-Area Table
-
-   0 _CODE                                                                              size    0   flags 0
-   1 RSEG                                                                               size    0   flags 0
-   2 REG_BANK_0                                                                         size    8   flags 4
-   3 DSEG                                                                               size    0   flags 0
-   4 OSEG                                                                               size    0   flags 4
-   5 ISEG                                                                               size    0   flags 0
-   6 IABS                                                                               size    0   flags 8
-   7 BSEG                                                                               size    0   flags 80
-   8 PSEG                                                                               size    0   flags 50
-   9 XSEG                                                                               size    0   flags 40
-   A XABS                                                                               size    0   flags 48
-   B HOME                                                                               size    0   flags 20
-   C GSINIT0                                                                            size    0   flags 20
-   D GSINIT1                                                                            size    0   flags 20
-   E GSINIT2                                                                            size    0   flags 20
-   F GSINIT3                                                                            size    0   flags 20
-  10 GSINIT4                                                                            size    0   flags 20
-  11 GSINIT5                                                                            size    0   flags 20
-  12 GSINIT                                                                             size    0   flags 20
-  13 GSFINAL                                                                            size    0   flags 20
-  14 CSEG                                                                               size   46   flags 20
-  15 CONST                                                                              size    0   flags 20
-  16 CABS                                                                               size    0   flags 28
diff --git a/firmware/GN3S_v2/lib/i2c.c b/firmware/GN3S_v2/lib/i2c.c
deleted file mode 100644
index 08a09cf..0000000
--- a/firmware/GN3S_v2/lib/i2c.c
+++ /dev/null
@@ -1,123 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2003 Free Software Foundation, Inc.
- * 
- * This file is part of GNU Radio
- * 
- * GNU Radio 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, or (at your option)
- * any later version.
- * 
- * GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
- * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "i2c.h"
-#include "fx2regs.h"
-#include <string.h>
-
-
-// issue a stop bus cycle and wait for completion
-
-
-// returns non-zero if successful, else 0
-unsigned char
-i2c_read (unsigned char addr, xdata unsigned char *buf, unsigned char len)
-{
-  volatile unsigned char	junk;
-  
-  if (len == 0)			// reading zero bytes always works
-    return 1;
-  
-  while (I2CS & bmSTOP)		// wait for stop to clear
-    ;
-
-  I2CS = bmSTART;
-  I2DAT = (addr << 1) | 1;	// write address and direction (1's the read bit)
-
-  while ((I2CS & bmDONE) == 0)
-    ;
-
-  if ((I2CS & bmBERR) || (I2CS & bmACK) == 0)	// no device answered...
-    goto fail;
-
-  if (len == 1)
-    I2CS |= bmLASTRD;		
-
-  junk = I2DAT;			// trigger the first read cycle
-
-  while (--len != 0){
-    while ((I2CS & bmDONE) == 0)
-      ;
-
-    if (I2CS & bmBERR)
-      goto fail;
-
-    if (len == 1)
-      I2CS |= bmLASTRD;
-    
-    *buf++ = I2DAT;		// get data, trigger another read
-  }
-
-  // wait for final byte
-  
-  while ((I2CS & bmDONE) == 0)
-    ;
-  
-  if (I2CS & bmBERR)
-    goto fail;
-
-  I2CS |= bmSTOP;
-  *buf = I2DAT;
-
-  return 1;
-
- fail:
-  I2CS |= bmSTOP;
-  return 0;
-}
-
-
-
-// returns non-zero if successful, else 0
-unsigned char
-i2c_write (unsigned char addr, xdata const unsigned char *buf, unsigned char len)
-{
-  while (I2CS & bmSTOP)		// wait for stop to clear
-    ;
-
-  I2CS = bmSTART;
-  I2DAT = (addr << 1) | 0;	// write address and direction (0's the write bit)
-
-  while ((I2CS & bmDONE) == 0)
-    ;
-
-  if ((I2CS & bmBERR) || (I2CS & bmACK) == 0)	// no device answered...
-    goto fail;
-
-  while (len > 0){
-    I2DAT = *buf++;
-    len--;
-
-    while ((I2CS & bmDONE) == 0)
-      ;
-
-    if ((I2CS & bmBERR) || (I2CS & bmACK) == 0)	// no device answered...
-      goto fail;
-  }
-
-  I2CS |= bmSTOP;
-  return 1;
-
- fail:
-  I2CS |= bmSTOP;
-  return 0;
-}
diff --git a/firmware/GN3S_v2/lib/isr.asm b/firmware/GN3S_v2/lib/isr.asm
deleted file mode 100644
index faa5ef0..0000000
--- a/firmware/GN3S_v2/lib/isr.asm
+++ /dev/null
@@ -1,1138 +0,0 @@
-;--------------------------------------------------------
-; File Created by SDCC : free open source ANSI-C Compiler
-; Version 2.9.0 #5416 (Feb  3 2010) (UNIX)
-; This file was generated Mon Jul 30 11:40:53 2012
-;--------------------------------------------------------
-	.module isr
-	.optsdcc -mmcs51 --model-small
-	
-;--------------------------------------------------------
-; Public variables in this module
-;--------------------------------------------------------
-	.globl _hook_fgv_PARM_2
-	.globl _hook_uv_PARM_2
-	.globl _hook_sv_PARM_2
-	.globl _EIPX6
-	.globl _EIPX5
-	.globl _EIPX4
-	.globl _PI2C
-	.globl _PUSB
-	.globl _EIEX6
-	.globl _EIEX5
-	.globl _EIEX4
-	.globl _EI2C
-	.globl _EIUSB
-	.globl _SMOD1
-	.globl _ERESI
-	.globl _RESI
-	.globl _INT6
-	.globl _CY
-	.globl _AC
-	.globl _F0
-	.globl _RS1
-	.globl _RS0
-	.globl _OV
-	.globl _FL
-	.globl _P
-	.globl _TF2
-	.globl _EXF2
-	.globl _RCLK
-	.globl _TCLK
-	.globl _EXEN2
-	.globl _TR2
-	.globl _C_T2
-	.globl _CP_RL2
-	.globl _SM01
-	.globl _SM11
-	.globl _SM21
-	.globl _REN1
-	.globl _TB81
-	.globl _RB81
-	.globl _TI1
-	.globl _RI1
-	.globl _PS1
-	.globl _PT2
-	.globl _PS0
-	.globl _PT1
-	.globl _PX1
-	.globl _PT0
-	.globl _PX0
-	.globl _D7
-	.globl _D6
-	.globl _D5
-	.globl _D4
-	.globl _D3
-	.globl _D2
-	.globl _D1
-	.globl _D0
-	.globl _EA
-	.globl _ES1
-	.globl _ET2
-	.globl _ES0
-	.globl _ET1
-	.globl _EX1
-	.globl _ET0
-	.globl _EX0
-	.globl _SM0
-	.globl _SM1
-	.globl _SM2
-	.globl _REN
-	.globl _TB8
-	.globl _RB8
-	.globl _TI
-	.globl _RI
-	.globl _TF1
-	.globl _TR1
-	.globl _TF0
-	.globl _TR0
-	.globl _IE1
-	.globl _IT1
-	.globl _IE0
-	.globl _IT0
-	.globl _SEL
-	.globl _A7
-	.globl _A6
-	.globl _A5
-	.globl _A4
-	.globl _A3
-	.globl _A2
-	.globl _A1
-	.globl _A0
-	.globl _EIP
-	.globl _B
-	.globl _EIE
-	.globl _ACC
-	.globl _EICON
-	.globl _PSW
-	.globl _TH2
-	.globl _TL2
-	.globl _RCAP2H
-	.globl _RCAP2L
-	.globl _T2CON
-	.globl _SBUF1
-	.globl _SCON1
-	.globl _GPIFSGLDATLNOX
-	.globl _GPIFSGLDATLX
-	.globl _GPIFSGLDATH
-	.globl _GPIFTRIG
-	.globl _EP01STAT
-	.globl _IP
-	.globl _OEE
-	.globl _OED
-	.globl _OEC
-	.globl _OEB
-	.globl _OEA
-	.globl _IOE
-	.globl _IOD
-	.globl _AUTOPTRSETUP
-	.globl _EP68FIFOFLGS
-	.globl _EP24FIFOFLGS
-	.globl _EP2468STAT
-	.globl _IE
-	.globl _INT4CLR
-	.globl _INT2CLR
-	.globl _IOC
-	.globl _AUTODAT2
-	.globl _AUTOPTRL2
-	.globl _AUTOPTRH2
-	.globl _AUTODAT1
-	.globl _APTR1L
-	.globl _APTR1H
-	.globl _SBUF0
-	.globl _SCON0
-	.globl _MPAGE
-	.globl _EXIF
-	.globl _IOB
-	.globl _CKCON
-	.globl _TH1
-	.globl _TH0
-	.globl _TL1
-	.globl _TL0
-	.globl _TMOD
-	.globl _TCON
-	.globl _PCON
-	.globl _DPS
-	.globl _DPH1
-	.globl _DPL1
-	.globl _DPH
-	.globl _DPL
-	.globl _SP
-	.globl _IOA
-	.globl _EP8FIFOBUF
-	.globl _EP6FIFOBUF
-	.globl _EP4FIFOBUF
-	.globl _EP2FIFOBUF
-	.globl _EP1INBUF
-	.globl _EP1OUTBUF
-	.globl _EP0BUF
-	.globl _CT4
-	.globl _CT3
-	.globl _CT2
-	.globl _CT1
-	.globl _USBTEST
-	.globl _TESTCFG
-	.globl _DBUG
-	.globl _UDMACRCQUAL
-	.globl _UDMACRCL
-	.globl _UDMACRCH
-	.globl _GPIFHOLDAMOUNT
-	.globl _FLOWSTBHPERIOD
-	.globl _FLOWSTBEDGE
-	.globl _FLOWSTB
-	.globl _FLOWHOLDOFF
-	.globl _FLOWEQ1CTL
-	.globl _FLOWEQ0CTL
-	.globl _FLOWLOGIC
-	.globl _FLOWSTATE
-	.globl _GPIFABORT
-	.globl _GPIFREADYSTAT
-	.globl _GPIFREADYCFG
-	.globl _XGPIFSGLDATLNOX
-	.globl _XGPIFSGLDATLX
-	.globl _XGPIFSGLDATH
-	.globl _EP8GPIFTRIG
-	.globl _EP8GPIFPFSTOP
-	.globl _EP8GPIFFLGSEL
-	.globl _EP6GPIFTRIG
-	.globl _EP6GPIFPFSTOP
-	.globl _EP6GPIFFLGSEL
-	.globl _EP4GPIFTRIG
-	.globl _EP4GPIFPFSTOP
-	.globl _EP4GPIFFLGSEL
-	.globl _EP2GPIFTRIG
-	.globl _EP2GPIFPFSTOP
-	.globl _EP2GPIFFLGSEL
-	.globl _GPIFTCB0
-	.globl _GPIFTCB1
-	.globl _GPIFTCB2
-	.globl _GPIFTCB3
-	.globl _GPIFADRL
-	.globl _GPIFADRH
-	.globl _GPIFCTLCFG
-	.globl _GPIFIDLECTL
-	.globl _GPIFIDLECS
-	.globl _GPIFWFSELECT
-	.globl _SETUPDAT
-	.globl _SUDPTRCTL
-	.globl _SUDPTRL
-	.globl _SUDPTRH
-	.globl _EP8FIFOBCL
-	.globl _EP8FIFOBCH
-	.globl _EP6FIFOBCL
-	.globl _EP6FIFOBCH
-	.globl _EP4FIFOBCL
-	.globl _EP4FIFOBCH
-	.globl _EP2FIFOBCL
-	.globl _EP2FIFOBCH
-	.globl _EP8FIFOFLGS
-	.globl _EP6FIFOFLGS
-	.globl _EP4FIFOFLGS
-	.globl _EP2FIFOFLGS
-	.globl _EP8CS
-	.globl _EP6CS
-	.globl _EP4CS
-	.globl _EP2CS
-	.globl _EP1INCS
-	.globl _EP1OUTCS
-	.globl _EP0CS
-	.globl _EP8BCL
-	.globl _EP8BCH
-	.globl _EP6BCL
-	.globl _EP6BCH
-	.globl _EP4BCL
-	.globl _EP4BCH
-	.globl _EP2BCL
-	.globl _EP2BCH
-	.globl _EP1INBC
-	.globl _EP1OUTBC
-	.globl _EP0BCL
-	.globl _EP0BCH
-	.globl _FNADDR
-	.globl _MICROFRAME
-	.globl _USBFRAMEL
-	.globl _USBFRAMEH
-	.globl _TOGCTL
-	.globl _WAKEUPCS
-	.globl _SUSPEND
-	.globl _USBCS
-	.globl _XAUTODAT2
-	.globl _XAUTODAT1
-	.globl _I2CTL
-	.globl _I2DAT
-	.globl _I2CS
-	.globl _PORTECFG
-	.globl _PORTCCFG
-	.globl _PORTACFG
-	.globl _INTSETUP
-	.globl _INT4IVEC
-	.globl _INT2IVEC
-	.globl _CLRERRCNT
-	.globl _ERRCNTLIM
-	.globl _USBERRIRQ
-	.globl _USBERRIE
-	.globl _GPIFIRQ
-	.globl _GPIFIE
-	.globl _EPIRQ
-	.globl _EPIE
-	.globl _USBIRQ
-	.globl _USBIE
-	.globl _NAKIRQ
-	.globl _NAKIE
-	.globl _IBNIRQ
-	.globl _IBNIE
-	.globl _EP8FIFOIRQ
-	.globl _EP8FIFOIE
-	.globl _EP6FIFOIRQ
-	.globl _EP6FIFOIE
-	.globl _EP4FIFOIRQ
-	.globl _EP4FIFOIE
-	.globl _EP2FIFOIRQ
-	.globl _EP2FIFOIE
-	.globl _OUTPKTEND
-	.globl _INPKTEND
-	.globl _EP8ISOINPKTS
-	.globl _EP6ISOINPKTS
-	.globl _EP4ISOINPKTS
-	.globl _EP2ISOINPKTS
-	.globl _EP8FIFOPFL
-	.globl _EP8FIFOPFH
-	.globl _EP6FIFOPFL
-	.globl _EP6FIFOPFH
-	.globl _EP4FIFOPFL
-	.globl _EP4FIFOPFH
-	.globl _EP2FIFOPFL
-	.globl _EP2FIFOPFH
-	.globl _EP8AUTOINLENL
-	.globl _EP8AUTOINLENH
-	.globl _EP6AUTOINLENL
-	.globl _EP6AUTOINLENH
-	.globl _EP4AUTOINLENL
-	.globl _EP4AUTOINLENH
-	.globl _EP2AUTOINLENL
-	.globl _EP2AUTOINLENH
-	.globl _EP8FIFOCFG
-	.globl _EP6FIFOCFG
-	.globl _EP4FIFOCFG
-	.globl _EP2FIFOCFG
-	.globl _EP8CFG
-	.globl _EP6CFG
-	.globl _EP4CFG
-	.globl _EP2CFG
-	.globl _EP1INCFG
-	.globl _EP1OUTCFG
-	.globl _REVCTL
-	.globl _REVID
-	.globl _FIFOPINPOLAR
-	.globl _UART230
-	.globl _BPADDRL
-	.globl _BPADDRH
-	.globl _BREAKPT
-	.globl _FIFORESET
-	.globl _PINFLAGSCD
-	.globl _PINFLAGSAB
-	.globl _IFCONFIG
-	.globl _CPUCS
-	.globl _RES_WAVEDATA_END
-	.globl _GPIF_WAVE_DATA
-	.globl _hook_sv
-	.globl _hook_uv
-	.globl _hook_fgv
-	.globl _setup_autovectors
-;--------------------------------------------------------
-; special function registers
-;--------------------------------------------------------
-	.area RSEG    (DATA)
-_IOA	=	0x0080
-_SP	=	0x0081
-_DPL	=	0x0082
-_DPH	=	0x0083
-_DPL1	=	0x0084
-_DPH1	=	0x0085
-_DPS	=	0x0086
-_PCON	=	0x0087
-_TCON	=	0x0088
-_TMOD	=	0x0089
-_TL0	=	0x008a
-_TL1	=	0x008b
-_TH0	=	0x008c
-_TH1	=	0x008d
-_CKCON	=	0x008e
-_IOB	=	0x0090
-_EXIF	=	0x0091
-_MPAGE	=	0x0092
-_SCON0	=	0x0098
-_SBUF0	=	0x0099
-_APTR1H	=	0x009a
-_APTR1L	=	0x009b
-_AUTODAT1	=	0x009c
-_AUTOPTRH2	=	0x009d
-_AUTOPTRL2	=	0x009e
-_AUTODAT2	=	0x009f
-_IOC	=	0x00a0
-_INT2CLR	=	0x00a1
-_INT4CLR	=	0x00a2
-_IE	=	0x00a8
-_EP2468STAT	=	0x00aa
-_EP24FIFOFLGS	=	0x00ab
-_EP68FIFOFLGS	=	0x00ac
-_AUTOPTRSETUP	=	0x00af
-_IOD	=	0x00b0
-_IOE	=	0x00b1
-_OEA	=	0x00b2
-_OEB	=	0x00b3
-_OEC	=	0x00b4
-_OED	=	0x00b5
-_OEE	=	0x00b6
-_IP	=	0x00b8
-_EP01STAT	=	0x00ba
-_GPIFTRIG	=	0x00bb
-_GPIFSGLDATH	=	0x00bd
-_GPIFSGLDATLX	=	0x00be
-_GPIFSGLDATLNOX	=	0x00bf
-_SCON1	=	0x00c0
-_SBUF1	=	0x00c1
-_T2CON	=	0x00c8
-_RCAP2L	=	0x00ca
-_RCAP2H	=	0x00cb
-_TL2	=	0x00cc
-_TH2	=	0x00cd
-_PSW	=	0x00d0
-_EICON	=	0x00d8
-_ACC	=	0x00e0
-_EIE	=	0x00e8
-_B	=	0x00f0
-_EIP	=	0x00f8
-;--------------------------------------------------------
-; special function bits
-;--------------------------------------------------------
-	.area RSEG    (DATA)
-_A0	=	0x0080
-_A1	=	0x0081
-_A2	=	0x0082
-_A3	=	0x0083
-_A4	=	0x0084
-_A5	=	0x0085
-_A6	=	0x0086
-_A7	=	0x0087
-_SEL	=	0x0086
-_IT0	=	0x0088
-_IE0	=	0x0089
-_IT1	=	0x008a
-_IE1	=	0x008b
-_TR0	=	0x008c
-_TF0	=	0x008d
-_TR1	=	0x008e
-_TF1	=	0x008f
-_RI	=	0x0098
-_TI	=	0x0099
-_RB8	=	0x009a
-_TB8	=	0x009b
-_REN	=	0x009c
-_SM2	=	0x009d
-_SM1	=	0x009e
-_SM0	=	0x009f
-_EX0	=	0x00a8
-_ET0	=	0x00a9
-_EX1	=	0x00aa
-_ET1	=	0x00ab
-_ES0	=	0x00ac
-_ET2	=	0x00ad
-_ES1	=	0x00ae
-_EA	=	0x00af
-_D0	=	0x00b0
-_D1	=	0x00b1
-_D2	=	0x00b2
-_D3	=	0x00b3
-_D4	=	0x00b4
-_D5	=	0x00b5
-_D6	=	0x00b6
-_D7	=	0x00b7
-_PX0	=	0x00b8
-_PT0	=	0x00b9
-_PX1	=	0x00ba
-_PT1	=	0x00bb
-_PS0	=	0x00bc
-_PT2	=	0x00bd
-_PS1	=	0x00be
-_RI1	=	0x00c0
-_TI1	=	0x00c1
-_RB81	=	0x00c2
-_TB81	=	0x00c3
-_REN1	=	0x00c4
-_SM21	=	0x00c5
-_SM11	=	0x00c6
-_SM01	=	0x00c7
-_CP_RL2	=	0x00c8
-_C_T2	=	0x00c9
-_TR2	=	0x00ca
-_EXEN2	=	0x00cb
-_TCLK	=	0x00cc
-_RCLK	=	0x00cd
-_EXF2	=	0x00ce
-_TF2	=	0x00cf
-_P	=	0x00d0
-_FL	=	0x00d1
-_OV	=	0x00d2
-_RS0	=	0x00d3
-_RS1	=	0x00d4
-_F0	=	0x00d5
-_AC	=	0x00d6
-_CY	=	0x00d7
-_INT6	=	0x00db
-_RESI	=	0x00dc
-_ERESI	=	0x00dd
-_SMOD1	=	0x00df
-_EIUSB	=	0x00e8
-_EI2C	=	0x00e9
-_EIEX4	=	0x00ea
-_EIEX5	=	0x00eb
-_EIEX6	=	0x00ec
-_PUSB	=	0x00f8
-_PI2C	=	0x00f9
-_EIPX4	=	0x00fa
-_EIPX5	=	0x00fb
-_EIPX6	=	0x00fc
-;--------------------------------------------------------
-; overlayable register banks
-;--------------------------------------------------------
-	.area REG_BANK_0	(REL,OVR,DATA)
-	.ds 8
-;--------------------------------------------------------
-; internal ram data
-;--------------------------------------------------------
-	.area DSEG    (DATA)
-;--------------------------------------------------------
-; overlayable items in internal ram 
-;--------------------------------------------------------
-	.area	OSEG    (OVR,DATA)
-_hook_sv_PARM_2::
-	.ds 2
-	.area	OSEG    (OVR,DATA)
-_hook_uv_PARM_2::
-	.ds 2
-	.area	OSEG    (OVR,DATA)
-_hook_fgv_PARM_2::
-	.ds 2
-;--------------------------------------------------------
-; indirectly addressable internal ram data
-;--------------------------------------------------------
-	.area ISEG    (DATA)
-;--------------------------------------------------------
-; absolute internal ram data
-;--------------------------------------------------------
-	.area IABS    (ABS,DATA)
-	.area IABS    (ABS,DATA)
-;--------------------------------------------------------
-; bit data
-;--------------------------------------------------------
-	.area BSEG    (BIT)
-_hook_sv_t_1_1:
-	.ds 1
-_hook_uv_t_1_1:
-	.ds 1
-_hook_fgv_t_1_1:
-	.ds 1
-;--------------------------------------------------------
-; paged external ram data
-;--------------------------------------------------------
-	.area PSEG    (PAG,XDATA)
-;--------------------------------------------------------
-; external ram data
-;--------------------------------------------------------
-	.area XSEG    (XDATA)
-_GPIF_WAVE_DATA	=	0xe400
-_RES_WAVEDATA_END	=	0xe480
-_CPUCS	=	0xe600
-_IFCONFIG	=	0xe601
-_PINFLAGSAB	=	0xe602
-_PINFLAGSCD	=	0xe603
-_FIFORESET	=	0xe604
-_BREAKPT	=	0xe605
-_BPADDRH	=	0xe606
-_BPADDRL	=	0xe607
-_UART230	=	0xe608
-_FIFOPINPOLAR	=	0xe609
-_REVID	=	0xe60a
-_REVCTL	=	0xe60b
-_EP1OUTCFG	=	0xe610
-_EP1INCFG	=	0xe611
-_EP2CFG	=	0xe612
-_EP4CFG	=	0xe613
-_EP6CFG	=	0xe614
-_EP8CFG	=	0xe615
-_EP2FIFOCFG	=	0xe618
-_EP4FIFOCFG	=	0xe619
-_EP6FIFOCFG	=	0xe61a
-_EP8FIFOCFG	=	0xe61b
-_EP2AUTOINLENH	=	0xe620
-_EP2AUTOINLENL	=	0xe621
-_EP4AUTOINLENH	=	0xe622
-_EP4AUTOINLENL	=	0xe623
-_EP6AUTOINLENH	=	0xe624
-_EP6AUTOINLENL	=	0xe625
-_EP8AUTOINLENH	=	0xe626
-_EP8AUTOINLENL	=	0xe627
-_EP2FIFOPFH	=	0xe630
-_EP2FIFOPFL	=	0xe631
-_EP4FIFOPFH	=	0xe632
-_EP4FIFOPFL	=	0xe633
-_EP6FIFOPFH	=	0xe634
-_EP6FIFOPFL	=	0xe635
-_EP8FIFOPFH	=	0xe636
-_EP8FIFOPFL	=	0xe637
-_EP2ISOINPKTS	=	0xe640
-_EP4ISOINPKTS	=	0xe641
-_EP6ISOINPKTS	=	0xe642
-_EP8ISOINPKTS	=	0xe643
-_INPKTEND	=	0xe648
-_OUTPKTEND	=	0xe649
-_EP2FIFOIE	=	0xe650
-_EP2FIFOIRQ	=	0xe651
-_EP4FIFOIE	=	0xe652
-_EP4FIFOIRQ	=	0xe653
-_EP6FIFOIE	=	0xe654
-_EP6FIFOIRQ	=	0xe655
-_EP8FIFOIE	=	0xe656
-_EP8FIFOIRQ	=	0xe657
-_IBNIE	=	0xe658
-_IBNIRQ	=	0xe659
-_NAKIE	=	0xe65a
-_NAKIRQ	=	0xe65b
-_USBIE	=	0xe65c
-_USBIRQ	=	0xe65d
-_EPIE	=	0xe65e
-_EPIRQ	=	0xe65f
-_GPIFIE	=	0xe660
-_GPIFIRQ	=	0xe661
-_USBERRIE	=	0xe662
-_USBERRIRQ	=	0xe663
-_ERRCNTLIM	=	0xe664
-_CLRERRCNT	=	0xe665
-_INT2IVEC	=	0xe666
-_INT4IVEC	=	0xe667
-_INTSETUP	=	0xe668
-_PORTACFG	=	0xe670
-_PORTCCFG	=	0xe671
-_PORTECFG	=	0xe672
-_I2CS	=	0xe678
-_I2DAT	=	0xe679
-_I2CTL	=	0xe67a
-_XAUTODAT1	=	0xe67b
-_XAUTODAT2	=	0xe67c
-_USBCS	=	0xe680
-_SUSPEND	=	0xe681
-_WAKEUPCS	=	0xe682
-_TOGCTL	=	0xe683
-_USBFRAMEH	=	0xe684
-_USBFRAMEL	=	0xe685
-_MICROFRAME	=	0xe686
-_FNADDR	=	0xe687
-_EP0BCH	=	0xe68a
-_EP0BCL	=	0xe68b
-_EP1OUTBC	=	0xe68d
-_EP1INBC	=	0xe68f
-_EP2BCH	=	0xe690
-_EP2BCL	=	0xe691
-_EP4BCH	=	0xe694
-_EP4BCL	=	0xe695
-_EP6BCH	=	0xe698
-_EP6BCL	=	0xe699
-_EP8BCH	=	0xe69c
-_EP8BCL	=	0xe69d
-_EP0CS	=	0xe6a0
-_EP1OUTCS	=	0xe6a1
-_EP1INCS	=	0xe6a2
-_EP2CS	=	0xe6a3
-_EP4CS	=	0xe6a4
-_EP6CS	=	0xe6a5
-_EP8CS	=	0xe6a6
-_EP2FIFOFLGS	=	0xe6a7
-_EP4FIFOFLGS	=	0xe6a8
-_EP6FIFOFLGS	=	0xe6a9
-_EP8FIFOFLGS	=	0xe6aa
-_EP2FIFOBCH	=	0xe6ab
-_EP2FIFOBCL	=	0xe6ac
-_EP4FIFOBCH	=	0xe6ad
-_EP4FIFOBCL	=	0xe6ae
-_EP6FIFOBCH	=	0xe6af
-_EP6FIFOBCL	=	0xe6b0
-_EP8FIFOBCH	=	0xe6b1
-_EP8FIFOBCL	=	0xe6b2
-_SUDPTRH	=	0xe6b3
-_SUDPTRL	=	0xe6b4
-_SUDPTRCTL	=	0xe6b5
-_SETUPDAT	=	0xe6b8
-_GPIFWFSELECT	=	0xe6c0
-_GPIFIDLECS	=	0xe6c1
-_GPIFIDLECTL	=	0xe6c2
-_GPIFCTLCFG	=	0xe6c3
-_GPIFADRH	=	0xe6c4
-_GPIFADRL	=	0xe6c5
-_GPIFTCB3	=	0xe6ce
-_GPIFTCB2	=	0xe6cf
-_GPIFTCB1	=	0xe6d0
-_GPIFTCB0	=	0xe6d1
-_EP2GPIFFLGSEL	=	0xe6d2
-_EP2GPIFPFSTOP	=	0xe6d3
-_EP2GPIFTRIG	=	0xe6d4
-_EP4GPIFFLGSEL	=	0xe6da
-_EP4GPIFPFSTOP	=	0xe6db
-_EP4GPIFTRIG	=	0xe6dc
-_EP6GPIFFLGSEL	=	0xe6e2
-_EP6GPIFPFSTOP	=	0xe6e3
-_EP6GPIFTRIG	=	0xe6e4
-_EP8GPIFFLGSEL	=	0xe6ea
-_EP8GPIFPFSTOP	=	0xe6eb
-_EP8GPIFTRIG	=	0xe6ec
-_XGPIFSGLDATH	=	0xe6f0
-_XGPIFSGLDATLX	=	0xe6f1
-_XGPIFSGLDATLNOX	=	0xe6f2
-_GPIFREADYCFG	=	0xe6f3
-_GPIFREADYSTAT	=	0xe6f4
-_GPIFABORT	=	0xe6f5
-_FLOWSTATE	=	0xe6c6
-_FLOWLOGIC	=	0xe6c7
-_FLOWEQ0CTL	=	0xe6c8
-_FLOWEQ1CTL	=	0xe6c9
-_FLOWHOLDOFF	=	0xe6ca
-_FLOWSTB	=	0xe6cb
-_FLOWSTBEDGE	=	0xe6cc
-_FLOWSTBHPERIOD	=	0xe6cd
-_GPIFHOLDAMOUNT	=	0xe60c
-_UDMACRCH	=	0xe67d
-_UDMACRCL	=	0xe67e
-_UDMACRCQUAL	=	0xe67f
-_DBUG	=	0xe6f8
-_TESTCFG	=	0xe6f9
-_USBTEST	=	0xe6fa
-_CT1	=	0xe6fb
-_CT2	=	0xe6fc
-_CT3	=	0xe6fd
-_CT4	=	0xe6fe
-_EP0BUF	=	0xe740
-_EP1OUTBUF	=	0xe780
-_EP1INBUF	=	0xe7c0
-_EP2FIFOBUF	=	0xf000
-_EP4FIFOBUF	=	0xf400
-_EP6FIFOBUF	=	0xf800
-_EP8FIFOBUF	=	0xfc00
-;--------------------------------------------------------
-; absolute external ram data
-;--------------------------------------------------------
-	.area XABS    (ABS,XDATA)
-;--------------------------------------------------------
-; external initialized ram data
-;--------------------------------------------------------
-	.area HOME    (CODE)
-	.area GSINIT0 (CODE)
-	.area GSINIT1 (CODE)
-	.area GSINIT2 (CODE)
-	.area GSINIT3 (CODE)
-	.area GSINIT4 (CODE)
-	.area GSINIT5 (CODE)
-	.area GSINIT  (CODE)
-	.area GSFINAL (CODE)
-	.area CSEG    (CODE)
-;--------------------------------------------------------
-; global & static initialisations
-;--------------------------------------------------------
-	.area HOME    (CODE)
-	.area GSINIT  (CODE)
-	.area GSFINAL (CODE)
-	.area GSINIT  (CODE)
-;--------------------------------------------------------
-; Home
-;--------------------------------------------------------
-	.area HOME    (CODE)
-	.area HOME    (CODE)
-;--------------------------------------------------------
-; code
-;--------------------------------------------------------
-	.area CSEG    (CODE)
-;------------------------------------------------------------
-;Allocation info for local variables in function 'hook_sv'
-;------------------------------------------------------------
-;addr                      Allocated with name '_hook_sv_PARM_2'
-;vector_number             Allocated to registers r2 
-;------------------------------------------------------------
-;	isr.c:40: hook_sv (unsigned char vector_number, unsigned short addr)
-;	-----------------------------------------
-;	 function hook_sv
-;	-----------------------------------------
-_hook_sv:
-	ar2 = 0x02
-	ar3 = 0x03
-	ar4 = 0x04
-	ar5 = 0x05
-	ar6 = 0x06
-	ar7 = 0x07
-	ar0 = 0x00
-	ar1 = 0x01
-	mov	r2,dpl
-;	isr.c:46: if (vector_number < SV_MIN || vector_number > SV_MAX)
-	cjne	r2,#0x03,00112$
-00112$:
-	jc	00101$
-	mov	a,r2
-	add	a,#0xff - 0x63
-	jnc	00102$
-00101$:
-;	isr.c:47: return;
-	ret
-00102$:
-;	isr.c:49: if ((vector_number & 0x0f) != 0x03 && (vector_number & 0x0f) != 0x0b)
-	mov	a,#0x0F
-	anl	a,r2
-	mov	r3,a
-	cjne	r3,#0x03,00115$
-	sjmp	00105$
-00115$:
-	mov	a,#0x0F
-	anl	a,r2
-	mov	r3,a
-;	isr.c:50: return;
-	cjne	r3,#0x0B,00107$
-00105$:
-;	isr.c:52: t = EA;
-	mov	c,_EA
-	mov	_hook_sv_t_1_1,c
-;	isr.c:53: EA = 0;
-	clr	_EA
-;	isr.c:54: _standard_interrupt_vector[vector_number] = LJMP_OPCODE;
-	mov	a,r2
-	add	a,#__standard_interrupt_vector
-	mov	dpl,a
-	clr	a
-	addc	a,#(__standard_interrupt_vector >> 8)
-	mov	dph,a
-	mov	a,#0x02
-	movx	@dptr,a
-;	isr.c:55: _standard_interrupt_vector[vector_number + 1] = addr >> 8;
-	mov	r3,#0x00
-	mov	a,#0x01
-	add	a,r2
-	mov	r4,a
-	clr	a
-	addc	a,r3
-	mov	r5,a
-	mov	a,r4
-	add	a,#__standard_interrupt_vector
-	mov	dpl,a
-	mov	a,r5
-	addc	a,#(__standard_interrupt_vector >> 8)
-	mov	dph,a
-	mov	a,(_hook_sv_PARM_2 + 1)
-	mov	r4,a
-	movx	@dptr,a
-;	isr.c:56: _standard_interrupt_vector[vector_number + 2] = addr & 0xff;
-	mov	a,#0x02
-	add	a,r2
-	mov	r2,a
-	clr	a
-	addc	a,r3
-	mov	r3,a
-	mov	a,r2
-	add	a,#__standard_interrupt_vector
-	mov	dpl,a
-	mov	a,r3
-	addc	a,#(__standard_interrupt_vector >> 8)
-	mov	dph,a
-	mov	r2,_hook_sv_PARM_2
-	mov	r3,#0x00
-	mov	a,r2
-	movx	@dptr,a
-;	isr.c:57: EA = t;
-	mov	c,_hook_sv_t_1_1
-	mov	_EA,c
-00107$:
-	ret
-;------------------------------------------------------------
-;Allocation info for local variables in function 'hook_uv'
-;------------------------------------------------------------
-;addr                      Allocated with name '_hook_uv_PARM_2'
-;vector_number             Allocated to registers r2 
-;------------------------------------------------------------
-;	isr.c:67: hook_uv (unsigned char vector_number, unsigned short addr)
-;	-----------------------------------------
-;	 function hook_uv
-;	-----------------------------------------
-_hook_uv:
-;	isr.c:73: if (vector_number < UV_MIN || vector_number > UV_MAX)
-	mov	a,dpl
-	mov	r2,a
-	add	a,#0xff - 0x7C
-	jnc	00102$
-;	isr.c:74: return;
-	ret
-00102$:
-;	isr.c:76: if ((vector_number & 0x3) != 0)
-	mov	a,r2
-	anl	a,#0x03
-	jz	00105$
-;	isr.c:77: return;
-	ret
-00105$:
-;	isr.c:79: t = EA;
-	mov	c,_EA
-	mov	_hook_uv_t_1_1,c
-;	isr.c:80: EA = 0;
-	clr	_EA
-;	isr.c:81: _usb_autovector[vector_number] = LJMP_OPCODE;
-	mov	a,r2
-	add	a,#__usb_autovector
-	mov	dpl,a
-	clr	a
-	addc	a,#(__usb_autovector >> 8)
-	mov	dph,a
-	mov	a,#0x02
-	movx	@dptr,a
-;	isr.c:82: _usb_autovector[vector_number + 1] = addr >> 8;
-	mov	r3,#0x00
-	mov	a,#0x01
-	add	a,r2
-	mov	r4,a
-	clr	a
-	addc	a,r3
-	mov	r5,a
-	mov	a,r4
-	add	a,#__usb_autovector
-	mov	dpl,a
-	mov	a,r5
-	addc	a,#(__usb_autovector >> 8)
-	mov	dph,a
-	mov	a,(_hook_uv_PARM_2 + 1)
-	movx	@dptr,a
-;	isr.c:83: _usb_autovector[vector_number + 2] = addr & 0xff;
-	mov	a,#0x02
-	add	a,r2
-	mov	r2,a
-	clr	a
-	addc	a,r3
-	mov	r3,a
-	mov	a,r2
-	add	a,#__usb_autovector
-	mov	dpl,a
-	mov	a,r3
-	addc	a,#(__usb_autovector >> 8)
-	mov	dph,a
-	mov	r2,_hook_uv_PARM_2
-	mov	a,r2
-	movx	@dptr,a
-;	isr.c:84: EA = t;
-	mov	c,_hook_uv_t_1_1
-	mov	_EA,c
-	ret
-;------------------------------------------------------------
-;Allocation info for local variables in function 'hook_fgv'
-;------------------------------------------------------------
-;addr                      Allocated with name '_hook_fgv_PARM_2'
-;vector_number             Allocated to registers r2 
-;------------------------------------------------------------
-;	isr.c:94: hook_fgv (unsigned char vector_number, unsigned short addr)
-;	-----------------------------------------
-;	 function hook_fgv
-;	-----------------------------------------
-_hook_fgv:
-	mov	r2,dpl
-;	isr.c:100: if (vector_number < FGV_MIN || vector_number > FGV_MAX)
-	cjne	r2,#0x80,00110$
-00110$:
-	jc	00101$
-	mov	a,r2
-	add	a,#0xff - 0xB4
-	jnc	00102$
-00101$:
-;	isr.c:101: return;
-	ret
-00102$:
-;	isr.c:103: if ((vector_number & 0x3) != 0)
-	mov	a,r2
-	anl	a,#0x03
-	jz	00105$
-;	isr.c:104: return;
-	ret
-00105$:
-;	isr.c:106: t = EA;
-	mov	c,_EA
-	mov	_hook_fgv_t_1_1,c
-;	isr.c:107: EA = 0;
-	clr	_EA
-;	isr.c:108: _fifo_gpif_autovector[vector_number] = LJMP_OPCODE;
-	mov	a,r2
-	add	a,#__fifo_gpif_autovector
-	mov	dpl,a
-	clr	a
-	addc	a,#(__fifo_gpif_autovector >> 8)
-	mov	dph,a
-	mov	a,#0x02
-	movx	@dptr,a
-;	isr.c:109: _fifo_gpif_autovector[vector_number + 1] = addr >> 8;
-	mov	r3,#0x00
-	mov	a,#0x01
-	add	a,r2
-	mov	r4,a
-	clr	a
-	addc	a,r3
-	mov	r5,a
-	mov	a,r4
-	add	a,#__fifo_gpif_autovector
-	mov	dpl,a
-	mov	a,r5
-	addc	a,#(__fifo_gpif_autovector >> 8)
-	mov	dph,a
-	mov	a,(_hook_fgv_PARM_2 + 1)
-	movx	@dptr,a
-;	isr.c:110: _fifo_gpif_autovector[vector_number + 2] = addr & 0xff;
-	mov	a,#0x02
-	add	a,r2
-	mov	r2,a
-	clr	a
-	addc	a,r3
-	mov	r3,a
-	mov	a,r2
-	add	a,#__fifo_gpif_autovector
-	mov	dpl,a
-	mov	a,r3
-	addc	a,#(__fifo_gpif_autovector >> 8)
-	mov	dph,a
-	mov	r2,_hook_fgv_PARM_2
-	mov	a,r2
-	movx	@dptr,a
-;	isr.c:111: EA = t;
-	mov	c,_hook_fgv_t_1_1
-	mov	_EA,c
-	ret
-;------------------------------------------------------------
-;Allocation info for local variables in function 'setup_autovectors'
-;------------------------------------------------------------
-;------------------------------------------------------------
-;	isr.c:122: setup_autovectors (void)
-;	-----------------------------------------
-;	 function setup_autovectors
-;	-----------------------------------------
-_setup_autovectors:
-;	isr.c:125: EIUSB = 0;
-	clr	_EIUSB
-;	isr.c:126: EIEX4 = 0;
-	clr	_EIEX4
-;	isr.c:128: hook_sv (SV_INT_2, (unsigned short) _usb_autovector);
-	mov	_hook_sv_PARM_2,#__usb_autovector
-	mov	(_hook_sv_PARM_2 + 1),#(__usb_autovector >> 8)
-	mov	dpl,#0x43
-	lcall	_hook_sv
-;	isr.c:129: hook_sv (SV_INT_4, (unsigned short) _fifo_gpif_autovector);
-	mov	_hook_sv_PARM_2,#__fifo_gpif_autovector
-	mov	(_hook_sv_PARM_2 + 1),#(__fifo_gpif_autovector >> 8)
-	mov	dpl,#0x53
-	lcall	_hook_sv
-;	isr.c:132: SYNCDELAY;
-	 nop; nop; nop; 
-;	isr.c:133: EP2FIFOIE = 0;	SYNCDELAY;
-	mov	dptr,#_EP2FIFOIE
-	clr	a
-	movx	@dptr,a
-	 nop; nop; nop; 
-;	isr.c:134: EP4FIFOIE = 0;	SYNCDELAY;
-	mov	dptr,#_EP4FIFOIE
-	clr	a
-	movx	@dptr,a
-	 nop; nop; nop; 
-;	isr.c:135: EP6FIFOIE = 0;	SYNCDELAY;
-	mov	dptr,#_EP6FIFOIE
-	clr	a
-	movx	@dptr,a
-	 nop; nop; nop; 
-;	isr.c:136: EP8FIFOIE = 0;	SYNCDELAY;
-	mov	dptr,#_EP8FIFOIE
-	clr	a
-	movx	@dptr,a
-	 nop; nop; nop; 
-;	isr.c:139: EP2FIFOIRQ = 0xff;	SYNCDELAY;
-	mov	dptr,#_EP2FIFOIRQ
-	mov	a,#0xFF
-	movx	@dptr,a
-	 nop; nop; nop; 
-;	isr.c:140: EP4FIFOIRQ = 0xff;	SYNCDELAY;
-	mov	dptr,#_EP4FIFOIRQ
-	mov	a,#0xFF
-	movx	@dptr,a
-	 nop; nop; nop; 
-;	isr.c:141: EP6FIFOIRQ = 0xff;	SYNCDELAY;
-	mov	dptr,#_EP6FIFOIRQ
-	mov	a,#0xFF
-	movx	@dptr,a
-	 nop; nop; nop; 
-;	isr.c:142: EP8FIFOIRQ = 0xff;	SYNCDELAY;
-	mov	dptr,#_EP8FIFOIRQ
-	mov	a,#0xFF
-	movx	@dptr,a
-	 nop; nop; nop; 
-;	isr.c:144: IBNIE  = 0;
-	mov	dptr,#_IBNIE
-	clr	a
-	movx	@dptr,a
-;	isr.c:145: IBNIRQ = 0xff;
-	mov	dptr,#_IBNIRQ
-	mov	a,#0xFF
-	movx	@dptr,a
-;	isr.c:146: NAKIE  = 0;
-	mov	dptr,#_NAKIE
-	clr	a
-	movx	@dptr,a
-;	isr.c:147: NAKIRQ = 0xff;
-	mov	dptr,#_NAKIRQ
-	mov	a,#0xFF
-	movx	@dptr,a
-;	isr.c:148: USBIE  = 0;
-	mov	dptr,#_USBIE
-	clr	a
-	movx	@dptr,a
-;	isr.c:149: USBIRQ = 0xff;
-	mov	dptr,#_USBIRQ
-	mov	a,#0xFF
-	movx	@dptr,a
-;	isr.c:150: EPIE   = 0;
-	mov	dptr,#_EPIE
-	clr	a
-	movx	@dptr,a
-;	isr.c:151: EPIRQ  = 0xff;
-	mov	dptr,#_EPIRQ
-	mov	a,#0xFF
-	movx	@dptr,a
-;	isr.c:152: SYNCDELAY;	GPIFIE = 0;		
-	 nop; nop; nop; 
-	mov	dptr,#_GPIFIE
-	clr	a
-	movx	@dptr,a
-;	isr.c:153: SYNCDELAY;	GPIFIRQ = 0xff;
-	 nop; nop; nop; 
-	mov	dptr,#_GPIFIRQ
-	mov	a,#0xFF
-	movx	@dptr,a
-;	isr.c:154: USBERRIE = 0;
-	mov	dptr,#_USBERRIE
-	clr	a
-	movx	@dptr,a
-;	isr.c:155: USBERRIRQ = 0xff;
-	mov	dptr,#_USBERRIRQ
-	mov	a,#0xFF
-	movx	@dptr,a
-;	isr.c:156: CLRERRCNT = 0;
-	mov	dptr,#_CLRERRCNT
-	clr	a
-	movx	@dptr,a
-;	isr.c:158: INTSETUP = bmAV2EN | bmAV4EN | bmINT4IN;
-	mov	dptr,#_INTSETUP
-	mov	a,#0x0B
-	movx	@dptr,a
-;	isr.c:161: EXIF &= ~bmEXIF_USBINT;
-;	isr.c:162: EXIF &= ~bmEXIF_IE4;
-	anl	_EXIF,#(0xEF&0xBF)
-;	isr.c:165: EIUSB = 1;
-	setb	_EIUSB
-;	isr.c:166: EIEX4 = 1;
-	setb	_EIEX4
-	ret
-	.area CSEG    (CODE)
-	.area CONST   (CODE)
-	.area CABS    (ABS,CODE)
diff --git a/firmware/GN3S_v2/lib/isr.c b/firmware/GN3S_v2/lib/isr.c
deleted file mode 100644
index 7a20107..0000000
--- a/firmware/GN3S_v2/lib/isr.c
+++ /dev/null
@@ -1,167 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2003 Free Software Foundation, Inc.
- * 
- * This file is part of GNU Radio
- * 
- * GNU Radio 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, or (at your option)
- * any later version.
- * 
- * GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
- * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "isr.h"
-#include "fx2regs.h"
-#include "syncdelay.h"
-
-extern xdata unsigned char _standard_interrupt_vector[];
-extern xdata unsigned char _usb_autovector[];
-extern xdata unsigned char _fifo_gpif_autovector[];
-
-#define LJMP_OPCODE	0x02
-
-/*
- * Hook standard interrupt vector.
- *
- * vector_number is from the SV_<foo> list.
- * addr is the address of the interrupt service routine.
- */
-void 
-hook_sv (unsigned char vector_number, unsigned short addr)
-{
-  bit	t;
-  
-  // sanity checks
-
-  if (vector_number < SV_MIN || vector_number > SV_MAX)
-    return;
-
-  if ((vector_number & 0x0f) != 0x03 && (vector_number & 0x0f) != 0x0b)
-    return;
-
-  t = EA;
-  EA = 0;
-  _standard_interrupt_vector[vector_number] = LJMP_OPCODE;
-  _standard_interrupt_vector[vector_number + 1] = addr >> 8;
-  _standard_interrupt_vector[vector_number + 2] = addr & 0xff;
-  EA = t;
-}
-
-/*
- * Hook usb interrupt vector.
- *
- * vector_number is from the UV_<foo> list.
- * addr is the address of the interrupt service routine.
- */
-void 
-hook_uv (unsigned char vector_number, unsigned short addr)
-{
-  bit	t;
-  
-  // sanity checks
-
-  if (vector_number < UV_MIN || vector_number > UV_MAX)
-    return;
-
-  if ((vector_number & 0x3) != 0)
-    return;
-
-  t = EA;
-  EA = 0;
-  _usb_autovector[vector_number] = LJMP_OPCODE;
-  _usb_autovector[vector_number + 1] = addr >> 8;
-  _usb_autovector[vector_number + 2] = addr & 0xff;
-  EA = t;
-}
-
-/*
- * Hook fifo/gpif interrupt vector.
- *
- * vector_number is from the FGV_<foo> list.
- * addr is the address of the interrupt service routine.
- */
-void 
-hook_fgv (unsigned char vector_number, unsigned short addr)
-{
-  bit	t;
-  
-  // sanity checks
-
-  if (vector_number < FGV_MIN || vector_number > FGV_MAX)
-    return;
-
-  if ((vector_number & 0x3) != 0)
-    return;
-
-  t = EA;
-  EA = 0;
-  _fifo_gpif_autovector[vector_number] = LJMP_OPCODE;
-  _fifo_gpif_autovector[vector_number + 1] = addr >> 8;
-  _fifo_gpif_autovector[vector_number + 2] = addr & 0xff;
-  EA = t;
-}
-
-/*
- * One time call to enable autovectoring for both USB and FIFO/GPIF.
- *
- * This disables all USB and FIFO/GPIF interrupts and clears
- * any pending interrupts too.  It leaves the master USB and FIFO/GPIF
- * interrupts enabled.
- */
-void
-setup_autovectors (void)
-{
-  // disable master usb and fifo/gpif interrupt enables
-  EIUSB = 0;
-  EIEX4 = 0;
-
-  hook_sv (SV_INT_2, (unsigned short) _usb_autovector);
-  hook_sv (SV_INT_4, (unsigned short) _fifo_gpif_autovector);
-
-  // disable all fifo interrupt enables
-  SYNCDELAY;
-  EP2FIFOIE = 0;	SYNCDELAY;
-  EP4FIFOIE = 0;	SYNCDELAY;
-  EP6FIFOIE = 0;	SYNCDELAY;
-  EP8FIFOIE = 0;	SYNCDELAY;
-
-  // clear all pending fifo irqs	
-  EP2FIFOIRQ = 0xff;	SYNCDELAY;
-  EP4FIFOIRQ = 0xff;	SYNCDELAY;
-  EP6FIFOIRQ = 0xff;	SYNCDELAY;
-  EP8FIFOIRQ = 0xff;	SYNCDELAY;
-
-  IBNIE  = 0;
-  IBNIRQ = 0xff;
-  NAKIE  = 0;
-  NAKIRQ = 0xff;
-  USBIE  = 0;
-  USBIRQ = 0xff;
-  EPIE   = 0;
-  EPIRQ  = 0xff;
-  SYNCDELAY;	GPIFIE = 0;		
-  SYNCDELAY;	GPIFIRQ = 0xff;
-  USBERRIE = 0;
-  USBERRIRQ = 0xff;
-  CLRERRCNT = 0;
-  
-  INTSETUP = bmAV2EN | bmAV4EN | bmINT4IN;
-
-  // clear master irq's for usb and fifo/gpif
-  EXIF &= ~bmEXIF_USBINT;
-  EXIF &= ~bmEXIF_IE4;
-  
-  // enable master usb and fifo/gpif interrrupts
-  EIUSB = 1;
-  EIEX4 = 1;
-}
diff --git a/firmware/GN3S_v2/lib/isr.lst b/firmware/GN3S_v2/lib/isr.lst
deleted file mode 100644
index 5d9c934..0000000
--- a/firmware/GN3S_v2/lib/isr.lst
+++ /dev/null
@@ -1,1138 +0,0 @@
-                              1 ;--------------------------------------------------------
-                              2 ; File Created by SDCC : free open source ANSI-C Compiler
-                              3 ; Version 2.9.0 #5416 (Feb  3 2010) (UNIX)
-                              4 ; This file was generated Mon Jul 30 11:40:53 2012
-                              5 ;--------------------------------------------------------
-                              6 	.module isr
-                              7 	.optsdcc -mmcs51 --model-small
-                              8 	
-                              9 ;--------------------------------------------------------
-                             10 ; Public variables in this module
-                             11 ;--------------------------------------------------------
-                             12 	.globl _hook_fgv_PARM_2
-                             13 	.globl _hook_uv_PARM_2
-                             14 	.globl _hook_sv_PARM_2
-                             15 	.globl _EIPX6
-                             16 	.globl _EIPX5
-                             17 	.globl _EIPX4
-                             18 	.globl _PI2C
-                             19 	.globl _PUSB
-                             20 	.globl _EIEX6
-                             21 	.globl _EIEX5
-                             22 	.globl _EIEX4
-                             23 	.globl _EI2C
-                             24 	.globl _EIUSB
-                             25 	.globl _SMOD1
-                             26 	.globl _ERESI
-                             27 	.globl _RESI
-                             28 	.globl _INT6
-                             29 	.globl _CY
-                             30 	.globl _AC
-                             31 	.globl _F0
-                             32 	.globl _RS1
-                             33 	.globl _RS0
-                             34 	.globl _OV
-                             35 	.globl _FL
-                             36 	.globl _P
-                             37 	.globl _TF2
-                             38 	.globl _EXF2
-                             39 	.globl _RCLK
-                             40 	.globl _TCLK
-                             41 	.globl _EXEN2
-                             42 	.globl _TR2
-                             43 	.globl _C_T2
-                             44 	.globl _CP_RL2
-                             45 	.globl _SM01
-                             46 	.globl _SM11
-                             47 	.globl _SM21
-                             48 	.globl _REN1
-                             49 	.globl _TB81
-                             50 	.globl _RB81
-                             51 	.globl _TI1
-                             52 	.globl _RI1
-                             53 	.globl _PS1
-                             54 	.globl _PT2
-                             55 	.globl _PS0
-                             56 	.globl _PT1
-                             57 	.globl _PX1
-                             58 	.globl _PT0
-                             59 	.globl _PX0
-                             60 	.globl _D7
-                             61 	.globl _D6
-                             62 	.globl _D5
-                             63 	.globl _D4
-                             64 	.globl _D3
-                             65 	.globl _D2
-                             66 	.globl _D1
-                             67 	.globl _D0
-                             68 	.globl _EA
-                             69 	.globl _ES1
-                             70 	.globl _ET2
-                             71 	.globl _ES0
-                             72 	.globl _ET1
-                             73 	.globl _EX1
-                             74 	.globl _ET0
-                             75 	.globl _EX0
-                             76 	.globl _SM0
-                             77 	.globl _SM1
-                             78 	.globl _SM2
-                             79 	.globl _REN
-                             80 	.globl _TB8
-                             81 	.globl _RB8
-                             82 	.globl _TI
-                             83 	.globl _RI
-                             84 	.globl _TF1
-                             85 	.globl _TR1
-                             86 	.globl _TF0
-                             87 	.globl _TR0
-                             88 	.globl _IE1
-                             89 	.globl _IT1
-                             90 	.globl _IE0
-                             91 	.globl _IT0
-                             92 	.globl _SEL
-                             93 	.globl _A7
-                             94 	.globl _A6
-                             95 	.globl _A5
-                             96 	.globl _A4
-                             97 	.globl _A3
-                             98 	.globl _A2
-                             99 	.globl _A1
-                            100 	.globl _A0
-                            101 	.globl _EIP
-                            102 	.globl _B
-                            103 	.globl _EIE
-                            104 	.globl _ACC
-                            105 	.globl _EICON
-                            106 	.globl _PSW
-                            107 	.globl _TH2
-                            108 	.globl _TL2
-                            109 	.globl _RCAP2H
-                            110 	.globl _RCAP2L
-                            111 	.globl _T2CON
-                            112 	.globl _SBUF1
-                            113 	.globl _SCON1
-                            114 	.globl _GPIFSGLDATLNOX
-                            115 	.globl _GPIFSGLDATLX
-                            116 	.globl _GPIFSGLDATH
-                            117 	.globl _GPIFTRIG
-                            118 	.globl _EP01STAT
-                            119 	.globl _IP
-                            120 	.globl _OEE
-                            121 	.globl _OED
-                            122 	.globl _OEC
-                            123 	.globl _OEB
-                            124 	.globl _OEA
-                            125 	.globl _IOE
-                            126 	.globl _IOD
-                            127 	.globl _AUTOPTRSETUP
-                            128 	.globl _EP68FIFOFLGS
-                            129 	.globl _EP24FIFOFLGS
-                            130 	.globl _EP2468STAT
-                            131 	.globl _IE
-                            132 	.globl _INT4CLR
-                            133 	.globl _INT2CLR
-                            134 	.globl _IOC
-                            135 	.globl _AUTODAT2
-                            136 	.globl _AUTOPTRL2
-                            137 	.globl _AUTOPTRH2
-                            138 	.globl _AUTODAT1
-                            139 	.globl _APTR1L
-                            140 	.globl _APTR1H
-                            141 	.globl _SBUF0
-                            142 	.globl _SCON0
-                            143 	.globl _MPAGE
-                            144 	.globl _EXIF
-                            145 	.globl _IOB
-                            146 	.globl _CKCON
-                            147 	.globl _TH1
-                            148 	.globl _TH0
-                            149 	.globl _TL1
-                            150 	.globl _TL0
-                            151 	.globl _TMOD
-                            152 	.globl _TCON
-                            153 	.globl _PCON
-                            154 	.globl _DPS
-                            155 	.globl _DPH1
-                            156 	.globl _DPL1
-                            157 	.globl _DPH
-                            158 	.globl _DPL
-                            159 	.globl _SP
-                            160 	.globl _IOA
-                            161 	.globl _EP8FIFOBUF
-                            162 	.globl _EP6FIFOBUF
-                            163 	.globl _EP4FIFOBUF
-                            164 	.globl _EP2FIFOBUF
-                            165 	.globl _EP1INBUF
-                            166 	.globl _EP1OUTBUF
-                            167 	.globl _EP0BUF
-                            168 	.globl _CT4
-                            169 	.globl _CT3
-                            170 	.globl _CT2
-                            171 	.globl _CT1
-                            172 	.globl _USBTEST
-                            173 	.globl _TESTCFG
-                            174 	.globl _DBUG
-                            175 	.globl _UDMACRCQUAL
-                            176 	.globl _UDMACRCL
-                            177 	.globl _UDMACRCH
-                            178 	.globl _GPIFHOLDAMOUNT
-                            179 	.globl _FLOWSTBHPERIOD
-                            180 	.globl _FLOWSTBEDGE
-                            181 	.globl _FLOWSTB
-                            182 	.globl _FLOWHOLDOFF
-                            183 	.globl _FLOWEQ1CTL
-                            184 	.globl _FLOWEQ0CTL
-                            185 	.globl _FLOWLOGIC
-                            186 	.globl _FLOWSTATE
-                            187 	.globl _GPIFABORT
-                            188 	.globl _GPIFREADYSTAT
-                            189 	.globl _GPIFREADYCFG
-                            190 	.globl _XGPIFSGLDATLNOX
-                            191 	.globl _XGPIFSGLDATLX
-                            192 	.globl _XGPIFSGLDATH
-                            193 	.globl _EP8GPIFTRIG
-                            194 	.globl _EP8GPIFPFSTOP
-                            195 	.globl _EP8GPIFFLGSEL
-                            196 	.globl _EP6GPIFTRIG
-                            197 	.globl _EP6GPIFPFSTOP
-                            198 	.globl _EP6GPIFFLGSEL
-                            199 	.globl _EP4GPIFTRIG
-                            200 	.globl _EP4GPIFPFSTOP
-                            201 	.globl _EP4GPIFFLGSEL
-                            202 	.globl _EP2GPIFTRIG
-                            203 	.globl _EP2GPIFPFSTOP
-                            204 	.globl _EP2GPIFFLGSEL
-                            205 	.globl _GPIFTCB0
-                            206 	.globl _GPIFTCB1
-                            207 	.globl _GPIFTCB2
-                            208 	.globl _GPIFTCB3
-                            209 	.globl _GPIFADRL
-                            210 	.globl _GPIFADRH
-                            211 	.globl _GPIFCTLCFG
-                            212 	.globl _GPIFIDLECTL
-                            213 	.globl _GPIFIDLECS
-                            214 	.globl _GPIFWFSELECT
-                            215 	.globl _SETUPDAT
-                            216 	.globl _SUDPTRCTL
-                            217 	.globl _SUDPTRL
-                            218 	.globl _SUDPTRH
-                            219 	.globl _EP8FIFOBCL
-                            220 	.globl _EP8FIFOBCH
-                            221 	.globl _EP6FIFOBCL
-                            222 	.globl _EP6FIFOBCH
-                            223 	.globl _EP4FIFOBCL
-                            224 	.globl _EP4FIFOBCH
-                            225 	.globl _EP2FIFOBCL
-                            226 	.globl _EP2FIFOBCH
-                            227 	.globl _EP8FIFOFLGS
-                            228 	.globl _EP6FIFOFLGS
-                            229 	.globl _EP4FIFOFLGS
-                            230 	.globl _EP2FIFOFLGS
-                            231 	.globl _EP8CS
-                            232 	.globl _EP6CS
-                            233 	.globl _EP4CS
-                            234 	.globl _EP2CS
-                            235 	.globl _EP1INCS
-                            236 	.globl _EP1OUTCS
-                            237 	.globl _EP0CS
-                            238 	.globl _EP8BCL
-                            239 	.globl _EP8BCH
-                            240 	.globl _EP6BCL
-                            241 	.globl _EP6BCH
-                            242 	.globl _EP4BCL
-                            243 	.globl _EP4BCH
-                            244 	.globl _EP2BCL
-                            245 	.globl _EP2BCH
-                            246 	.globl _EP1INBC
-                            247 	.globl _EP1OUTBC
-                            248 	.globl _EP0BCL
-                            249 	.globl _EP0BCH
-                            250 	.globl _FNADDR
-                            251 	.globl _MICROFRAME
-                            252 	.globl _USBFRAMEL
-                            253 	.globl _USBFRAMEH
-                            254 	.globl _TOGCTL
-                            255 	.globl _WAKEUPCS
-                            256 	.globl _SUSPEND
-                            257 	.globl _USBCS
-                            258 	.globl _XAUTODAT2
-                            259 	.globl _XAUTODAT1
-                            260 	.globl _I2CTL
-                            261 	.globl _I2DAT
-                            262 	.globl _I2CS
-                            263 	.globl _PORTECFG
-                            264 	.globl _PORTCCFG
-                            265 	.globl _PORTACFG
-                            266 	.globl _INTSETUP
-                            267 	.globl _INT4IVEC
-                            268 	.globl _INT2IVEC
-                            269 	.globl _CLRERRCNT
-                            270 	.globl _ERRCNTLIM
-                            271 	.globl _USBERRIRQ
-                            272 	.globl _USBERRIE
-                            273 	.globl _GPIFIRQ
-                            274 	.globl _GPIFIE
-                            275 	.globl _EPIRQ
-                            276 	.globl _EPIE
-                            277 	.globl _USBIRQ
-                            278 	.globl _USBIE
-                            279 	.globl _NAKIRQ
-                            280 	.globl _NAKIE
-                            281 	.globl _IBNIRQ
-                            282 	.globl _IBNIE
-                            283 	.globl _EP8FIFOIRQ
-                            284 	.globl _EP8FIFOIE
-                            285 	.globl _EP6FIFOIRQ
-                            286 	.globl _EP6FIFOIE
-                            287 	.globl _EP4FIFOIRQ
-                            288 	.globl _EP4FIFOIE
-                            289 	.globl _EP2FIFOIRQ
-                            290 	.globl _EP2FIFOIE
-                            291 	.globl _OUTPKTEND
-                            292 	.globl _INPKTEND
-                            293 	.globl _EP8ISOINPKTS
-                            294 	.globl _EP6ISOINPKTS
-                            295 	.globl _EP4ISOINPKTS
-                            296 	.globl _EP2ISOINPKTS
-                            297 	.globl _EP8FIFOPFL
-                            298 	.globl _EP8FIFOPFH
-                            299 	.globl _EP6FIFOPFL
-                            300 	.globl _EP6FIFOPFH
-                            301 	.globl _EP4FIFOPFL
-                            302 	.globl _EP4FIFOPFH
-                            303 	.globl _EP2FIFOPFL
-                            304 	.globl _EP2FIFOPFH
-                            305 	.globl _EP8AUTOINLENL
-                            306 	.globl _EP8AUTOINLENH
-                            307 	.globl _EP6AUTOINLENL
-                            308 	.globl _EP6AUTOINLENH
-                            309 	.globl _EP4AUTOINLENL
-                            310 	.globl _EP4AUTOINLENH
-                            311 	.globl _EP2AUTOINLENL
-                            312 	.globl _EP2AUTOINLENH
-                            313 	.globl _EP8FIFOCFG
-                            314 	.globl _EP6FIFOCFG
-                            315 	.globl _EP4FIFOCFG
-                            316 	.globl _EP2FIFOCFG
-                            317 	.globl _EP8CFG
-                            318 	.globl _EP6CFG
-                            319 	.globl _EP4CFG
-                            320 	.globl _EP2CFG
-                            321 	.globl _EP1INCFG
-                            322 	.globl _EP1OUTCFG
-                            323 	.globl _REVCTL
-                            324 	.globl _REVID
-                            325 	.globl _FIFOPINPOLAR
-                            326 	.globl _UART230
-                            327 	.globl _BPADDRL
-                            328 	.globl _BPADDRH
-                            329 	.globl _BREAKPT
-                            330 	.globl _FIFORESET
-                            331 	.globl _PINFLAGSCD
-                            332 	.globl _PINFLAGSAB
-                            333 	.globl _IFCONFIG
-                            334 	.globl _CPUCS
-                            335 	.globl _RES_WAVEDATA_END
-                            336 	.globl _GPIF_WAVE_DATA
-                            337 	.globl _hook_sv
-                            338 	.globl _hook_uv
-                            339 	.globl _hook_fgv
-                            340 	.globl _setup_autovectors
-                            341 ;--------------------------------------------------------
-                            342 ; special function registers
-                            343 ;--------------------------------------------------------
-                            344 	.area RSEG    (DATA)
-                    0080    345 _IOA	=	0x0080
-                    0081    346 _SP	=	0x0081
-                    0082    347 _DPL	=	0x0082
-                    0083    348 _DPH	=	0x0083
-                    0084    349 _DPL1	=	0x0084
-                    0085    350 _DPH1	=	0x0085
-                    0086    351 _DPS	=	0x0086
-                    0087    352 _PCON	=	0x0087
-                    0088    353 _TCON	=	0x0088
-                    0089    354 _TMOD	=	0x0089
-                    008A    355 _TL0	=	0x008a
-                    008B    356 _TL1	=	0x008b
-                    008C    357 _TH0	=	0x008c
-                    008D    358 _TH1	=	0x008d
-                    008E    359 _CKCON	=	0x008e
-                    0090    360 _IOB	=	0x0090
-                    0091    361 _EXIF	=	0x0091
-                    0092    362 _MPAGE	=	0x0092
-                    0098    363 _SCON0	=	0x0098
-                    0099    364 _SBUF0	=	0x0099
-                    009A    365 _APTR1H	=	0x009a
-                    009B    366 _APTR1L	=	0x009b
-                    009C    367 _AUTODAT1	=	0x009c
-                    009D    368 _AUTOPTRH2	=	0x009d
-                    009E    369 _AUTOPTRL2	=	0x009e
-                    009F    370 _AUTODAT2	=	0x009f
-                    00A0    371 _IOC	=	0x00a0
-                    00A1    372 _INT2CLR	=	0x00a1
-                    00A2    373 _INT4CLR	=	0x00a2
-                    00A8    374 _IE	=	0x00a8
-                    00AA    375 _EP2468STAT	=	0x00aa
-                    00AB    376 _EP24FIFOFLGS	=	0x00ab
-                    00AC    377 _EP68FIFOFLGS	=	0x00ac
-                    00AF    378 _AUTOPTRSETUP	=	0x00af
-                    00B0    379 _IOD	=	0x00b0
-                    00B1    380 _IOE	=	0x00b1
-                    00B2    381 _OEA	=	0x00b2
-                    00B3    382 _OEB	=	0x00b3
-                    00B4    383 _OEC	=	0x00b4
-                    00B5    384 _OED	=	0x00b5
-                    00B6    385 _OEE	=	0x00b6
-                    00B8    386 _IP	=	0x00b8
-                    00BA    387 _EP01STAT	=	0x00ba
-                    00BB    388 _GPIFTRIG	=	0x00bb
-                    00BD    389 _GPIFSGLDATH	=	0x00bd
-                    00BE    390 _GPIFSGLDATLX	=	0x00be
-                    00BF    391 _GPIFSGLDATLNOX	=	0x00bf
-                    00C0    392 _SCON1	=	0x00c0
-                    00C1    393 _SBUF1	=	0x00c1
-                    00C8    394 _T2CON	=	0x00c8
-                    00CA    395 _RCAP2L	=	0x00ca
-                    00CB    396 _RCAP2H	=	0x00cb
-                    00CC    397 _TL2	=	0x00cc
-                    00CD    398 _TH2	=	0x00cd
-                    00D0    399 _PSW	=	0x00d0
-                    00D8    400 _EICON	=	0x00d8
-                    00E0    401 _ACC	=	0x00e0
-                    00E8    402 _EIE	=	0x00e8
-                    00F0    403 _B	=	0x00f0
-                    00F8    404 _EIP	=	0x00f8
-                            405 ;--------------------------------------------------------
-                            406 ; special function bits
-                            407 ;--------------------------------------------------------
-                            408 	.area RSEG    (DATA)
-                    0080    409 _A0	=	0x0080
-                    0081    410 _A1	=	0x0081
-                    0082    411 _A2	=	0x0082
-                    0083    412 _A3	=	0x0083
-                    0084    413 _A4	=	0x0084
-                    0085    414 _A5	=	0x0085
-                    0086    415 _A6	=	0x0086
-                    0087    416 _A7	=	0x0087
-                    0086    417 _SEL	=	0x0086
-                    0088    418 _IT0	=	0x0088
-                    0089    419 _IE0	=	0x0089
-                    008A    420 _IT1	=	0x008a
-                    008B    421 _IE1	=	0x008b
-                    008C    422 _TR0	=	0x008c
-                    008D    423 _TF0	=	0x008d
-                    008E    424 _TR1	=	0x008e
-                    008F    425 _TF1	=	0x008f
-                    0098    426 _RI	=	0x0098
-                    0099    427 _TI	=	0x0099
-                    009A    428 _RB8	=	0x009a
-                    009B    429 _TB8	=	0x009b
-                    009C    430 _REN	=	0x009c
-                    009D    431 _SM2	=	0x009d
-                    009E    432 _SM1	=	0x009e
-                    009F    433 _SM0	=	0x009f
-                    00A8    434 _EX0	=	0x00a8
-                    00A9    435 _ET0	=	0x00a9
-                    00AA    436 _EX1	=	0x00aa
-                    00AB    437 _ET1	=	0x00ab
-                    00AC    438 _ES0	=	0x00ac
-                    00AD    439 _ET2	=	0x00ad
-                    00AE    440 _ES1	=	0x00ae
-                    00AF    441 _EA	=	0x00af
-                    00B0    442 _D0	=	0x00b0
-                    00B1    443 _D1	=	0x00b1
-                    00B2    444 _D2	=	0x00b2
-                    00B3    445 _D3	=	0x00b3
-                    00B4    446 _D4	=	0x00b4
-                    00B5    447 _D5	=	0x00b5
-                    00B6    448 _D6	=	0x00b6
-                    00B7    449 _D7	=	0x00b7
-                    00B8    450 _PX0	=	0x00b8
-                    00B9    451 _PT0	=	0x00b9
-                    00BA    452 _PX1	=	0x00ba
-                    00BB    453 _PT1	=	0x00bb
-                    00BC    454 _PS0	=	0x00bc
-                    00BD    455 _PT2	=	0x00bd
-                    00BE    456 _PS1	=	0x00be
-                    00C0    457 _RI1	=	0x00c0
-                    00C1    458 _TI1	=	0x00c1
-                    00C2    459 _RB81	=	0x00c2
-                    00C3    460 _TB81	=	0x00c3
-                    00C4    461 _REN1	=	0x00c4
-                    00C5    462 _SM21	=	0x00c5
-                    00C6    463 _SM11	=	0x00c6
-                    00C7    464 _SM01	=	0x00c7
-                    00C8    465 _CP_RL2	=	0x00c8
-                    00C9    466 _C_T2	=	0x00c9
-                    00CA    467 _TR2	=	0x00ca
-                    00CB    468 _EXEN2	=	0x00cb
-                    00CC    469 _TCLK	=	0x00cc
-                    00CD    470 _RCLK	=	0x00cd
-                    00CE    471 _EXF2	=	0x00ce
-                    00CF    472 _TF2	=	0x00cf
-                    00D0    473 _P	=	0x00d0
-                    00D1    474 _FL	=	0x00d1
-                    00D2    475 _OV	=	0x00d2
-                    00D3    476 _RS0	=	0x00d3
-                    00D4    477 _RS1	=	0x00d4
-                    00D5    478 _F0	=	0x00d5
-                    00D6    479 _AC	=	0x00d6
-                    00D7    480 _CY	=	0x00d7
-                    00DB    481 _INT6	=	0x00db
-                    00DC    482 _RESI	=	0x00dc
-                    00DD    483 _ERESI	=	0x00dd
-                    00DF    484 _SMOD1	=	0x00df
-                    00E8    485 _EIUSB	=	0x00e8
-                    00E9    486 _EI2C	=	0x00e9
-                    00EA    487 _EIEX4	=	0x00ea
-                    00EB    488 _EIEX5	=	0x00eb
-                    00EC    489 _EIEX6	=	0x00ec
-                    00F8    490 _PUSB	=	0x00f8
-                    00F9    491 _PI2C	=	0x00f9
-                    00FA    492 _EIPX4	=	0x00fa
-                    00FB    493 _EIPX5	=	0x00fb
-                    00FC    494 _EIPX6	=	0x00fc
-                            495 ;--------------------------------------------------------
-                            496 ; overlayable register banks
-                            497 ;--------------------------------------------------------
-                            498 	.area REG_BANK_0	(REL,OVR,DATA)
-   0000                     499 	.ds 8
-                            500 ;--------------------------------------------------------
-                            501 ; internal ram data
-                            502 ;--------------------------------------------------------
-                            503 	.area DSEG    (DATA)
-                            504 ;--------------------------------------------------------
-                            505 ; overlayable items in internal ram 
-                            506 ;--------------------------------------------------------
-                            507 	.area	OSEG    (OVR,DATA)
-   0000                     508 _hook_sv_PARM_2::
-   0000                     509 	.ds 2
-                            510 	.area	OSEG    (OVR,DATA)
-   0000                     511 _hook_uv_PARM_2::
-   0000                     512 	.ds 2
-                            513 	.area	OSEG    (OVR,DATA)
-   0000                     514 _hook_fgv_PARM_2::
-   0000                     515 	.ds 2
-                            516 ;--------------------------------------------------------
-                            517 ; indirectly addressable internal ram data
-                            518 ;--------------------------------------------------------
-                            519 	.area ISEG    (DATA)
-                            520 ;--------------------------------------------------------
-                            521 ; absolute internal ram data
-                            522 ;--------------------------------------------------------
-                            523 	.area IABS    (ABS,DATA)
-                            524 	.area IABS    (ABS,DATA)
-                            525 ;--------------------------------------------------------
-                            526 ; bit data
-                            527 ;--------------------------------------------------------
-                            528 	.area BSEG    (BIT)
-   0000                     529 _hook_sv_t_1_1:
-   0000                     530 	.ds 1
-   0001                     531 _hook_uv_t_1_1:
-   0001                     532 	.ds 1
-   0002                     533 _hook_fgv_t_1_1:
-   0002                     534 	.ds 1
-                            535 ;--------------------------------------------------------
-                            536 ; paged external ram data
-                            537 ;--------------------------------------------------------
-                            538 	.area PSEG    (PAG,XDATA)
-                            539 ;--------------------------------------------------------
-                            540 ; external ram data
-                            541 ;--------------------------------------------------------
-                            542 	.area XSEG    (XDATA)
-                    E400    543 _GPIF_WAVE_DATA	=	0xe400
-                    E480    544 _RES_WAVEDATA_END	=	0xe480
-                    E600    545 _CPUCS	=	0xe600
-                    E601    546 _IFCONFIG	=	0xe601
-                    E602    547 _PINFLAGSAB	=	0xe602
-                    E603    548 _PINFLAGSCD	=	0xe603
-                    E604    549 _FIFORESET	=	0xe604
-                    E605    550 _BREAKPT	=	0xe605
-                    E606    551 _BPADDRH	=	0xe606
-                    E607    552 _BPADDRL	=	0xe607
-                    E608    553 _UART230	=	0xe608
-                    E609    554 _FIFOPINPOLAR	=	0xe609
-                    E60A    555 _REVID	=	0xe60a
-                    E60B    556 _REVCTL	=	0xe60b
-                    E610    557 _EP1OUTCFG	=	0xe610
-                    E611    558 _EP1INCFG	=	0xe611
-                    E612    559 _EP2CFG	=	0xe612
-                    E613    560 _EP4CFG	=	0xe613
-                    E614    561 _EP6CFG	=	0xe614
-                    E615    562 _EP8CFG	=	0xe615
-                    E618    563 _EP2FIFOCFG	=	0xe618
-                    E619    564 _EP4FIFOCFG	=	0xe619
-                    E61A    565 _EP6FIFOCFG	=	0xe61a
-                    E61B    566 _EP8FIFOCFG	=	0xe61b
-                    E620    567 _EP2AUTOINLENH	=	0xe620
-                    E621    568 _EP2AUTOINLENL	=	0xe621
-                    E622    569 _EP4AUTOINLENH	=	0xe622
-                    E623    570 _EP4AUTOINLENL	=	0xe623
-                    E624    571 _EP6AUTOINLENH	=	0xe624
-                    E625    572 _EP6AUTOINLENL	=	0xe625
-                    E626    573 _EP8AUTOINLENH	=	0xe626
-                    E627    574 _EP8AUTOINLENL	=	0xe627
-                    E630    575 _EP2FIFOPFH	=	0xe630
-                    E631    576 _EP2FIFOPFL	=	0xe631
-                    E632    577 _EP4FIFOPFH	=	0xe632
-                    E633    578 _EP4FIFOPFL	=	0xe633
-                    E634    579 _EP6FIFOPFH	=	0xe634
-                    E635    580 _EP6FIFOPFL	=	0xe635
-                    E636    581 _EP8FIFOPFH	=	0xe636
-                    E637    582 _EP8FIFOPFL	=	0xe637
-                    E640    583 _EP2ISOINPKTS	=	0xe640
-                    E641    584 _EP4ISOINPKTS	=	0xe641
-                    E642    585 _EP6ISOINPKTS	=	0xe642
-                    E643    586 _EP8ISOINPKTS	=	0xe643
-                    E648    587 _INPKTEND	=	0xe648
-                    E649    588 _OUTPKTEND	=	0xe649
-                    E650    589 _EP2FIFOIE	=	0xe650
-                    E651    590 _EP2FIFOIRQ	=	0xe651
-                    E652    591 _EP4FIFOIE	=	0xe652
-                    E653    592 _EP4FIFOIRQ	=	0xe653
-                    E654    593 _EP6FIFOIE	=	0xe654
-                    E655    594 _EP6FIFOIRQ	=	0xe655
-                    E656    595 _EP8FIFOIE	=	0xe656
-                    E657    596 _EP8FIFOIRQ	=	0xe657
-                    E658    597 _IBNIE	=	0xe658
-                    E659    598 _IBNIRQ	=	0xe659
-                    E65A    599 _NAKIE	=	0xe65a
-                    E65B    600 _NAKIRQ	=	0xe65b
-                    E65C    601 _USBIE	=	0xe65c
-                    E65D    602 _USBIRQ	=	0xe65d
-                    E65E    603 _EPIE	=	0xe65e
-                    E65F    604 _EPIRQ	=	0xe65f
-                    E660    605 _GPIFIE	=	0xe660
-                    E661    606 _GPIFIRQ	=	0xe661
-                    E662    607 _USBERRIE	=	0xe662
-                    E663    608 _USBERRIRQ	=	0xe663
-                    E664    609 _ERRCNTLIM	=	0xe664
-                    E665    610 _CLRERRCNT	=	0xe665
-                    E666    611 _INT2IVEC	=	0xe666
-                    E667    612 _INT4IVEC	=	0xe667
-                    E668    613 _INTSETUP	=	0xe668
-                    E670    614 _PORTACFG	=	0xe670
-                    E671    615 _PORTCCFG	=	0xe671
-                    E672    616 _PORTECFG	=	0xe672
-                    E678    617 _I2CS	=	0xe678
-                    E679    618 _I2DAT	=	0xe679
-                    E67A    619 _I2CTL	=	0xe67a
-                    E67B    620 _XAUTODAT1	=	0xe67b
-                    E67C    621 _XAUTODAT2	=	0xe67c
-                    E680    622 _USBCS	=	0xe680
-                    E681    623 _SUSPEND	=	0xe681
-                    E682    624 _WAKEUPCS	=	0xe682
-                    E683    625 _TOGCTL	=	0xe683
-                    E684    626 _USBFRAMEH	=	0xe684
-                    E685    627 _USBFRAMEL	=	0xe685
-                    E686    628 _MICROFRAME	=	0xe686
-                    E687    629 _FNADDR	=	0xe687
-                    E68A    630 _EP0BCH	=	0xe68a
-                    E68B    631 _EP0BCL	=	0xe68b
-                    E68D    632 _EP1OUTBC	=	0xe68d
-                    E68F    633 _EP1INBC	=	0xe68f
-                    E690    634 _EP2BCH	=	0xe690
-                    E691    635 _EP2BCL	=	0xe691
-                    E694    636 _EP4BCH	=	0xe694
-                    E695    637 _EP4BCL	=	0xe695
-                    E698    638 _EP6BCH	=	0xe698
-                    E699    639 _EP6BCL	=	0xe699
-                    E69C    640 _EP8BCH	=	0xe69c
-                    E69D    641 _EP8BCL	=	0xe69d
-                    E6A0    642 _EP0CS	=	0xe6a0
-                    E6A1    643 _EP1OUTCS	=	0xe6a1
-                    E6A2    644 _EP1INCS	=	0xe6a2
-                    E6A3    645 _EP2CS	=	0xe6a3
-                    E6A4    646 _EP4CS	=	0xe6a4
-                    E6A5    647 _EP6CS	=	0xe6a5
-                    E6A6    648 _EP8CS	=	0xe6a6
-                    E6A7    649 _EP2FIFOFLGS	=	0xe6a7
-                    E6A8    650 _EP4FIFOFLGS	=	0xe6a8
-                    E6A9    651 _EP6FIFOFLGS	=	0xe6a9
-                    E6AA    652 _EP8FIFOFLGS	=	0xe6aa
-                    E6AB    653 _EP2FIFOBCH	=	0xe6ab
-                    E6AC    654 _EP2FIFOBCL	=	0xe6ac
-                    E6AD    655 _EP4FIFOBCH	=	0xe6ad
-                    E6AE    656 _EP4FIFOBCL	=	0xe6ae
-                    E6AF    657 _EP6FIFOBCH	=	0xe6af
-                    E6B0    658 _EP6FIFOBCL	=	0xe6b0
-                    E6B1    659 _EP8FIFOBCH	=	0xe6b1
-                    E6B2    660 _EP8FIFOBCL	=	0xe6b2
-                    E6B3    661 _SUDPTRH	=	0xe6b3
-                    E6B4    662 _SUDPTRL	=	0xe6b4
-                    E6B5    663 _SUDPTRCTL	=	0xe6b5
-                    E6B8    664 _SETUPDAT	=	0xe6b8
-                    E6C0    665 _GPIFWFSELECT	=	0xe6c0
-                    E6C1    666 _GPIFIDLECS	=	0xe6c1
-                    E6C2    667 _GPIFIDLECTL	=	0xe6c2
-                    E6C3    668 _GPIFCTLCFG	=	0xe6c3
-                    E6C4    669 _GPIFADRH	=	0xe6c4
-                    E6C5    670 _GPIFADRL	=	0xe6c5
-                    E6CE    671 _GPIFTCB3	=	0xe6ce
-                    E6CF    672 _GPIFTCB2	=	0xe6cf
-                    E6D0    673 _GPIFTCB1	=	0xe6d0
-                    E6D1    674 _GPIFTCB0	=	0xe6d1
-                    E6D2    675 _EP2GPIFFLGSEL	=	0xe6d2
-                    E6D3    676 _EP2GPIFPFSTOP	=	0xe6d3
-                    E6D4    677 _EP2GPIFTRIG	=	0xe6d4
-                    E6DA    678 _EP4GPIFFLGSEL	=	0xe6da
-                    E6DB    679 _EP4GPIFPFSTOP	=	0xe6db
-                    E6DC    680 _EP4GPIFTRIG	=	0xe6dc
-                    E6E2    681 _EP6GPIFFLGSEL	=	0xe6e2
-                    E6E3    682 _EP6GPIFPFSTOP	=	0xe6e3
-                    E6E4    683 _EP6GPIFTRIG	=	0xe6e4
-                    E6EA    684 _EP8GPIFFLGSEL	=	0xe6ea
-                    E6EB    685 _EP8GPIFPFSTOP	=	0xe6eb
-                    E6EC    686 _EP8GPIFTRIG	=	0xe6ec
-                    E6F0    687 _XGPIFSGLDATH	=	0xe6f0
-                    E6F1    688 _XGPIFSGLDATLX	=	0xe6f1
-                    E6F2    689 _XGPIFSGLDATLNOX	=	0xe6f2
-                    E6F3    690 _GPIFREADYCFG	=	0xe6f3
-                    E6F4    691 _GPIFREADYSTAT	=	0xe6f4
-                    E6F5    692 _GPIFABORT	=	0xe6f5
-                    E6C6    693 _FLOWSTATE	=	0xe6c6
-                    E6C7    694 _FLOWLOGIC	=	0xe6c7
-                    E6C8    695 _FLOWEQ0CTL	=	0xe6c8
-                    E6C9    696 _FLOWEQ1CTL	=	0xe6c9
-                    E6CA    697 _FLOWHOLDOFF	=	0xe6ca
-                    E6CB    698 _FLOWSTB	=	0xe6cb
-                    E6CC    699 _FLOWSTBEDGE	=	0xe6cc
-                    E6CD    700 _FLOWSTBHPERIOD	=	0xe6cd
-                    E60C    701 _GPIFHOLDAMOUNT	=	0xe60c
-                    E67D    702 _UDMACRCH	=	0xe67d
-                    E67E    703 _UDMACRCL	=	0xe67e
-                    E67F    704 _UDMACRCQUAL	=	0xe67f
-                    E6F8    705 _DBUG	=	0xe6f8
-                    E6F9    706 _TESTCFG	=	0xe6f9
-                    E6FA    707 _USBTEST	=	0xe6fa
-                    E6FB    708 _CT1	=	0xe6fb
-                    E6FC    709 _CT2	=	0xe6fc
-                    E6FD    710 _CT3	=	0xe6fd
-                    E6FE    711 _CT4	=	0xe6fe
-                    E740    712 _EP0BUF	=	0xe740
-                    E780    713 _EP1OUTBUF	=	0xe780
-                    E7C0    714 _EP1INBUF	=	0xe7c0
-                    F000    715 _EP2FIFOBUF	=	0xf000
-                    F400    716 _EP4FIFOBUF	=	0xf400
-                    F800    717 _EP6FIFOBUF	=	0xf800
-                    FC00    718 _EP8FIFOBUF	=	0xfc00
-                            719 ;--------------------------------------------------------
-                            720 ; absolute external ram data
-                            721 ;--------------------------------------------------------
-                            722 	.area XABS    (ABS,XDATA)
-                            723 ;--------------------------------------------------------
-                            724 ; external initialized ram data
-                            725 ;--------------------------------------------------------
-                            726 	.area HOME    (CODE)
-                            727 	.area GSINIT0 (CODE)
-                            728 	.area GSINIT1 (CODE)
-                            729 	.area GSINIT2 (CODE)
-                            730 	.area GSINIT3 (CODE)
-                            731 	.area GSINIT4 (CODE)
-                            732 	.area GSINIT5 (CODE)
-                            733 	.area GSINIT  (CODE)
-                            734 	.area GSFINAL (CODE)
-                            735 	.area CSEG    (CODE)
-                            736 ;--------------------------------------------------------
-                            737 ; global & static initialisations
-                            738 ;--------------------------------------------------------
-                            739 	.area HOME    (CODE)
-                            740 	.area GSINIT  (CODE)
-                            741 	.area GSFINAL (CODE)
-                            742 	.area GSINIT  (CODE)
-                            743 ;--------------------------------------------------------
-                            744 ; Home
-                            745 ;--------------------------------------------------------
-                            746 	.area HOME    (CODE)
-                            747 	.area HOME    (CODE)
-                            748 ;--------------------------------------------------------
-                            749 ; code
-                            750 ;--------------------------------------------------------
-                            751 	.area CSEG    (CODE)
-                            752 ;------------------------------------------------------------
-                            753 ;Allocation info for local variables in function 'hook_sv'
-                            754 ;------------------------------------------------------------
-                            755 ;addr                      Allocated with name '_hook_sv_PARM_2'
-                            756 ;vector_number             Allocated to registers r2 
-                            757 ;------------------------------------------------------------
-                            758 ;	isr.c:40: hook_sv (unsigned char vector_number, unsigned short addr)
-                            759 ;	-----------------------------------------
-                            760 ;	 function hook_sv
-                            761 ;	-----------------------------------------
-   0000                     762 _hook_sv:
-                    0002    763 	ar2 = 0x02
-                    0003    764 	ar3 = 0x03
-                    0004    765 	ar4 = 0x04
-                    0005    766 	ar5 = 0x05
-                    0006    767 	ar6 = 0x06
-                    0007    768 	ar7 = 0x07
-                    0000    769 	ar0 = 0x00
-                    0001    770 	ar1 = 0x01
-   0000 AA 82               771 	mov	r2,dpl
-                            772 ;	isr.c:46: if (vector_number < SV_MIN || vector_number > SV_MAX)
-   0002 BA 03 00            773 	cjne	r2,#0x03,00112$
-   0005                     774 00112$:
-   0005 40 05               775 	jc	00101$
-   0007 EA                  776 	mov	a,r2
-   0008 24 9C               777 	add	a,#0xff - 0x63
-   000A 50 01               778 	jnc	00102$
-   000C                     779 00101$:
-                            780 ;	isr.c:47: return;
-   000C 22                  781 	ret
-   000D                     782 00102$:
-                            783 ;	isr.c:49: if ((vector_number & 0x0f) != 0x03 && (vector_number & 0x0f) != 0x0b)
-   000D 74 0F               784 	mov	a,#0x0F
-   000F 5A                  785 	anl	a,r2
-   0010 FB                  786 	mov	r3,a
-   0011 BB 03 02            787 	cjne	r3,#0x03,00115$
-   0014 80 07               788 	sjmp	00105$
-   0016                     789 00115$:
-   0016 74 0F               790 	mov	a,#0x0F
-   0018 5A                  791 	anl	a,r2
-   0019 FB                  792 	mov	r3,a
-                            793 ;	isr.c:50: return;
-   001A BB 0B 45            794 	cjne	r3,#0x0B,00107$
-   001D                     795 00105$:
-                            796 ;	isr.c:52: t = EA;
-   001D A2 AF               797 	mov	c,_EA
-   001F 92*00               798 	mov	_hook_sv_t_1_1,c
-                            799 ;	isr.c:53: EA = 0;
-   0021 C2 AF               800 	clr	_EA
-                            801 ;	isr.c:54: _standard_interrupt_vector[vector_number] = LJMP_OPCODE;
-   0023 EA                  802 	mov	a,r2
-   0024 24r00               803 	add	a,#__standard_interrupt_vector
-   0026 F5 82               804 	mov	dpl,a
-   0028 E4                  805 	clr	a
-   0029 34s00               806 	addc	a,#(__standard_interrupt_vector >> 8)
-   002B F5 83               807 	mov	dph,a
-   002D 74 02               808 	mov	a,#0x02
-   002F F0                  809 	movx	@dptr,a
-                            810 ;	isr.c:55: _standard_interrupt_vector[vector_number + 1] = addr >> 8;
-   0030 7B 00               811 	mov	r3,#0x00
-   0032 74 01               812 	mov	a,#0x01
-   0034 2A                  813 	add	a,r2
-   0035 FC                  814 	mov	r4,a
-   0036 E4                  815 	clr	a
-   0037 3B                  816 	addc	a,r3
-   0038 FD                  817 	mov	r5,a
-   0039 EC                  818 	mov	a,r4
-   003A 24r00               819 	add	a,#__standard_interrupt_vector
-   003C F5 82               820 	mov	dpl,a
-   003E ED                  821 	mov	a,r5
-   003F 34s00               822 	addc	a,#(__standard_interrupt_vector >> 8)
-   0041 F5 83               823 	mov	dph,a
-   0043 E5*01               824 	mov	a,(_hook_sv_PARM_2 + 1)
-   0045 FC                  825 	mov	r4,a
-   0046 F0                  826 	movx	@dptr,a
-                            827 ;	isr.c:56: _standard_interrupt_vector[vector_number + 2] = addr & 0xff;
-   0047 74 02               828 	mov	a,#0x02
-   0049 2A                  829 	add	a,r2
-   004A FA                  830 	mov	r2,a
-   004B E4                  831 	clr	a
-   004C 3B                  832 	addc	a,r3
-   004D FB                  833 	mov	r3,a
-   004E EA                  834 	mov	a,r2
-   004F 24r00               835 	add	a,#__standard_interrupt_vector
-   0051 F5 82               836 	mov	dpl,a
-   0053 EB                  837 	mov	a,r3
-   0054 34s00               838 	addc	a,#(__standard_interrupt_vector >> 8)
-   0056 F5 83               839 	mov	dph,a
-   0058 AA*00               840 	mov	r2,_hook_sv_PARM_2
-   005A 7B 00               841 	mov	r3,#0x00
-   005C EA                  842 	mov	a,r2
-   005D F0                  843 	movx	@dptr,a
-                            844 ;	isr.c:57: EA = t;
-   005E A2*00               845 	mov	c,_hook_sv_t_1_1
-   0060 92 AF               846 	mov	_EA,c
-   0062                     847 00107$:
-   0062 22                  848 	ret
-                            849 ;------------------------------------------------------------
-                            850 ;Allocation info for local variables in function 'hook_uv'
-                            851 ;------------------------------------------------------------
-                            852 ;addr                      Allocated with name '_hook_uv_PARM_2'
-                            853 ;vector_number             Allocated to registers r2 
-                            854 ;------------------------------------------------------------
-                            855 ;	isr.c:67: hook_uv (unsigned char vector_number, unsigned short addr)
-                            856 ;	-----------------------------------------
-                            857 ;	 function hook_uv
-                            858 ;	-----------------------------------------
-   0063                     859 _hook_uv:
-                            860 ;	isr.c:73: if (vector_number < UV_MIN || vector_number > UV_MAX)
-   0063 E5 82               861 	mov	a,dpl
-   0065 FA                  862 	mov	r2,a
-   0066 24 83               863 	add	a,#0xff - 0x7C
-   0068 50 01               864 	jnc	00102$
-                            865 ;	isr.c:74: return;
-   006A 22                  866 	ret
-   006B                     867 00102$:
-                            868 ;	isr.c:76: if ((vector_number & 0x3) != 0)
-   006B EA                  869 	mov	a,r2
-   006C 54 03               870 	anl	a,#0x03
-   006E 60 01               871 	jz	00105$
-                            872 ;	isr.c:77: return;
-   0070 22                  873 	ret
-   0071                     874 00105$:
-                            875 ;	isr.c:79: t = EA;
-   0071 A2 AF               876 	mov	c,_EA
-   0073 92*01               877 	mov	_hook_uv_t_1_1,c
-                            878 ;	isr.c:80: EA = 0;
-   0075 C2 AF               879 	clr	_EA
-                            880 ;	isr.c:81: _usb_autovector[vector_number] = LJMP_OPCODE;
-   0077 EA                  881 	mov	a,r2
-   0078 24r00               882 	add	a,#__usb_autovector
-   007A F5 82               883 	mov	dpl,a
-   007C E4                  884 	clr	a
-   007D 34s00               885 	addc	a,#(__usb_autovector >> 8)
-   007F F5 83               886 	mov	dph,a
-   0081 74 02               887 	mov	a,#0x02
-   0083 F0                  888 	movx	@dptr,a
-                            889 ;	isr.c:82: _usb_autovector[vector_number + 1] = addr >> 8;
-   0084 7B 00               890 	mov	r3,#0x00
-   0086 74 01               891 	mov	a,#0x01
-   0088 2A                  892 	add	a,r2
-   0089 FC                  893 	mov	r4,a
-   008A E4                  894 	clr	a
-   008B 3B                  895 	addc	a,r3
-   008C FD                  896 	mov	r5,a
-   008D EC                  897 	mov	a,r4
-   008E 24r00               898 	add	a,#__usb_autovector
-   0090 F5 82               899 	mov	dpl,a
-   0092 ED                  900 	mov	a,r5
-   0093 34s00               901 	addc	a,#(__usb_autovector >> 8)
-   0095 F5 83               902 	mov	dph,a
-   0097 E5*01               903 	mov	a,(_hook_uv_PARM_2 + 1)
-   0099 F0                  904 	movx	@dptr,a
-                            905 ;	isr.c:83: _usb_autovector[vector_number + 2] = addr & 0xff;
-   009A 74 02               906 	mov	a,#0x02
-   009C 2A                  907 	add	a,r2
-   009D FA                  908 	mov	r2,a
-   009E E4                  909 	clr	a
-   009F 3B                  910 	addc	a,r3
-   00A0 FB                  911 	mov	r3,a
-   00A1 EA                  912 	mov	a,r2
-   00A2 24r00               913 	add	a,#__usb_autovector
-   00A4 F5 82               914 	mov	dpl,a
-   00A6 EB                  915 	mov	a,r3
-   00A7 34s00               916 	addc	a,#(__usb_autovector >> 8)
-   00A9 F5 83               917 	mov	dph,a
-   00AB AA*00               918 	mov	r2,_hook_uv_PARM_2
-   00AD EA                  919 	mov	a,r2
-   00AE F0                  920 	movx	@dptr,a
-                            921 ;	isr.c:84: EA = t;
-   00AF A2*01               922 	mov	c,_hook_uv_t_1_1
-   00B1 92 AF               923 	mov	_EA,c
-   00B3 22                  924 	ret
-                            925 ;------------------------------------------------------------
-                            926 ;Allocation info for local variables in function 'hook_fgv'
-                            927 ;------------------------------------------------------------
-                            928 ;addr                      Allocated with name '_hook_fgv_PARM_2'
-                            929 ;vector_number             Allocated to registers r2 
-                            930 ;------------------------------------------------------------
-                            931 ;	isr.c:94: hook_fgv (unsigned char vector_number, unsigned short addr)
-                            932 ;	-----------------------------------------
-                            933 ;	 function hook_fgv
-                            934 ;	-----------------------------------------
-   00B4                     935 _hook_fgv:
-   00B4 AA 82               936 	mov	r2,dpl
-                            937 ;	isr.c:100: if (vector_number < FGV_MIN || vector_number > FGV_MAX)
-   00B6 BA 80 00            938 	cjne	r2,#0x80,00110$
-   00B9                     939 00110$:
-   00B9 40 05               940 	jc	00101$
-   00BB EA                  941 	mov	a,r2
-   00BC 24 4B               942 	add	a,#0xff - 0xB4
-   00BE 50 01               943 	jnc	00102$
-   00C0                     944 00101$:
-                            945 ;	isr.c:101: return;
-   00C0 22                  946 	ret
-   00C1                     947 00102$:
-                            948 ;	isr.c:103: if ((vector_number & 0x3) != 0)
-   00C1 EA                  949 	mov	a,r2
-   00C2 54 03               950 	anl	a,#0x03
-   00C4 60 01               951 	jz	00105$
-                            952 ;	isr.c:104: return;
-   00C6 22                  953 	ret
-   00C7                     954 00105$:
-                            955 ;	isr.c:106: t = EA;
-   00C7 A2 AF               956 	mov	c,_EA
-   00C9 92*02               957 	mov	_hook_fgv_t_1_1,c
-                            958 ;	isr.c:107: EA = 0;
-   00CB C2 AF               959 	clr	_EA
-                            960 ;	isr.c:108: _fifo_gpif_autovector[vector_number] = LJMP_OPCODE;
-   00CD EA                  961 	mov	a,r2
-   00CE 24r00               962 	add	a,#__fifo_gpif_autovector
-   00D0 F5 82               963 	mov	dpl,a
-   00D2 E4                  964 	clr	a
-   00D3 34s00               965 	addc	a,#(__fifo_gpif_autovector >> 8)
-   00D5 F5 83               966 	mov	dph,a
-   00D7 74 02               967 	mov	a,#0x02
-   00D9 F0                  968 	movx	@dptr,a
-                            969 ;	isr.c:109: _fifo_gpif_autovector[vector_number + 1] = addr >> 8;
-   00DA 7B 00               970 	mov	r3,#0x00
-   00DC 74 01               971 	mov	a,#0x01
-   00DE 2A                  972 	add	a,r2
-   00DF FC                  973 	mov	r4,a
-   00E0 E4                  974 	clr	a
-   00E1 3B                  975 	addc	a,r3
-   00E2 FD                  976 	mov	r5,a
-   00E3 EC                  977 	mov	a,r4
-   00E4 24r00               978 	add	a,#__fifo_gpif_autovector
-   00E6 F5 82               979 	mov	dpl,a
-   00E8 ED                  980 	mov	a,r5
-   00E9 34s00               981 	addc	a,#(__fifo_gpif_autovector >> 8)
-   00EB F5 83               982 	mov	dph,a
-   00ED E5*01               983 	mov	a,(_hook_fgv_PARM_2 + 1)
-   00EF F0                  984 	movx	@dptr,a
-                            985 ;	isr.c:110: _fifo_gpif_autovector[vector_number + 2] = addr & 0xff;
-   00F0 74 02               986 	mov	a,#0x02
-   00F2 2A                  987 	add	a,r2
-   00F3 FA                  988 	mov	r2,a
-   00F4 E4                  989 	clr	a
-   00F5 3B                  990 	addc	a,r3
-   00F6 FB                  991 	mov	r3,a
-   00F7 EA                  992 	mov	a,r2
-   00F8 24r00               993 	add	a,#__fifo_gpif_autovector
-   00FA F5 82               994 	mov	dpl,a
-   00FC EB                  995 	mov	a,r3
-   00FD 34s00               996 	addc	a,#(__fifo_gpif_autovector >> 8)
-   00FF F5 83               997 	mov	dph,a
-   0101 AA*00               998 	mov	r2,_hook_fgv_PARM_2
-   0103 EA                  999 	mov	a,r2
-   0104 F0                 1000 	movx	@dptr,a
-                           1001 ;	isr.c:111: EA = t;
-   0105 A2*02              1002 	mov	c,_hook_fgv_t_1_1
-   0107 92 AF              1003 	mov	_EA,c
-   0109 22                 1004 	ret
-                           1005 ;------------------------------------------------------------
-                           1006 ;Allocation info for local variables in function 'setup_autovectors'
-                           1007 ;------------------------------------------------------------
-                           1008 ;------------------------------------------------------------
-                           1009 ;	isr.c:122: setup_autovectors (void)
-                           1010 ;	-----------------------------------------
-                           1011 ;	 function setup_autovectors
-                           1012 ;	-----------------------------------------
-   010A                    1013 _setup_autovectors:
-                           1014 ;	isr.c:125: EIUSB = 0;
-   010A C2 E8              1015 	clr	_EIUSB
-                           1016 ;	isr.c:126: EIEX4 = 0;
-   010C C2 EA              1017 	clr	_EIEX4
-                           1018 ;	isr.c:128: hook_sv (SV_INT_2, (unsigned short) _usb_autovector);
-   010E 75*00r00           1019 	mov	_hook_sv_PARM_2,#__usb_autovector
-   0111 75*01s00           1020 	mov	(_hook_sv_PARM_2 + 1),#(__usb_autovector >> 8)
-   0114 75 82 43           1021 	mov	dpl,#0x43
-   0117 12s00r00           1022 	lcall	_hook_sv
-                           1023 ;	isr.c:129: hook_sv (SV_INT_4, (unsigned short) _fifo_gpif_autovector);
-   011A 75*00r00           1024 	mov	_hook_sv_PARM_2,#__fifo_gpif_autovector
-   011D 75*01s00           1025 	mov	(_hook_sv_PARM_2 + 1),#(__fifo_gpif_autovector >> 8)
-   0120 75 82 53           1026 	mov	dpl,#0x53
-   0123 12s00r00           1027 	lcall	_hook_sv
-                           1028 ;	isr.c:132: SYNCDELAY;
-   0126 00                 1029 	 nop; nop; nop; 
-                           1030 ;	isr.c:133: EP2FIFOIE = 0;	SYNCDELAY;
-   0127 90 E6 50           1031 	mov	dptr,#_EP2FIFOIE
-   012A E4                 1032 	clr	a
-   012B F0                 1033 	movx	@dptr,a
-   012C 00                 1034 	 nop; nop; nop; 
-                           1035 ;	isr.c:134: EP4FIFOIE = 0;	SYNCDELAY;
-   012D 90 E6 52           1036 	mov	dptr,#_EP4FIFOIE
-   0130 E4                 1037 	clr	a
-   0131 F0                 1038 	movx	@dptr,a
-   0132 00                 1039 	 nop; nop; nop; 
-                           1040 ;	isr.c:135: EP6FIFOIE = 0;	SYNCDELAY;
-   0133 90 E6 54           1041 	mov	dptr,#_EP6FIFOIE
-   0136 E4                 1042 	clr	a
-   0137 F0                 1043 	movx	@dptr,a
-   0138 00                 1044 	 nop; nop; nop; 
-                           1045 ;	isr.c:136: EP8FIFOIE = 0;	SYNCDELAY;
-   0139 90 E6 56           1046 	mov	dptr,#_EP8FIFOIE
-   013C E4                 1047 	clr	a
-   013D F0                 1048 	movx	@dptr,a
-   013E 00                 1049 	 nop; nop; nop; 
-                           1050 ;	isr.c:139: EP2FIFOIRQ = 0xff;	SYNCDELAY;
-   013F 90 E6 51           1051 	mov	dptr,#_EP2FIFOIRQ
-   0142 74 FF              1052 	mov	a,#0xFF
-   0144 F0                 1053 	movx	@dptr,a
-   0145 00                 1054 	 nop; nop; nop; 
-                           1055 ;	isr.c:140: EP4FIFOIRQ = 0xff;	SYNCDELAY;
-   0146 90 E6 53           1056 	mov	dptr,#_EP4FIFOIRQ
-   0149 74 FF              1057 	mov	a,#0xFF
-   014B F0                 1058 	movx	@dptr,a
-   014C 00                 1059 	 nop; nop; nop; 
-                           1060 ;	isr.c:141: EP6FIFOIRQ = 0xff;	SYNCDELAY;
-   014D 90 E6 55           1061 	mov	dptr,#_EP6FIFOIRQ
-   0150 74 FF              1062 	mov	a,#0xFF
-   0152 F0                 1063 	movx	@dptr,a
-   0153 00                 1064 	 nop; nop; nop; 
-                           1065 ;	isr.c:142: EP8FIFOIRQ = 0xff;	SYNCDELAY;
-   0154 90 E6 57           1066 	mov	dptr,#_EP8FIFOIRQ
-   0157 74 FF              1067 	mov	a,#0xFF
-   0159 F0                 1068 	movx	@dptr,a
-   015A 00                 1069 	 nop; nop; nop; 
-                           1070 ;	isr.c:144: IBNIE  = 0;
-   015B 90 E6 58           1071 	mov	dptr,#_IBNIE
-   015E E4                 1072 	clr	a
-   015F F0                 1073 	movx	@dptr,a
-                           1074 ;	isr.c:145: IBNIRQ = 0xff;
-   0160 90 E6 59           1075 	mov	dptr,#_IBNIRQ
-   0163 74 FF              1076 	mov	a,#0xFF
-   0165 F0                 1077 	movx	@dptr,a
-                           1078 ;	isr.c:146: NAKIE  = 0;
-   0166 90 E6 5A           1079 	mov	dptr,#_NAKIE
-   0169 E4                 1080 	clr	a
-   016A F0                 1081 	movx	@dptr,a
-                           1082 ;	isr.c:147: NAKIRQ = 0xff;
-   016B 90 E6 5B           1083 	mov	dptr,#_NAKIRQ
-   016E 74 FF              1084 	mov	a,#0xFF
-   0170 F0                 1085 	movx	@dptr,a
-                           1086 ;	isr.c:148: USBIE  = 0;
-   0171 90 E6 5C           1087 	mov	dptr,#_USBIE
-   0174 E4                 1088 	clr	a
-   0175 F0                 1089 	movx	@dptr,a
-                           1090 ;	isr.c:149: USBIRQ = 0xff;
-   0176 90 E6 5D           1091 	mov	dptr,#_USBIRQ
-   0179 74 FF              1092 	mov	a,#0xFF
-   017B F0                 1093 	movx	@dptr,a
-                           1094 ;	isr.c:150: EPIE   = 0;
-   017C 90 E6 5E           1095 	mov	dptr,#_EPIE
-   017F E4                 1096 	clr	a
-   0180 F0                 1097 	movx	@dptr,a
-                           1098 ;	isr.c:151: EPIRQ  = 0xff;
-   0181 90 E6 5F           1099 	mov	dptr,#_EPIRQ
-   0184 74 FF              1100 	mov	a,#0xFF
-   0186 F0                 1101 	movx	@dptr,a
-                           1102 ;	isr.c:152: SYNCDELAY;	GPIFIE = 0;		
-   0187 00                 1103 	 nop; nop; nop; 
-   0188 90 E6 60           1104 	mov	dptr,#_GPIFIE
-   018B E4                 1105 	clr	a
-   018C F0                 1106 	movx	@dptr,a
-                           1107 ;	isr.c:153: SYNCDELAY;	GPIFIRQ = 0xff;
-   018D 00                 1108 	 nop; nop; nop; 
-   018E 90 E6 61           1109 	mov	dptr,#_GPIFIRQ
-   0191 74 FF              1110 	mov	a,#0xFF
-   0193 F0                 1111 	movx	@dptr,a
-                           1112 ;	isr.c:154: USBERRIE = 0;
-   0194 90 E6 62           1113 	mov	dptr,#_USBERRIE
-   0197 E4                 1114 	clr	a
-   0198 F0                 1115 	movx	@dptr,a
-                           1116 ;	isr.c:155: USBERRIRQ = 0xff;
-   0199 90 E6 63           1117 	mov	dptr,#_USBERRIRQ
-   019C 74 FF              1118 	mov	a,#0xFF
-   019E F0                 1119 	movx	@dptr,a
-                           1120 ;	isr.c:156: CLRERRCNT = 0;
-   019F 90 E6 65           1121 	mov	dptr,#_CLRERRCNT
-   01A2 E4                 1122 	clr	a
-   01A3 F0                 1123 	movx	@dptr,a
-                           1124 ;	isr.c:158: INTSETUP = bmAV2EN | bmAV4EN | bmINT4IN;
-   01A4 90 E6 68           1125 	mov	dptr,#_INTSETUP
-   01A7 74 0B              1126 	mov	a,#0x0B
-   01A9 F0                 1127 	movx	@dptr,a
-                           1128 ;	isr.c:161: EXIF &= ~bmEXIF_USBINT;
-                           1129 ;	isr.c:162: EXIF &= ~bmEXIF_IE4;
-   01AA 53 91 AF           1130 	anl	_EXIF,#(0xEF&0xBF)
-                           1131 ;	isr.c:165: EIUSB = 1;
-   01AD D2 E8              1132 	setb	_EIUSB
-                           1133 ;	isr.c:166: EIEX4 = 1;
-   01AF D2 EA              1134 	setb	_EIEX4
-   01B1 22                 1135 	ret
-                           1136 	.area CSEG    (CODE)
-                           1137 	.area CONST   (CODE)
-                           1138 	.area CABS    (ABS,CODE)
diff --git a/firmware/GN3S_v2/lib/isr.rel b/firmware/GN3S_v2/lib/isr.rel
deleted file mode 100644
index ab45bba..0000000
--- a/firmware/GN3S_v2/lib/isr.rel
+++ /dev/null
@@ -1,513 +0,0 @@
-XH
-H 17 areas 14C global symbols
-M isr
-O -mmcs51 --model-small
-S _EP8FIFOCFG DefE61B
-S _EPIRQ DefE65F
-S _USBERRIE DefE662
-S _EP6CS DefE6A5
-S _GPIFHOLDAMOUNT DefE60C
-S _SBUF1 Def00C1
-S _EIEX6 Def00EC
-S _EP1INBC DefE68F
-S _EP8FIFOBCL DefE6B2
-S _DBUG DefE6F8
-S _B Def00F0
-S _EXEN2 Def00CB
-S _EPIE DefE65E
-S _WAKEUPCS DefE682
-S _EP1OUTBC DefE68D
-S _EP8CS DefE6A6
-S _EP2GPIFTRIG DefE6D4
-S _SP Def0081
-S _SCON0 Def0098
-S _AUTODAT1 Def009C
-S _EI2C Def00E9
-S _INT2IVEC DefE666
-S _AUTODAT2 Def009F
-S _SCON1 Def00C0
-S _SMOD1 Def00DF
-S _MICROFRAME DefE686
-S _SUDPTRCTL DefE6B5
-S _EP4GPIFTRIG DefE6DC
-S _EP2468STAT Def00AA
-S _OV Def00D2
-S _INT4IVEC DefE667
-S _GPIFSGLDATLNOX Def00BF
-S _T2CON Def00C8
-S _EP6GPIFTRIG DefE6E4
-S _ACC Def00E0
-S _EP2FIFOBUF DefF000
-S _C_T2 Def00C9
-S _BREAKPT DefE605
-S _EP2FIFOPFH DefE630
-S _EP8GPIFTRIG DefE6EC
-S _AUTOPTRH2 Def009D
-S _SETUPDAT DefE6B8
-S _EP2GPIFFLGSEL DefE6D2
-S _EP4FIFOBUF DefF400
-S _EIPX4 Def00FA
-S _EP4FIFOPFH DefE632
-S _EP2ISOINPKTS DefE640
-S _GPIFREADYCFG DefE6F3
-S _EIPX5 Def00FB
-S _EP4GPIFFLGSEL DefE6DA
-S _FLOWSTBHPERIOD DefE6CD
-S _EP6FIFOBUF DefF800
-S _EXIF Def0091
-S _RCLK Def00CD
-S _EIPX6 Def00FC
-S _EP2FIFOPFL DefE631
-S _EP6FIFOPFH DefE634
-S _EP4ISOINPKTS DefE641
-S _DPH1 Def0085
-S _AUTOPTRL2 Def009E
-S __standard_interrupt_vector Ref0000
-S _EP6GPIFFLGSEL DefE6E2
-S _EP8FIFOBUF DefFC00
-S _TCLK Def00CC
-S _PI2C Def00F9
-S _EP4FIFOPFL DefE633
-S _EP8FIFOPFH DefE636
-S _EP6ISOINPKTS DefE642
-S _FNADDR DefE687
-S _EP8GPIFFLGSEL DefE6EA
-S _TESTCFG DefE6F9
-S _PCON Def0087
-S _P Def00D0
-S _GPIF_WAVE_DATA DefE400
-S _EP6FIFOPFL DefE635
-S _EP8ISOINPKTS DefE643
-S _I2CS DefE678
-S _DPL1 Def0084
-S _GPIFIRQ DefE661
-S _EP0BCH DefE68A
-S _EP01STAT Def00BA
-S __fifo_gpif_autovector Ref0000
-S _EP8FIFOPFL DefE637
-S _EP1INCS DefE6A2
-S _EIE Def00E8
-S _RESI Def00DC
-S _GPIFIE DefE660
-S _EP2BCH DefE690
-S _EP1OUTCS DefE6A1
-S _TCON Def0088
-S _TMOD Def0089
-S _OEA Def00B2
-S _EXF2 Def00CE
-S _EP0BCL DefE68B
-S _EP4BCH DefE694
-S _OEB Def00B3
-S _REN1 Def00C4
-S _EP2CFG DefE612
-S _EP2FIFOIRQ DefE651
-S _GPIFREADYSTAT DefE6F4
-S _OEC Def00B4
-S _EP2BCL DefE691
-S _EP6BCH DefE698
-S _OED Def00B5
-S _EP4CFG DefE613
-S _EP2FIFOIE DefE650
-S _EP4FIFOIRQ DefE653
-S _IOA Def0080
-S _OEE Def00B6
-S _EP4BCL DefE695
-S _EP8BCH DefE69C
-S _IOB Def0090
-S _PUSB Def00F8
-S _EP6CFG DefE614
-S _EP4FIFOIE DefE652
-S _EP6FIFOIRQ DefE655
-S _IOC Def00A0
-S _INTSETUP DefE668
-S _EP6BCL DefE699
-S _DPH Def0083
-S _IOD Def00B0
-S _EP8CFG DefE615
-S _EP6FIFOIE DefE654
-S _EP8FIFOIRQ DefE657
-S _USBFRAMEH DefE684
-S _IOE Def00B1
-S _RB81 Def00C2
-S _EP2AUTOINLENH DefE620
-S _EP8BCL DefE69D
-S _GPIFABORT DefE6F5
-S _INT2CLR Def00A1
-S _EIP Def00F8
-S _IE0 Def0089
-S _EP8FIFOIE DefE656
-S _IE1 Def008B
-S _TB81 Def00C3
-S _EP4AUTOINLENH DefE622
-S _DPL Def0082
-S _INT4CLR Def00A2
-S _AUTOPTRSETUP Def00AF
-S _RCAP2H Def00CB
-S _USBFRAMEL DefE685
-S _XGPIFSGLDATLX DefE6F1
-S _FLOWEQ0CTL DefE6C8
-S _FLOWSTB DefE6CB
-S _SM01 Def00C7
-S _INT6 Def00DB
-S _EP2AUTOINLENL DefE621
-S _EP6AUTOINLENH DefE624
-S _SUSPEND DefE681
-S _FLOWEQ1CTL DefE6C9
-S _EP0BUF DefE740
-S _SM11 Def00C6
-S _CP_RL2 Def00C8
-S _GPIFWFSELECT DefE6C0
-S _SM21 Def00C5
-S _EP4AUTOINLENL DefE623
-S _EP8AUTOINLENH DefE626
-S _RCAP2L Def00CA
-S _SEL Def0086
-S _AC Def00D6
-S _IFCONFIG DefE601
-S _IBNIRQ DefE659
-S _GPIFADRH DefE6C4
-S _XGPIFSGLDATH DefE6F0
-S _REN Def009C
-S _EP6AUTOINLENL DefE625
-S _NAKIRQ DefE65B
-S _FLOWLOGIC DefE6C7
-S _EA Def00AF
-S _FIFORESET DefE604
-S _IBNIE DefE658
-S _GPIFIDLECTL DefE6C2
-S _UDMACRCH DefE67D
-S _DPS Def0086
-S _EP8AUTOINLENL DefE627
-S _NAKIE DefE65A
-S _CT1 DefE6FB
-S _ES0 Def00AC
-S _FIFOPINPOLAR DefE609
-S _GPIFADRL DefE6C5
-S _EP2GPIFPFSTOP DefE6D3
-S _CT2 DefE6FC
-S _GPIFSGLDATLX Def00BE
-S _ET0 Def00A9
-S _ES1 Def00AE
-S _SUDPTRH DefE6B3
-S _USBTEST DefE6FA
-S _CT3 DefE6FD
-S _MPAGE Def0092
-S _TF0 Def008D
-S _ET1 Def00AB
-S _EP4GPIFPFSTOP DefE6DB
-S _UDMACRCL DefE67E
-S _CT4 DefE6FE
-S _EP24FIFOFLGS Def00AB
-S _TF1 Def008F
-S _ET2 Def00AD
-S _RES_WAVEDATA_END DefE480
-S _TH0 Def008C
-S _RB8 Def009A
-S _RI1 Def00C0
-S _TF2 Def00CF
-S _EP1INCFG DefE611
-S _TOGCTL DefE683
-S _EP6GPIFPFSTOP DefE6E3
-S _TH1 Def008D
-S _GPIFSGLDATH Def00BD
-S _IT0 Def0088
-S _EX0 Def00A8
-S _EP1OUTCFG DefE610
-S _SUDPTRL DefE6B4
-S _CKCON Def008E
-S _IE Def00A8
-S _TH2 Def00CD
-S _EICON Def00D8
-S _IT1 Def008A
-S _TB8 Def009B
-S _EX1 Def00AA
-S _TI1 Def00C1
-S _CLRERRCNT DefE665
-S _GPIFTCB0 DefE6D1
-S _EP8GPIFPFSTOP DefE6EB
-S _REVCTL DefE60B
-S _ERRCNTLIM DefE664
-S _GPIFTCB1 DefE6D0
-S _TL0 Def008A
-S _APTR1H Def009A
-S _SM0 Def009F
-S _UART230 DefE608
-S _GPIFTCB2 DefE6CF
-S _TL1 Def008B
-S _A0 Def0080
-S _SM1 Def009E
-S _GPIFTCB3 DefE6CE
-S _UDMACRCQUAL DefE67F
-S _TL2 Def00CC
-S _A1 Def0081
-S _SM2 Def009D
-S _FL Def00D1
-S _EP68FIFOFLGS Def00AC
-S _A2 Def0082
-S _PS0 Def00BC
-S __usb_autovector Ref0000
-S _I2DAT DefE679
-S _APTR1L Def009B
-S _A3 Def0083
-S _D0 Def00B0
-S _PT0 Def00B9
-S _PS1 Def00BE
-S _BPADDRH DefE606
-S _A4 Def0084
-S _D1 Def00B1
-S _PT1 Def00BB
-S _RS0 Def00D3
-S _USBIRQ DefE65D
-S _PORTACFG DefE670
-S _FLOWSTBEDGE DefE6CC
-S _A5 Def0085
-S _TR0 Def008C
-S _D2 Def00B2
-S _PT2 Def00BD
-S _RS1 Def00D4
-S _F0 Def00D5
-S _PINFLAGSAB DefE602
-S _EP2FIFOFLGS DefE6A7
-S _A6 Def0086
-S _TR1 Def008E
-S _D3 Def00B3
-S _USBIE DefE65C
-S _PORTCCFG DefE671
-S _EP2FIFOBCH DefE6AB
-S _A7 Def0087
-S _D4 Def00B4
-S _PX0 Def00B8
-S _TR2 Def00CA
-S _ERESI Def00DD
-S _EIUSB Def00E8
-S _BPADDRL DefE607
-S _EP4FIFOFLGS DefE6A8
-S _GPIFCTLCFG DefE6C3
-S _FLOWSTATE DefE6C6
-S _IP Def00B8
-S _D5 Def00B5
-S _PX1 Def00BA
-S _REVID DefE60A
-S _PORTECFG DefE672
-S _EP4FIFOBCH DefE6AD
-S _GPIFIDLECS DefE6C1
-S _FLOWHOLDOFF DefE6CA
-S _EP1INBUF DefE7C0
-S _PSW Def00D0
-S _D6 Def00B6
-S _PINFLAGSCD DefE603
-S _EP2FIFOCFG DefE618
-S _XAUTODAT1 DefE67B
-S _EP0CS DefE6A0
-S _EP6FIFOFLGS DefE6A9
-S _EP1OUTBUF DefE780
-S _RI Def0098
-S _D7 Def00B7
-S _XAUTODAT2 DefE67C
-S _EP2FIFOBCL DefE6AC
-S _EP6FIFOBCH DefE6AF
-S _GPIFTRIG Def00BB
-S _CY Def00D7
-S _EP4FIFOCFG DefE619
-S _INPKTEND DefE648
-S _EP2CS DefE6A3
-S _EP8FIFOFLGS DefE6AA
-S _TI Def0099
-S _CPUCS DefE600
-S _OUTPKTEND DefE649
-S _I2CTL DefE67A
-S _EP4FIFOBCL DefE6AE
-S _EP8FIFOBCH DefE6B1
-S _XGPIFSGLDATLNOX DefE6F2
-S _EP6FIFOCFG DefE61A
-S _USBERRIRQ DefE663
-S _EP4CS DefE6A4
-S _EIEX4 Def00EA
-S _USBCS DefE680
-S _EP6FIFOBCL DefE6B0
-S _SBUF0 Def0099
-S _EIEX5 Def00EB
-A _CODE size 0 flags 0 addr 0
-A RSEG size 0 flags 0 addr 0
-A REG_BANK_0 size 8 flags 4 addr 0
-A DSEG size 0 flags 0 addr 0
-A OSEG size 2 flags 4 addr 0
-S _hook_fgv_PARM_2 Def0000
-S _hook_sv_PARM_2 Def0000
-S _hook_uv_PARM_2 Def0000
-A ISEG size 0 flags 0 addr 0
-A IABS size 0 flags 8 addr 0
-A BSEG size 3 flags 80 addr 0
-A PSEG size 0 flags 50 addr 0
-A XSEG size 0 flags 40 addr 0
-A XABS size 0 flags 48 addr 0
-A HOME size 0 flags 20 addr 0
-A GSINIT0 size 0 flags 20 addr 0
-A GSINIT1 size 0 flags 20 addr 0
-A GSINIT2 size 0 flags 20 addr 0
-A GSINIT3 size 0 flags 20 addr 0
-A GSINIT4 size 0 flags 20 addr 0
-A GSINIT5 size 0 flags 20 addr 0
-A GSINIT size 0 flags 20 addr 0
-A GSFINAL size 0 flags 20 addr 0
-A CSEG size 1B2 flags 20 addr 0
-S _hook_sv Def0000
-S _hook_uv Def0063
-S _setup_autovectors Def010A
-S _hook_fgv Def00B4
-A CONST size 0 flags 20 addr 0
-A CABS size 0 flags 28 addr 0
-T 00 00
-R 00 00 00 02
-T 00 00
-R 00 00 00 04
-T 00 00
-R 00 00 00 04
-T 00 00
-R 00 00 00 04
-T 00 00
-R 00 00 00 04
-T 00 00
-R 00 00 00 04
-T 00 00
-R 00 00 00 04
-T 00 00
-R 00 00 00 07
-T 00 00
-R 00 00 00 07
-T 00 01
-R 00 00 00 07
-T 00 01
-R 00 00 00 07
-T 00 02
-R 00 00 00 07
-T 00 02
-R 00 00 00 07
-T 00 00
-R 00 00 00 14
-T 00 00 AA 82 BA 03 00
-R 00 00 00 14
-T 00 05
-R 00 00 00 14
-T 00 05 40 05 EA 24 9C 50 01
-R 00 00 00 14
-T 00 0C
-R 00 00 00 14
-T 00 0C 22
-R 00 00 00 14
-T 00 0D
-R 00 00 00 14
-T 00 0D 74 0F 5A FB BB 03 02 80 07
-R 00 00 00 14
-T 00 16
-R 00 00 00 14
-T 00 16 74 0F 5A FB BB 0B 45
-R 00 00 00 14
-T 00 1D
-R 00 00 00 14
-T 00 1D A2 AF 92 00 00 00 C2 AF EA 24 00 00 00 F5
-R 00 00 00 14 F1 21 05 00 07 F1 03 0C 00 3C
-T 00 27 82 E4 34 00 00 00 F5 83 74 02 F0 7B 00 74
-R 00 00 00 14 F1 83 05 00 3C
-T 00 33 01 2A FC E4 3B FD EC 24 00 00 00 F5 82 ED
-R 00 00 00 14 F1 03 0A 00 3C
-T 00 3F 34 00 00 00 F5 83 E5 00 00 01 FC F0 74 02
-R 00 00 00 14 F1 83 03 00 3C F1 21 09 00 04
-T 00 49 2A FA E4 3B FB EA 24 00 00 00 F5 82 EB 34
-R 00 00 00 14 F1 03 09 00 3C
-T 00 55 00 00 00 F5 83 AA 00 00 00 7B 00 EA F0 A2
-R 00 00 00 14 F1 83 02 00 3C F1 21 08 00 04
-T 00 5F 00 00 00 92 AF
-R 00 00 00 14 F1 21 02 00 07
-T 00 62
-R 00 00 00 14
-T 00 62 22
-R 00 00 00 14
-T 00 63
-R 00 00 00 14
-T 00 63 E5 82 FA 24 83 50 01 22
-R 00 00 00 14
-T 00 6B
-R 00 00 00 14
-T 00 6B EA 54 03 60 01 22
-R 00 00 00 14
-T 00 71
-R 00 00 00 14
-T 00 71 A2 AF 92 00 00 01 C2 AF EA 24 00 00 00 F5
-R 00 00 00 14 F1 21 05 00 07 F1 03 0C 00 F3
-T 00 7B 82 E4 34 00 00 00 F5 83 74 02 F0 7B 00 74
-R 00 00 00 14 F1 83 05 00 F3
-T 00 87 01 2A FC E4 3B FD EC 24 00 00 00 F5 82 ED
-R 00 00 00 14 F1 03 0A 00 F3
-T 00 93 34 00 00 00 F5 83 E5 00 00 01 F0 74 02 2A
-R 00 00 00 14 F1 83 03 00 F3 F1 21 09 00 04
-T 00 9D FA E4 3B FB EA 24 00 00 00 F5 82 EB 34
-R 00 00 00 14 F1 03 08 00 F3
-T 00 A8 00 00 00 F5 83 AA 00 00 00 EA F0 A2
-R 00 00 00 14 F1 83 02 00 F3 F1 21 08 00 04
-T 00 B0 00 00 01 92 AF 22
-R 00 00 00 14 F1 21 02 00 07
-T 00 B4
-R 00 00 00 14
-T 00 B4 AA 82 BA 80 00
-R 00 00 00 14
-T 00 B9
-R 00 00 00 14
-T 00 B9 40 05 EA 24 4B 50 01
-R 00 00 00 14
-T 00 C0
-R 00 00 00 14
-T 00 C0 22
-R 00 00 00 14
-T 00 C1
-R 00 00 00 14
-T 00 C1 EA 54 03 60 01 22
-R 00 00 00 14
-T 00 C7
-R 00 00 00 14
-T 00 C7 A2 AF 92 00 00 02 C2 AF EA 24 00 00 00 F5
-R 00 00 00 14 F1 21 05 00 07 F1 03 0C 00 51
-T 00 D1 82 E4 34 00 00 00 F5 83 74 02 F0 7B 00 74
-R 00 00 00 14 F1 83 05 00 51
-T 00 DD 01 2A FC E4 3B FD EC 24 00 00 00 F5 82 ED
-R 00 00 00 14 F1 03 0A 00 51
-T 00 E9 34 00 00 00 F5 83 E5 00 00 01 F0 74 02 2A
-R 00 00 00 14 F1 83 03 00 51 F1 21 09 00 04
-T 00 F3 FA E4 3B FB EA 24 00 00 00 F5 82 EB 34
-R 00 00 00 14 F1 03 08 00 51
-T 00 FE 00 00 00 F5 83 AA 00 00 00 EA F0 A2
-R 00 00 00 14 F1 83 02 00 51 F1 21 08 00 04
-T 01 06 00 00 02 92 AF 22
-R 00 00 00 14 F1 21 02 00 07
-T 01 0A
-R 00 00 00 14
-T 01 0A C2 E8 C2 EA 75 00 00 00 00 00 00 75
-R 00 00 00 14 F1 21 07 00 04 F1 03 0A 00 F3
-T 01 12 00 00 01 00 00 00 75 82 43 12
-R 00 00 00 14 F1 21 02 00 04 F1 83 05 00 F3
-T 01 18 00 00 75 00 00 00
-R 00 00 00 14 00 02 00 14 F1 21 05 00 04
-T 01 1C 00 00 00 75 00 00 01
-R 00 00 00 14 F1 03 02 00 51 F1 21 06 00 04
-T 01 1F 00 00 00 75 82 53 12 00 00 00 90 E6 50 E4
-R 00 00 00 14 F1 83 02 00 51 00 09 00 14
-T 01 2B F0 00 90 E6 52 E4 F0 00 90 E6 54 E4 F0 00
-R 00 00 00 14
-T 01 39 90 E6 56 E4 F0 00 90 E6 51 74 FF F0 00 90
-R 00 00 00 14
-T 01 47 E6 53 74 FF F0 00 90 E6 55 74 FF F0 00 90
-R 00 00 00 14
-T 01 55 E6 57 74 FF F0 00 90 E6 58 E4 F0 90 E6 59
-R 00 00 00 14
-T 01 63 74 FF F0 90 E6 5A E4 F0 90 E6 5B 74 FF F0
-R 00 00 00 14
-T 01 71 90 E6 5C E4 F0 90 E6 5D 74 FF F0 90 E6 5E
-R 00 00 00 14
-T 01 7F E4 F0 90 E6 5F 74 FF F0 00 90 E6 60 E4 F0
-R 00 00 00 14
-T 01 8D 00 90 E6 61 74 FF F0 90 E6 62 E4 F0 90
-R 00 00 00 14
-T 01 9A E6 63 74 FF F0 90 E6 65 E4 F0 90 E6 68 74
-R 00 00 00 14
-T 01 A8 0B F0 53 91 AF D2 E8 D2 EA 22
-R 00 00 00 14
diff --git a/firmware/GN3S_v2/lib/isr.sym b/firmware/GN3S_v2/lib/isr.sym
deleted file mode 100644
index fe7bdd8..0000000
--- a/firmware/GN3S_v2/lib/isr.sym
+++ /dev/null
@@ -1,711 +0,0 @@
-
ASxxxx Assembler V01.70 + NoICE + SDCC mods + Flat24 Feb-1999  (Intel 8051), page 1.
-
-Symbol Table
-
-    A                                                              00D6 
-    AC                                                             00D6 
-    ACC                                                            00E0 
-    ACC.0                                                          00E0 
-    ACC.1                                                          00E1 
-    ACC.2                                                          00E2 
-    ACC.3                                                          00E3 
-    ACC.4                                                          00E4 
-    ACC.5                                                          00E5 
-    ACC.6                                                          00E6 
-    ACC.7                                                          00E7 
-    B                                                              00F0 
-    B.0                                                            00F0 
-    B.1                                                            00F1 
-    B.2                                                            00F2 
-    B.3                                                            00F3 
-    B.4                                                            00F4 
-    B.5                                                            00F5 
-    B.6                                                            00F6 
-    B.7                                                            00F7 
-    CPRL2                                                          00C8 
-    CT2                                                            00C9 
-    CY                                                             00D7 
-    DPH                                                            0083 
-    DPL                                                            0082 
-    EA                                                             00AF 
-    ES                                                             00AC 
-    ET0                                                            00A9 
-    ET1                                                            00AB 
-    ET2                                                            00AD 
-    EX0                                                            00A8 
-    EX1                                                            00AA 
-    EXEN2                                                          00CB 
-    EXF2                                                           00CE 
-    F0                                                             00D5 
-    IE                                                             00A8 
-    IE.0                                                           00A8 
-    IE.1                                                           00A9 
-    IE.2                                                           00AA 
-    IE.3                                                           00AB 
-    IE.4                                                           00AC 
-    IE.5                                                           00AD 
-    IE.7                                                           00AF 
-    IE0                                                            0089 
-    IE1                                                            008B 
-    INT0                                                           00B2 
-    INT1                                                           00B3 
-    IP                                                             00B8 
-    IP.0                                                           00B8 
-    IP.1                                                           00B9 
-    IP.2                                                           00BA 
-    IP.3                                                           00BB 
-    IP.4                                                           00BC 
-    IP.5                                                           00BD 
-    IT0                                                            0088 
-    IT1                                                            008A 
-    OV                                                             00D2 
-    P                                                              00D0 
-    P0                                                             0080 
-    P0.0                                                           0080 
-    P0.1                                                           0081 
-    P0.2                                                           0082 
-    P0.3                                                           0083 
-    P0.4                                                           0084 
-    P0.5                                                           0085 
-    P0.6                                                           0086 
-    P0.7                                                           0087 
-    P1                                                             0090 
-    P1.0                                                           0090 
-    P1.1                                                           0091 
-    P1.2                                                           0092 
-    P1.3                                                           0093 
-    P1.4                                                           0094 
-    P1.5                                                           0095 
-    P1.6                                                           0096 
-    P1.7                                                           0097 
-    P2                                                             00A0 
-    P2.0                                                           00A0 
-    P2.1                                                           00A1 
-    P2.2                                                           00A2 
-    P2.3                                                           00A3 
-    P2.4                                                           00A4 
-    P2.5                                                           00A5 
-    P2.6                                                           00A6 
-    P2.7                                                           00A7 
-    P3                                                             00B0 
-    P3.0                                                           00B0 
-    P3.1                                                           00B1 
-    P3.2                                                           00B2 
-    P3.3                                                           00B3 
-    P3.4                                                           00B4 
-    P3.5                                                           00B5 
-    P3.6                                                           00B6 
-    P3.7                                                           00B7 
-    PCON                                                           0087 
-    PS                                                             00BC 
-    PSW                                                            00D0 
-    PSW.0                                                          00D0 
-    PSW.1                                                          00D1 
-    PSW.2                                                          00D2 
-    PSW.3                                                          00D3 
-    PSW.4                                                          00D4 
-    PSW.5                                                          00D5 
-    PSW.6                                                          00D6 
-    PSW.7                                                          00D7 
-    PT0                                                            00B9 
-    PT1                                                            00BB 
-    PT2                                                            00BD 
-    PX0                                                            00B8 
-    PX1                                                            00BA 
-    RB8                                                            009A 
-    RCAP2H                                                         00CB 
-    RCAP2L                                                         00CA 
-    RCLK                                                           00CD 
-    REN                                                            009C 
-    RI                                                             0098 
-    RS0                                                            00D3 
-    RS1                                                            00D4 
-    RXD                                                            00B0 
-    SBUF                                                           0099 
-    SCON                                                           0098 
-    SCON.0                                                         0098 
-    SCON.1                                                         0099 
-    SCON.2                                                         009A 
-    SCON.3                                                         009B 
-    SCON.4                                                         009C 
-    SCON.5                                                         009D 
-    SCON.6                                                         009E 
-    SCON.7                                                         009F 
-    SM0                                                            009F 
-    SM1                                                            009E 
-    SM2                                                            009D 
-    SP                                                             0081 
-    T2CON                                                          00C8 
-    T2CON.0                                                        00C8 
-    T2CON.1                                                        00C9 
-    T2CON.2                                                        00CA 
-    T2CON.3                                                        00CB 
-    T2CON.4                                                        00CC 
-    T2CON.5                                                        00CD 
-    T2CON.6                                                        00CE 
-    T2CON.7                                                        00CF 
-    TB8                                                            009B 
-    TCLK                                                           00CC 
-    TCON                                                           0088 
-    TCON.0                                                         0088 
-    TCON.1                                                         0089 
-    TCON.2                                                         008A 
-    TCON.3                                                         008B 
-    TCON.4                                                         008C 
-    TCON.5                                                         008D 
-    TCON.6                                                         008E 
-    TCON.7                                                         008F 
-    TF0                                                            008D 
-    TF1                                                            008F 
-    TF2                                                            00CF 
-    TH0                                                            008C 
-    TH1                                                            008D 
-    TH2                                                            00CD 
-    TI                                                             0099 
-    TL0                                                            008A 
-    TL1                                                            008B 
-    TL2                                                            00CC 
-    TMOD                                                           0089 
-    TR0                                                            008C 
-    TR1                                                            008E 
-    TR2                                                            00CA 
-    TXD                                                            00B1 
-    _A0                                                         =  0080 G
-    _A1                                                         =  0081 G
-    _A2                                                         =  0082 G
-    _A3                                                         =  0083 G
-    _A4                                                         =  0084 G
-    _A5                                                         =  0085 G
-    _A6                                                         =  0086 G
-    _A7                                                         =  0087 G
-    _AC                                                         =  00D6 G
-    _ACC                                                        =  00E0 G
-    _APTR1H                                                     =  009A G
-    _APTR1L                                                     =  009B G
-    _AUTODAT1                                                   =  009C G
-    _AUTODAT2                                                   =  009F G
-    _AUTOPTRH2                                                  =  009D G
-    _AUTOPTRL2                                                  =  009E G
-    _AUTOPTRSETUP                                               =  00AF G
-    _B                                                          =  00F0 G
-    _BPADDRH                                                    =  E606 G
-    _BPADDRL                                                    =  E607 G
-    _BREAKPT                                                    =  E605 G
-    _CKCON                                                      =  008E G
-    _CLRERRCNT                                                  =  E665 G
-    _CPUCS                                                      =  E600 G
-    _CP_RL2                                                     =  00C8 G
-    _CT1                                                        =  E6FB G
-    _CT2                                                        =  E6FC G
-    _CT3                                                        =  E6FD G
-    _CT4                                                        =  E6FE G
-    _CY                                                         =  00D7 G
-    _C_T2                                                       =  00C9 G
-    _D0                                                         =  00B0 G
-    _D1                                                         =  00B1 G
-    _D2                                                         =  00B2 G
-    _D3                                                         =  00B3 G
-    _D4                                                         =  00B4 G
-    _D5                                                         =  00B5 G
-    _D6                                                         =  00B6 G
-    _D7                                                         =  00B7 G
-    _DBUG                                                       =  E6F8 G
-    _DPH                                                        =  0083 G
-    _DPH1                                                       =  0085 G
-    _DPL                                                        =  0082 G
-    _DPL1                                                       =  0084 G
-    _DPS                                                        =  0086 G
-    _EA                                                         =  00AF G
-    _EI2C                                                       =  00E9 G
-    _EICON                                                      =  00D8 G
-    _EIE                                                        =  00E8 G
-    _EIEX4                                                      =  00EA G
-    _EIEX5                                                      =  00EB G
-    _EIEX6                                                      =  00EC G
-    _EIP                                                        =  00F8 G
-    _EIPX4                                                      =  00FA G
-    _EIPX5                                                      =  00FB G
-    _EIPX6                                                      =  00FC G
-    _EIUSB                                                      =  00E8 G
-    _EP01STAT                                                   =  00BA G
-    _EP0BCH                                                     =  E68A G
-    _EP0BCL                                                     =  E68B G
-    _EP0BUF                                                     =  E740 G
-    _EP0CS                                                      =  E6A0 G
-    _EP1INBC                                                    =  E68F G
-    _EP1INBUF                                                   =  E7C0 G
-    _EP1INCFG                                                   =  E611 G
-    _EP1INCS                                                    =  E6A2 G
-    _EP1OUTBC                                                   =  E68D G
-    _EP1OUTBUF                                                  =  E780 G
-    _EP1OUTCFG                                                  =  E610 G
-    _EP1OUTCS                                                   =  E6A1 G
-    _EP2468STAT                                                 =  00AA G
-    _EP24FIFOFLGS                                               =  00AB G
-    _EP2AUTOINLENH                                              =  E620 G
-    _EP2AUTOINLENL                                              =  E621 G
-    _EP2BCH                                                     =  E690 G
-    _EP2BCL                                                     =  E691 G
-    _EP2CFG                                                     =  E612 G
-    _EP2CS                                                      =  E6A3 G
-    _EP2FIFOBCH                                                 =  E6AB G
-    _EP2FIFOBCL                                                 =  E6AC G
-    _EP2FIFOBUF                                                 =  F000 G
-    _EP2FIFOCFG                                                 =  E618 G
-    _EP2FIFOFLGS                                                =  E6A7 G
-    _EP2FIFOIE                                                  =  E650 G
-    _EP2FIFOIRQ                                                 =  E651 G
-    _EP2FIFOPFH                                                 =  E630 G
-    _EP2FIFOPFL                                                 =  E631 G
-    _EP2GPIFFLGSEL                                              =  E6D2 G
-    _EP2GPIFPFSTOP                                              =  E6D3 G
-    _EP2GPIFTRIG                                                =  E6D4 G
-    _EP2ISOINPKTS                                               =  E640 G
-    _EP4AUTOINLENH                                              =  E622 G
-    _EP4AUTOINLENL                                              =  E623 G
-    _EP4BCH                                                     =  E694 G
-    _EP4BCL                                                     =  E695 G
-    _EP4CFG                                                     =  E613 G
-    _EP4CS                                                      =  E6A4 G
-    _EP4FIFOBCH                                                 =  E6AD G
-    _EP4FIFOBCL                                                 =  E6AE G
-    _EP4FIFOBUF                                                 =  F400 G
-    _EP4FIFOCFG                                                 =  E619 G
-    _EP4FIFOFLGS                                                =  E6A8 G
-    _EP4FIFOIE                                                  =  E652 G
-    _EP4FIFOIRQ                                                 =  E653 G
-    _EP4FIFOPFH                                                 =  E632 G
-    _EP4FIFOPFL                                                 =  E633 G
-    _EP4GPIFFLGSEL                                              =  E6DA G
-    _EP4GPIFPFSTOP                                              =  E6DB G
-    _EP4GPIFTRIG                                                =  E6DC G
-    _EP4ISOINPKTS                                               =  E641 G
-    _EP68FIFOFLGS                                               =  00AC G
-    _EP6AUTOINLENH                                              =  E624 G
-    _EP6AUTOINLENL                                              =  E625 G
-    _EP6BCH                                                     =  E698 G
-    _EP6BCL                                                     =  E699 G
-    _EP6CFG                                                     =  E614 G
-    _EP6CS                                                      =  E6A5 G
-    _EP6FIFOBCH                                                 =  E6AF G
-    _EP6FIFOBCL                                                 =  E6B0 G
-    _EP6FIFOBUF                                                 =  F800 G
-    _EP6FIFOCFG                                                 =  E61A G
-    _EP6FIFOFLGS                                                =  E6A9 G
-    _EP6FIFOIE                                                  =  E654 G
-    _EP6FIFOIRQ                                                 =  E655 G
-    _EP6FIFOPFH                                                 =  E634 G
-    _EP6FIFOPFL                                                 =  E635 G
-    _EP6GPIFFLGSEL                                              =  E6E2 G
-    _EP6GPIFPFSTOP                                              =  E6E3 G
-    _EP6GPIFTRIG                                                =  E6E4 G
-    _EP6ISOINPKTS                                               =  E642 G
-    _EP8AUTOINLENH                                              =  E626 G
-    _EP8AUTOINLENL                                              =  E627 G
-    _EP8BCH                                                     =  E69C G
-    _EP8BCL                                                     =  E69D G
-    _EP8CFG                                                     =  E615 G
-    _EP8CS                                                      =  E6A6 G
-    _EP8FIFOBCH                                                 =  E6B1 G
-    _EP8FIFOBCL                                                 =  E6B2 G
-    _EP8FIFOBUF                                                 =  FC00 G
-    _EP8FIFOCFG                                                 =  E61B G
-    _EP8FIFOFLGS                                                =  E6AA G
-    _EP8FIFOIE                                                  =  E656 G
-    _EP8FIFOIRQ                                                 =  E657 G
-    _EP8FIFOPFH                                                 =  E636 G
-    _EP8FIFOPFL                                                 =  E637 G
-    _EP8GPIFFLGSEL                                              =  E6EA G
-    _EP8GPIFPFSTOP                                              =  E6EB G
-    _EP8GPIFTRIG                                                =  E6EC G
-    _EP8ISOINPKTS                                               =  E643 G
-    _EPIE                                                       =  E65E G
-    _EPIRQ                                                      =  E65F G
-    _ERESI                                                      =  00DD G
-    _ERRCNTLIM                                                  =  E664 G
-    _ES0                                                        =  00AC G
-    _ES1                                                        =  00AE G
-    _ET0                                                        =  00A9 G
-    _ET1                                                        =  00AB G
-    _ET2                                                        =  00AD G
-    _EX0                                                        =  00A8 G
-    _EX1                                                        =  00AA G
-    _EXEN2                                                      =  00CB G
-    _EXF2                                                       =  00CE G
-    _EXIF                                                       =  0091 G
-    _F0                                                         =  00D5 G
-    _FIFOPINPOLAR                                               =  E609 G
-    _FIFORESET                                                  =  E604 G
-    _FL                                                         =  00D1 G
-    _FLOWEQ0CTL                                                 =  E6C8 G
-    _FLOWEQ1CTL                                                 =  E6C9 G
-    _FLOWHOLDOFF                                                =  E6CA G
-    _FLOWLOGIC                                                  =  E6C7 G
-    _FLOWSTATE                                                  =  E6C6 G
-    _FLOWSTB                                                    =  E6CB G
-    _FLOWSTBEDGE                                                =  E6CC G
-    _FLOWSTBHPERIOD                                             =  E6CD G
-    _FNADDR                                                     =  E687 G
-    _GPIFABORT                                                  =  E6F5 G
-    _GPIFADRH                                                   =  E6C4 G
-    _GPIFADRL                                                   =  E6C5 G
-    _GPIFCTLCFG                                                 =  E6C3 G
-    _GPIFHOLDAMOUNT                                             =  E60C G
-    _GPIFIDLECS                                                 =  E6C1 G
-    _GPIFIDLECTL                                                =  E6C2 G
-    _GPIFIE                                                     =  E660 G
-    _GPIFIRQ                                                    =  E661 G
-    _GPIFREADYCFG                                               =  E6F3 G
-    _GPIFREADYSTAT                                              =  E6F4 G
-    _GPIFSGLDATH                                                =  00BD G
-    _GPIFSGLDATLNOX                                             =  00BF G
-    _GPIFSGLDATLX                                               =  00BE G
-    _GPIFTCB0                                                   =  E6D1 G
-    _GPIFTCB1                                                   =  E6D0 G
-    _GPIFTCB2                                                   =  E6CF G
-    _GPIFTCB3                                                   =  E6CE G
-    _GPIFTRIG                                                   =  00BB G
-    _GPIFWFSELECT                                               =  E6C0 G
-    _GPIF_WAVE_DATA                                             =  E400 G
-    _I2CS                                                       =  E678 G
-    _I2CTL                                                      =  E67A G
-    _I2DAT                                                      =  E679 G
-    _IBNIE                                                      =  E658 G
-    _IBNIRQ                                                     =  E659 G
-    _IE                                                         =  00A8 G
-    _IE0                                                        =  0089 G
-    _IE1                                                        =  008B G
-    _IFCONFIG                                                   =  E601 G
-    _INPKTEND                                                   =  E648 G
-    _INT2CLR                                                    =  00A1 G
-    _INT2IVEC                                                   =  E666 G
-    _INT4CLR                                                    =  00A2 G
-    _INT4IVEC                                                   =  E667 G
-    _INT6                                                       =  00DB G
-    _INTSETUP                                                   =  E668 G
-    _IOA                                                        =  0080 G
-    _IOB                                                        =  0090 G
-    _IOC                                                        =  00A0 G
-    _IOD                                                        =  00B0 G
-    _IOE                                                        =  00B1 G
-    _IP                                                         =  00B8 G
-    _IT0                                                        =  0088 G
-    _IT1                                                        =  008A G
-    _MICROFRAME                                                 =  E686 G
-    _MPAGE                                                      =  0092 G
-    _NAKIE                                                      =  E65A G
-    _NAKIRQ                                                     =  E65B G
-    _OEA                                                        =  00B2 G
-    _OEB                                                        =  00B3 G
-    _OEC                                                        =  00B4 G
-    _OED                                                        =  00B5 G
-    _OEE                                                        =  00B6 G
-    _OUTPKTEND                                                  =  E649 G
-    _OV                                                         =  00D2 G
-    _P                                                          =  00D0 G
-    _PCON                                                       =  0087 G
-    _PI2C                                                       =  00F9 G
-    _PINFLAGSAB                                                 =  E602 G
-    _PINFLAGSCD                                                 =  E603 G
-    _PORTACFG                                                   =  E670 G
-    _PORTCCFG                                                   =  E671 G
-    _PORTECFG                                                   =  E672 G
-    _PS0                                                        =  00BC G
-    _PS1                                                        =  00BE G
-    _PSW                                                        =  00D0 G
-    _PT0                                                        =  00B9 G
-    _PT1                                                        =  00BB G
-    _PT2                                                        =  00BD G
-    _PUSB                                                       =  00F8 G
-    _PX0                                                        =  00B8 G
-    _PX1                                                        =  00BA G
-    _RB8                                                        =  009A G
-    _RB81                                                       =  00C2 G
-    _RCAP2H                                                     =  00CB G
-    _RCAP2L                                                     =  00CA G
-    _RCLK                                                       =  00CD G
-    _REN                                                        =  009C G
-    _REN1                                                       =  00C4 G
-    _RESI                                                       =  00DC G
-    _RES_WAVEDATA_END                                           =  E480 G
-    _REVCTL                                                     =  E60B G
-    _REVID                                                      =  E60A G
-    _RI                                                         =  0098 G
-    _RI1                                                        =  00C0 G
-    _RS0                                                        =  00D3 G
-    _RS1                                                        =  00D4 G
-    _SBUF0                                                      =  0099 G
-    _SBUF1                                                      =  00C1 G
-    _SCON0                                                      =  0098 G
-    _SCON1                                                      =  00C0 G
-    _SEL                                                        =  0086 G
-    _SETUPDAT                                                   =  E6B8 G
-    _SM0                                                        =  009F G
-    _SM01                                                       =  00C7 G
-    _SM1                                                        =  009E G
-    _SM11                                                       =  00C6 G
-    _SM2                                                        =  009D G
-    _SM21                                                       =  00C5 G
-    _SMOD1                                                      =  00DF G
-    _SP                                                         =  0081 G
-    _SUDPTRCTL                                                  =  E6B5 G
-    _SUDPTRH                                                    =  E6B3 G
-    _SUDPTRL                                                    =  E6B4 G
-    _SUSPEND                                                    =  E681 G
-    _T2CON                                                      =  00C8 G
-    _TB8                                                        =  009B G
-    _TB81                                                       =  00C3 G
-    _TCLK                                                       =  00CC G
-    _TCON                                                       =  0088 G
-    _TESTCFG                                                    =  E6F9 G
-    _TF0                                                        =  008D G
-    _TF1                                                        =  008F G
-    _TF2                                                        =  00CF G
-    _TH0                                                        =  008C G
-    _TH1                                                        =  008D G
-    _TH2                                                        =  00CD G
-    _TI                                                         =  0099 G
-    _TI1                                                        =  00C1 G
-    _TL0                                                        =  008A G
-    _TL1                                                        =  008B G
-    _TL2                                                        =  00CC G
-    _TMOD                                                       =  0089 G
-    _TOGCTL                                                     =  E683 G
-    _TR0                                                        =  008C G
-    _TR1                                                        =  008E G
-    _TR2                                                        =  00CA G
-    _UART230                                                    =  E608 G
-    _UDMACRCH                                                   =  E67D G
-    _UDMACRCL                                                   =  E67E G
-    _UDMACRCQUAL                                                =  E67F G
-    _USBCS                                                      =  E680 G
-    _USBERRIE                                                   =  E662 G
-    _USBERRIRQ                                                  =  E663 G
-    _USBFRAMEH                                                  =  E684 G
-    _USBFRAMEL                                                  =  E685 G
-    _USBIE                                                      =  E65C G
-    _USBIRQ                                                     =  E65D G
-    _USBTEST                                                    =  E6FA G
-    _WAKEUPCS                                                   =  E682 G
-    _XAUTODAT1                                                  =  E67B G
-    _XAUTODAT2                                                  =  E67C G
-    _XGPIFSGLDATH                                               =  E6F0 G
-    _XGPIFSGLDATLNOX                                            =  E6F2 G
-    _XGPIFSGLDATLX                                              =  E6F1 G
-    __fifo_gpif_autovector                                         **** GX
-    __standard_interrupt_vector                                    **** GX
-    __usb_autovector                                               **** GX
- 14 _hook_fgv                                                      00B4 GR
-  4 _hook_fgv_PARM_2                                               0000 GR
-  7 _hook_fgv_t_1_1                                                0002 R
- 14 _hook_sv                                                       0000 GR
-  4 _hook_sv_PARM_2                                                0000 GR
-  7 _hook_sv_t_1_1                                                 0000 R
- 14 _hook_uv                                                       0063 GR
-  4 _hook_uv_PARM_2                                                0000 GR
-  7 _hook_uv_t_1_1                                                 0001 R
- 14 _setup_autovectors                                             010A GR
-    a                                                              00D6 
-    ac                                                             00D6 
-    acc                                                            00E0 
-    acc.0                                                          00E0 
-    acc.1                                                          00E1 
-    acc.2                                                          00E2 
-    acc.3                                                          00E3 
-    acc.4                                                          00E4 
-    acc.5                                                          00E5 
-    acc.6                                                          00E6 
-    acc.7                                                          00E7 
-    ar0                                                         =  0000 
-    ar1                                                         =  0001 
-    ar2                                                         =  0002 
-    ar3                                                         =  0003 
-    ar4                                                         =  0004 
-    ar5                                                         =  0005 
-    ar6                                                         =  0006 
-    ar7                                                         =  0007 
-    b                                                              00F0 
-    b.0                                                            00F0 
-    b.1                                                            00F1 
-    b.2                                                            00F2 
-    b.3                                                            00F3 
-    b.4                                                            00F4 
-    b.5                                                            00F5 
-    b.6                                                            00F6 
-    b.7                                                            00F7 
-    cprl2                                                          00C8 
-    ct2                                                            00C9 
-    cy                                                             00D7 
-    dph                                                            0083 
-    dpl                                                            0082 
-    ea                                                             00AF 
-    es                                                             00AC 
-    et0                                                            00A9 
-    et1                                                            00AB 
-    et2                                                            00AD 
-    ex0                                                            00A8 
-    ex1                                                            00AA 
-    exen2                                                          00CB 
-    exf2                                                           00CE 
-    f0                                                             00D5 
-    ie                                                             00A8 
-    ie.0                                                           00A8 
-    ie.1                                                           00A9 
-    ie.2                                                           00AA 
-    ie.3                                                           00AB 
-    ie.4                                                           00AC 
-    ie.5                                                           00AD 
-    ie.7                                                           00AF 
-    ie0                                                            0089 
-    ie1                                                            008B 
-    int0                                                           00B2 
-    int1                                                           00B3 
-    ip                                                             00B8 
-    ip.0                                                           00B8 
-    ip.1                                                           00B9 
-    ip.2                                                           00BA 
-    ip.3                                                           00BB 
-    ip.4                                                           00BC 
-    ip.5                                                           00BD 
-    it0                                                            0088 
-    it1                                                            008A 
-    ov                                                             00D2 
-    p                                                              00D0 
-    p0                                                             0080 
-    p0.0                                                           0080 
-    p0.1                                                           0081 
-    p0.2                                                           0082 
-    p0.3                                                           0083 
-    p0.4                                                           0084 
-    p0.5                                                           0085 
-    p0.6                                                           0086 
-    p0.7                                                           0087 
-    p1                                                             0090 
-    p1.0                                                           0090 
-    p1.1                                                           0091 
-    p1.2                                                           0092 
-    p1.3                                                           0093 
-    p1.4                                                           0094 
-    p1.5                                                           0095 
-    p1.6                                                           0096 
-    p1.7                                                           0097 
-    p2                                                             00A0 
-    p2.0                                                           00A0 
-    p2.1                                                           00A1 
-    p2.2                                                           00A2 
-    p2.3                                                           00A3 
-    p2.4                                                           00A4 
-    p2.5                                                           00A5 
-    p2.6                                                           00A6 
-    p2.7                                                           00A7 
-    p3                                                             00B0 
-    p3.0                                                           00B0 
-    p3.1                                                           00B1 
-    p3.2                                                           00B2 
-    p3.3                                                           00B3 
-    p3.4                                                           00B4 
-    p3.5                                                           00B5 
-    p3.6                                                           00B6 
-    p3.7                                                           00B7 
-    pcon                                                           0087 
-    ps                                                             00BC 
-    psw                                                            00D0 
-    psw.0                                                          00D0 
-    psw.1                                                          00D1 
-    psw.2                                                          00D2 
-    psw.3                                                          00D3 
-    psw.4                                                          00D4 
-    psw.5                                                          00D5 
-    psw.6                                                          00D6 
-    psw.7                                                          00D7 
-    pt0                                                            00B9 
-    pt1                                                            00BB 
-    pt2                                                            00BD 
-    px0                                                            00B8 
-    px1                                                            00BA 
-    rb8                                                            009A 
-    rcap2h                                                         00CB 
-    rcap2l                                                         00CA 
-    rclk                                                           00CD 
-    ren                                                            009C 
-    ri                                                             0098 
-    rs0                                                            00D3 
-    rs1                                                            00D4 
-    rxd                                                            00B0 
-    sbuf                                                           0099 
-    scon                                                           0098 
-    scon.0                                                         0098 
-    scon.1                                                         0099 
-    scon.2                                                         009A 
-    scon.3                                                         009B 
-    scon.4                                                         009C 
-    scon.5                                                         009D 
-    scon.6                                                         009E 
-    scon.7                                                         009F 
-    sm0                                                            009F 
-    sm1                                                            009E 
-    sm2                                                            009D 
-    sp                                                             0081 
-    t2con                                                          00C8 
-    t2con.0                                                        00C8 
-    t2con.1                                                        00C9 
-    t2con.2                                                        00CA 
-    t2con.3                                                        00CB 
-    t2con.4                                                        00CC 
-    t2con.5                                                        00CD 
-    t2con.6                                                        00CE 
-    t2con.7                                                        00CF 
-    tb8                                                            009B 
-    tclk                                                           00CC 
-    tcon                                                           0088 
-    tcon.0                                                         0088 
-    tcon.1                                                         0089 
-    tcon.2                                                         008A 
-    tcon.3                                                         008B 
-    tcon.4                                                         008C 
-    tcon.5                                                         008D 
-    tcon.6                                                         008E 
-    tcon.7                                                         008F 
-    tf0                                                            008D 
-    tf1                                                            008F 
-    tf2                                                            00CF 
-    th0                                                            008C 
-    th1                                                            008D 
-    th2                                                            00CD 
-    ti                                                             0099 
-    tl0                                                            008A 
-    tl1                                                            008B 
-    tl2                                                            00CC 
-    tmod                                                           0089 
-    tr0                                                            008C 
-    tr1                                                            008E 
-    tr2                                                            00CA 
-    txd                                                            00B1 
-
-
ASxxxx Assembler V01.70 + NoICE + SDCC mods + Flat24 Feb-1999  (Intel 8051), page 2.
-
-Area Table
-
-   0 _CODE                                                                              size    0   flags 0
-   1 RSEG                                                                               size    0   flags 0
-   2 REG_BANK_0                                                                         size    8   flags 4
-   3 DSEG                                                                               size    0   flags 0
-   4 OSEG                                                                               size    2   flags 4
-   5 ISEG                                                                               size    0   flags 0
-   6 IABS                                                                               size    0   flags 8
-   7 BSEG                                                                               size    3   flags 80
-   8 PSEG                                                                               size    0   flags 50
-   9 XSEG                                                                               size    0   flags 40
-   A XABS                                                                               size    0   flags 48
-   B HOME                                                                               size    0   flags 20
-   C GSINIT0                                                                            size    0   flags 20
-   D GSINIT1                                                                            size    0   flags 20
-   E GSINIT2                                                                            size    0   flags 20
-   F GSINIT3                                                                            size    0   flags 20
-  10 GSINIT4                                                                            size    0   flags 20
-  11 GSINIT5                                                                            size    0   flags 20
-  12 GSINIT                                                                             size    0   flags 20
-  13 GSFINAL                                                                            size    0   flags 20
-  14 CSEG                                                                               size  1B2   flags 20
-  15 CONST                                                                              size    0   flags 20
-  16 CABS                                                                               size    0   flags 28
diff --git a/firmware/GN3S_v2/lib/libfx2.lib b/firmware/GN3S_v2/lib/libfx2.lib
deleted file mode 100644
index ec72f6a..0000000
--- a/firmware/GN3S_v2/lib/libfx2.lib
+++ /dev/null
@@ -1,5 +0,0 @@
-delay
-fx2utils
-isr
-timer
-usb_common
diff --git a/firmware/GN3S_v2/lib/timer.asm b/firmware/GN3S_v2/lib/timer.asm
deleted file mode 100644
index c28e1ea..0000000
--- a/firmware/GN3S_v2/lib/timer.asm
+++ /dev/null
@@ -1,770 +0,0 @@
-;--------------------------------------------------------
-; File Created by SDCC : free open source ANSI-C Compiler
-; Version 2.9.0 #5416 (Feb  3 2010) (UNIX)
-; This file was generated Mon Jul 30 11:40:53 2012
-;--------------------------------------------------------
-	.module timer
-	.optsdcc -mmcs51 --model-small
-	
-;--------------------------------------------------------
-; Public variables in this module
-;--------------------------------------------------------
-	.globl _EIPX6
-	.globl _EIPX5
-	.globl _EIPX4
-	.globl _PI2C
-	.globl _PUSB
-	.globl _EIEX6
-	.globl _EIEX5
-	.globl _EIEX4
-	.globl _EI2C
-	.globl _EIUSB
-	.globl _SMOD1
-	.globl _ERESI
-	.globl _RESI
-	.globl _INT6
-	.globl _CY
-	.globl _AC
-	.globl _F0
-	.globl _RS1
-	.globl _RS0
-	.globl _OV
-	.globl _FL
-	.globl _P
-	.globl _TF2
-	.globl _EXF2
-	.globl _RCLK
-	.globl _TCLK
-	.globl _EXEN2
-	.globl _TR2
-	.globl _C_T2
-	.globl _CP_RL2
-	.globl _SM01
-	.globl _SM11
-	.globl _SM21
-	.globl _REN1
-	.globl _TB81
-	.globl _RB81
-	.globl _TI1
-	.globl _RI1
-	.globl _PS1
-	.globl _PT2
-	.globl _PS0
-	.globl _PT1
-	.globl _PX1
-	.globl _PT0
-	.globl _PX0
-	.globl _D7
-	.globl _D6
-	.globl _D5
-	.globl _D4
-	.globl _D3
-	.globl _D2
-	.globl _D1
-	.globl _D0
-	.globl _EA
-	.globl _ES1
-	.globl _ET2
-	.globl _ES0
-	.globl _ET1
-	.globl _EX1
-	.globl _ET0
-	.globl _EX0
-	.globl _SM0
-	.globl _SM1
-	.globl _SM2
-	.globl _REN
-	.globl _TB8
-	.globl _RB8
-	.globl _TI
-	.globl _RI
-	.globl _TF1
-	.globl _TR1
-	.globl _TF0
-	.globl _TR0
-	.globl _IE1
-	.globl _IT1
-	.globl _IE0
-	.globl _IT0
-	.globl _SEL
-	.globl _A7
-	.globl _A6
-	.globl _A5
-	.globl _A4
-	.globl _A3
-	.globl _A2
-	.globl _A1
-	.globl _A0
-	.globl _EIP
-	.globl _B
-	.globl _EIE
-	.globl _ACC
-	.globl _EICON
-	.globl _PSW
-	.globl _TH2
-	.globl _TL2
-	.globl _RCAP2H
-	.globl _RCAP2L
-	.globl _T2CON
-	.globl _SBUF1
-	.globl _SCON1
-	.globl _GPIFSGLDATLNOX
-	.globl _GPIFSGLDATLX
-	.globl _GPIFSGLDATH
-	.globl _GPIFTRIG
-	.globl _EP01STAT
-	.globl _IP
-	.globl _OEE
-	.globl _OED
-	.globl _OEC
-	.globl _OEB
-	.globl _OEA
-	.globl _IOE
-	.globl _IOD
-	.globl _AUTOPTRSETUP
-	.globl _EP68FIFOFLGS
-	.globl _EP24FIFOFLGS
-	.globl _EP2468STAT
-	.globl _IE
-	.globl _INT4CLR
-	.globl _INT2CLR
-	.globl _IOC
-	.globl _AUTODAT2
-	.globl _AUTOPTRL2
-	.globl _AUTOPTRH2
-	.globl _AUTODAT1
-	.globl _APTR1L
-	.globl _APTR1H
-	.globl _SBUF0
-	.globl _SCON0
-	.globl _MPAGE
-	.globl _EXIF
-	.globl _IOB
-	.globl _CKCON
-	.globl _TH1
-	.globl _TH0
-	.globl _TL1
-	.globl _TL0
-	.globl _TMOD
-	.globl _TCON
-	.globl _PCON
-	.globl _DPS
-	.globl _DPH1
-	.globl _DPL1
-	.globl _DPH
-	.globl _DPL
-	.globl _SP
-	.globl _IOA
-	.globl _EP8FIFOBUF
-	.globl _EP6FIFOBUF
-	.globl _EP4FIFOBUF
-	.globl _EP2FIFOBUF
-	.globl _EP1INBUF
-	.globl _EP1OUTBUF
-	.globl _EP0BUF
-	.globl _CT4
-	.globl _CT3
-	.globl _CT2
-	.globl _CT1
-	.globl _USBTEST
-	.globl _TESTCFG
-	.globl _DBUG
-	.globl _UDMACRCQUAL
-	.globl _UDMACRCL
-	.globl _UDMACRCH
-	.globl _GPIFHOLDAMOUNT
-	.globl _FLOWSTBHPERIOD
-	.globl _FLOWSTBEDGE
-	.globl _FLOWSTB
-	.globl _FLOWHOLDOFF
-	.globl _FLOWEQ1CTL
-	.globl _FLOWEQ0CTL
-	.globl _FLOWLOGIC
-	.globl _FLOWSTATE
-	.globl _GPIFABORT
-	.globl _GPIFREADYSTAT
-	.globl _GPIFREADYCFG
-	.globl _XGPIFSGLDATLNOX
-	.globl _XGPIFSGLDATLX
-	.globl _XGPIFSGLDATH
-	.globl _EP8GPIFTRIG
-	.globl _EP8GPIFPFSTOP
-	.globl _EP8GPIFFLGSEL
-	.globl _EP6GPIFTRIG
-	.globl _EP6GPIFPFSTOP
-	.globl _EP6GPIFFLGSEL
-	.globl _EP4GPIFTRIG
-	.globl _EP4GPIFPFSTOP
-	.globl _EP4GPIFFLGSEL
-	.globl _EP2GPIFTRIG
-	.globl _EP2GPIFPFSTOP
-	.globl _EP2GPIFFLGSEL
-	.globl _GPIFTCB0
-	.globl _GPIFTCB1
-	.globl _GPIFTCB2
-	.globl _GPIFTCB3
-	.globl _GPIFADRL
-	.globl _GPIFADRH
-	.globl _GPIFCTLCFG
-	.globl _GPIFIDLECTL
-	.globl _GPIFIDLECS
-	.globl _GPIFWFSELECT
-	.globl _SETUPDAT
-	.globl _SUDPTRCTL
-	.globl _SUDPTRL
-	.globl _SUDPTRH
-	.globl _EP8FIFOBCL
-	.globl _EP8FIFOBCH
-	.globl _EP6FIFOBCL
-	.globl _EP6FIFOBCH
-	.globl _EP4FIFOBCL
-	.globl _EP4FIFOBCH
-	.globl _EP2FIFOBCL
-	.globl _EP2FIFOBCH
-	.globl _EP8FIFOFLGS
-	.globl _EP6FIFOFLGS
-	.globl _EP4FIFOFLGS
-	.globl _EP2FIFOFLGS
-	.globl _EP8CS
-	.globl _EP6CS
-	.globl _EP4CS
-	.globl _EP2CS
-	.globl _EP1INCS
-	.globl _EP1OUTCS
-	.globl _EP0CS
-	.globl _EP8BCL
-	.globl _EP8BCH
-	.globl _EP6BCL
-	.globl _EP6BCH
-	.globl _EP4BCL
-	.globl _EP4BCH
-	.globl _EP2BCL
-	.globl _EP2BCH
-	.globl _EP1INBC
-	.globl _EP1OUTBC
-	.globl _EP0BCL
-	.globl _EP0BCH
-	.globl _FNADDR
-	.globl _MICROFRAME
-	.globl _USBFRAMEL
-	.globl _USBFRAMEH
-	.globl _TOGCTL
-	.globl _WAKEUPCS
-	.globl _SUSPEND
-	.globl _USBCS
-	.globl _XAUTODAT2
-	.globl _XAUTODAT1
-	.globl _I2CTL
-	.globl _I2DAT
-	.globl _I2CS
-	.globl _PORTECFG
-	.globl _PORTCCFG
-	.globl _PORTACFG
-	.globl _INTSETUP
-	.globl _INT4IVEC
-	.globl _INT2IVEC
-	.globl _CLRERRCNT
-	.globl _ERRCNTLIM
-	.globl _USBERRIRQ
-	.globl _USBERRIE
-	.globl _GPIFIRQ
-	.globl _GPIFIE
-	.globl _EPIRQ
-	.globl _EPIE
-	.globl _USBIRQ
-	.globl _USBIE
-	.globl _NAKIRQ
-	.globl _NAKIE
-	.globl _IBNIRQ
-	.globl _IBNIE
-	.globl _EP8FIFOIRQ
-	.globl _EP8FIFOIE
-	.globl _EP6FIFOIRQ
-	.globl _EP6FIFOIE
-	.globl _EP4FIFOIRQ
-	.globl _EP4FIFOIE
-	.globl _EP2FIFOIRQ
-	.globl _EP2FIFOIE
-	.globl _OUTPKTEND
-	.globl _INPKTEND
-	.globl _EP8ISOINPKTS
-	.globl _EP6ISOINPKTS
-	.globl _EP4ISOINPKTS
-	.globl _EP2ISOINPKTS
-	.globl _EP8FIFOPFL
-	.globl _EP8FIFOPFH
-	.globl _EP6FIFOPFL
-	.globl _EP6FIFOPFH
-	.globl _EP4FIFOPFL
-	.globl _EP4FIFOPFH
-	.globl _EP2FIFOPFL
-	.globl _EP2FIFOPFH
-	.globl _EP8AUTOINLENL
-	.globl _EP8AUTOINLENH
-	.globl _EP6AUTOINLENL
-	.globl _EP6AUTOINLENH
-	.globl _EP4AUTOINLENL
-	.globl _EP4AUTOINLENH
-	.globl _EP2AUTOINLENL
-	.globl _EP2AUTOINLENH
-	.globl _EP8FIFOCFG
-	.globl _EP6FIFOCFG
-	.globl _EP4FIFOCFG
-	.globl _EP2FIFOCFG
-	.globl _EP8CFG
-	.globl _EP6CFG
-	.globl _EP4CFG
-	.globl _EP2CFG
-	.globl _EP1INCFG
-	.globl _EP1OUTCFG
-	.globl _REVCTL
-	.globl _REVID
-	.globl _FIFOPINPOLAR
-	.globl _UART230
-	.globl _BPADDRL
-	.globl _BPADDRH
-	.globl _BREAKPT
-	.globl _FIFORESET
-	.globl _PINFLAGSCD
-	.globl _PINFLAGSAB
-	.globl _IFCONFIG
-	.globl _CPUCS
-	.globl _RES_WAVEDATA_END
-	.globl _GPIF_WAVE_DATA
-	.globl _hook_timer_tick
-;--------------------------------------------------------
-; special function registers
-;--------------------------------------------------------
-	.area RSEG    (DATA)
-_IOA	=	0x0080
-_SP	=	0x0081
-_DPL	=	0x0082
-_DPH	=	0x0083
-_DPL1	=	0x0084
-_DPH1	=	0x0085
-_DPS	=	0x0086
-_PCON	=	0x0087
-_TCON	=	0x0088
-_TMOD	=	0x0089
-_TL0	=	0x008a
-_TL1	=	0x008b
-_TH0	=	0x008c
-_TH1	=	0x008d
-_CKCON	=	0x008e
-_IOB	=	0x0090
-_EXIF	=	0x0091
-_MPAGE	=	0x0092
-_SCON0	=	0x0098
-_SBUF0	=	0x0099
-_APTR1H	=	0x009a
-_APTR1L	=	0x009b
-_AUTODAT1	=	0x009c
-_AUTOPTRH2	=	0x009d
-_AUTOPTRL2	=	0x009e
-_AUTODAT2	=	0x009f
-_IOC	=	0x00a0
-_INT2CLR	=	0x00a1
-_INT4CLR	=	0x00a2
-_IE	=	0x00a8
-_EP2468STAT	=	0x00aa
-_EP24FIFOFLGS	=	0x00ab
-_EP68FIFOFLGS	=	0x00ac
-_AUTOPTRSETUP	=	0x00af
-_IOD	=	0x00b0
-_IOE	=	0x00b1
-_OEA	=	0x00b2
-_OEB	=	0x00b3
-_OEC	=	0x00b4
-_OED	=	0x00b5
-_OEE	=	0x00b6
-_IP	=	0x00b8
-_EP01STAT	=	0x00ba
-_GPIFTRIG	=	0x00bb
-_GPIFSGLDATH	=	0x00bd
-_GPIFSGLDATLX	=	0x00be
-_GPIFSGLDATLNOX	=	0x00bf
-_SCON1	=	0x00c0
-_SBUF1	=	0x00c1
-_T2CON	=	0x00c8
-_RCAP2L	=	0x00ca
-_RCAP2H	=	0x00cb
-_TL2	=	0x00cc
-_TH2	=	0x00cd
-_PSW	=	0x00d0
-_EICON	=	0x00d8
-_ACC	=	0x00e0
-_EIE	=	0x00e8
-_B	=	0x00f0
-_EIP	=	0x00f8
-;--------------------------------------------------------
-; special function bits
-;--------------------------------------------------------
-	.area RSEG    (DATA)
-_A0	=	0x0080
-_A1	=	0x0081
-_A2	=	0x0082
-_A3	=	0x0083
-_A4	=	0x0084
-_A5	=	0x0085
-_A6	=	0x0086
-_A7	=	0x0087
-_SEL	=	0x0086
-_IT0	=	0x0088
-_IE0	=	0x0089
-_IT1	=	0x008a
-_IE1	=	0x008b
-_TR0	=	0x008c
-_TF0	=	0x008d
-_TR1	=	0x008e
-_TF1	=	0x008f
-_RI	=	0x0098
-_TI	=	0x0099
-_RB8	=	0x009a
-_TB8	=	0x009b
-_REN	=	0x009c
-_SM2	=	0x009d
-_SM1	=	0x009e
-_SM0	=	0x009f
-_EX0	=	0x00a8
-_ET0	=	0x00a9
-_EX1	=	0x00aa
-_ET1	=	0x00ab
-_ES0	=	0x00ac
-_ET2	=	0x00ad
-_ES1	=	0x00ae
-_EA	=	0x00af
-_D0	=	0x00b0
-_D1	=	0x00b1
-_D2	=	0x00b2
-_D3	=	0x00b3
-_D4	=	0x00b4
-_D5	=	0x00b5
-_D6	=	0x00b6
-_D7	=	0x00b7
-_PX0	=	0x00b8
-_PT0	=	0x00b9
-_PX1	=	0x00ba
-_PT1	=	0x00bb
-_PS0	=	0x00bc
-_PT2	=	0x00bd
-_PS1	=	0x00be
-_RI1	=	0x00c0
-_TI1	=	0x00c1
-_RB81	=	0x00c2
-_TB81	=	0x00c3
-_REN1	=	0x00c4
-_SM21	=	0x00c5
-_SM11	=	0x00c6
-_SM01	=	0x00c7
-_CP_RL2	=	0x00c8
-_C_T2	=	0x00c9
-_TR2	=	0x00ca
-_EXEN2	=	0x00cb
-_TCLK	=	0x00cc
-_RCLK	=	0x00cd
-_EXF2	=	0x00ce
-_TF2	=	0x00cf
-_P	=	0x00d0
-_FL	=	0x00d1
-_OV	=	0x00d2
-_RS0	=	0x00d3
-_RS1	=	0x00d4
-_F0	=	0x00d5
-_AC	=	0x00d6
-_CY	=	0x00d7
-_INT6	=	0x00db
-_RESI	=	0x00dc
-_ERESI	=	0x00dd
-_SMOD1	=	0x00df
-_EIUSB	=	0x00e8
-_EI2C	=	0x00e9
-_EIEX4	=	0x00ea
-_EIEX5	=	0x00eb
-_EIEX6	=	0x00ec
-_PUSB	=	0x00f8
-_PI2C	=	0x00f9
-_EIPX4	=	0x00fa
-_EIPX5	=	0x00fb
-_EIPX6	=	0x00fc
-;--------------------------------------------------------
-; overlayable register banks
-;--------------------------------------------------------
-	.area REG_BANK_0	(REL,OVR,DATA)
-	.ds 8
-;--------------------------------------------------------
-; internal ram data
-;--------------------------------------------------------
-	.area DSEG    (DATA)
-;--------------------------------------------------------
-; overlayable items in internal ram 
-;--------------------------------------------------------
-	.area OSEG    (OVR,DATA)
-;--------------------------------------------------------
-; indirectly addressable internal ram data
-;--------------------------------------------------------
-	.area ISEG    (DATA)
-;--------------------------------------------------------
-; absolute internal ram data
-;--------------------------------------------------------
-	.area IABS    (ABS,DATA)
-	.area IABS    (ABS,DATA)
-;--------------------------------------------------------
-; bit data
-;--------------------------------------------------------
-	.area BSEG    (BIT)
-;--------------------------------------------------------
-; paged external ram data
-;--------------------------------------------------------
-	.area PSEG    (PAG,XDATA)
-;--------------------------------------------------------
-; external ram data
-;--------------------------------------------------------
-	.area XSEG    (XDATA)
-_GPIF_WAVE_DATA	=	0xe400
-_RES_WAVEDATA_END	=	0xe480
-_CPUCS	=	0xe600
-_IFCONFIG	=	0xe601
-_PINFLAGSAB	=	0xe602
-_PINFLAGSCD	=	0xe603
-_FIFORESET	=	0xe604
-_BREAKPT	=	0xe605
-_BPADDRH	=	0xe606
-_BPADDRL	=	0xe607
-_UART230	=	0xe608
-_FIFOPINPOLAR	=	0xe609
-_REVID	=	0xe60a
-_REVCTL	=	0xe60b
-_EP1OUTCFG	=	0xe610
-_EP1INCFG	=	0xe611
-_EP2CFG	=	0xe612
-_EP4CFG	=	0xe613
-_EP6CFG	=	0xe614
-_EP8CFG	=	0xe615
-_EP2FIFOCFG	=	0xe618
-_EP4FIFOCFG	=	0xe619
-_EP6FIFOCFG	=	0xe61a
-_EP8FIFOCFG	=	0xe61b
-_EP2AUTOINLENH	=	0xe620
-_EP2AUTOINLENL	=	0xe621
-_EP4AUTOINLENH	=	0xe622
-_EP4AUTOINLENL	=	0xe623
-_EP6AUTOINLENH	=	0xe624
-_EP6AUTOINLENL	=	0xe625
-_EP8AUTOINLENH	=	0xe626
-_EP8AUTOINLENL	=	0xe627
-_EP2FIFOPFH	=	0xe630
-_EP2FIFOPFL	=	0xe631
-_EP4FIFOPFH	=	0xe632
-_EP4FIFOPFL	=	0xe633
-_EP6FIFOPFH	=	0xe634
-_EP6FIFOPFL	=	0xe635
-_EP8FIFOPFH	=	0xe636
-_EP8FIFOPFL	=	0xe637
-_EP2ISOINPKTS	=	0xe640
-_EP4ISOINPKTS	=	0xe641
-_EP6ISOINPKTS	=	0xe642
-_EP8ISOINPKTS	=	0xe643
-_INPKTEND	=	0xe648
-_OUTPKTEND	=	0xe649
-_EP2FIFOIE	=	0xe650
-_EP2FIFOIRQ	=	0xe651
-_EP4FIFOIE	=	0xe652
-_EP4FIFOIRQ	=	0xe653
-_EP6FIFOIE	=	0xe654
-_EP6FIFOIRQ	=	0xe655
-_EP8FIFOIE	=	0xe656
-_EP8FIFOIRQ	=	0xe657
-_IBNIE	=	0xe658
-_IBNIRQ	=	0xe659
-_NAKIE	=	0xe65a
-_NAKIRQ	=	0xe65b
-_USBIE	=	0xe65c
-_USBIRQ	=	0xe65d
-_EPIE	=	0xe65e
-_EPIRQ	=	0xe65f
-_GPIFIE	=	0xe660
-_GPIFIRQ	=	0xe661
-_USBERRIE	=	0xe662
-_USBERRIRQ	=	0xe663
-_ERRCNTLIM	=	0xe664
-_CLRERRCNT	=	0xe665
-_INT2IVEC	=	0xe666
-_INT4IVEC	=	0xe667
-_INTSETUP	=	0xe668
-_PORTACFG	=	0xe670
-_PORTCCFG	=	0xe671
-_PORTECFG	=	0xe672
-_I2CS	=	0xe678
-_I2DAT	=	0xe679
-_I2CTL	=	0xe67a
-_XAUTODAT1	=	0xe67b
-_XAUTODAT2	=	0xe67c
-_USBCS	=	0xe680
-_SUSPEND	=	0xe681
-_WAKEUPCS	=	0xe682
-_TOGCTL	=	0xe683
-_USBFRAMEH	=	0xe684
-_USBFRAMEL	=	0xe685
-_MICROFRAME	=	0xe686
-_FNADDR	=	0xe687
-_EP0BCH	=	0xe68a
-_EP0BCL	=	0xe68b
-_EP1OUTBC	=	0xe68d
-_EP1INBC	=	0xe68f
-_EP2BCH	=	0xe690
-_EP2BCL	=	0xe691
-_EP4BCH	=	0xe694
-_EP4BCL	=	0xe695
-_EP6BCH	=	0xe698
-_EP6BCL	=	0xe699
-_EP8BCH	=	0xe69c
-_EP8BCL	=	0xe69d
-_EP0CS	=	0xe6a0
-_EP1OUTCS	=	0xe6a1
-_EP1INCS	=	0xe6a2
-_EP2CS	=	0xe6a3
-_EP4CS	=	0xe6a4
-_EP6CS	=	0xe6a5
-_EP8CS	=	0xe6a6
-_EP2FIFOFLGS	=	0xe6a7
-_EP4FIFOFLGS	=	0xe6a8
-_EP6FIFOFLGS	=	0xe6a9
-_EP8FIFOFLGS	=	0xe6aa
-_EP2FIFOBCH	=	0xe6ab
-_EP2FIFOBCL	=	0xe6ac
-_EP4FIFOBCH	=	0xe6ad
-_EP4FIFOBCL	=	0xe6ae
-_EP6FIFOBCH	=	0xe6af
-_EP6FIFOBCL	=	0xe6b0
-_EP8FIFOBCH	=	0xe6b1
-_EP8FIFOBCL	=	0xe6b2
-_SUDPTRH	=	0xe6b3
-_SUDPTRL	=	0xe6b4
-_SUDPTRCTL	=	0xe6b5
-_SETUPDAT	=	0xe6b8
-_GPIFWFSELECT	=	0xe6c0
-_GPIFIDLECS	=	0xe6c1
-_GPIFIDLECTL	=	0xe6c2
-_GPIFCTLCFG	=	0xe6c3
-_GPIFADRH	=	0xe6c4
-_GPIFADRL	=	0xe6c5
-_GPIFTCB3	=	0xe6ce
-_GPIFTCB2	=	0xe6cf
-_GPIFTCB1	=	0xe6d0
-_GPIFTCB0	=	0xe6d1
-_EP2GPIFFLGSEL	=	0xe6d2
-_EP2GPIFPFSTOP	=	0xe6d3
-_EP2GPIFTRIG	=	0xe6d4
-_EP4GPIFFLGSEL	=	0xe6da
-_EP4GPIFPFSTOP	=	0xe6db
-_EP4GPIFTRIG	=	0xe6dc
-_EP6GPIFFLGSEL	=	0xe6e2
-_EP6GPIFPFSTOP	=	0xe6e3
-_EP6GPIFTRIG	=	0xe6e4
-_EP8GPIFFLGSEL	=	0xe6ea
-_EP8GPIFPFSTOP	=	0xe6eb
-_EP8GPIFTRIG	=	0xe6ec
-_XGPIFSGLDATH	=	0xe6f0
-_XGPIFSGLDATLX	=	0xe6f1
-_XGPIFSGLDATLNOX	=	0xe6f2
-_GPIFREADYCFG	=	0xe6f3
-_GPIFREADYSTAT	=	0xe6f4
-_GPIFABORT	=	0xe6f5
-_FLOWSTATE	=	0xe6c6
-_FLOWLOGIC	=	0xe6c7
-_FLOWEQ0CTL	=	0xe6c8
-_FLOWEQ1CTL	=	0xe6c9
-_FLOWHOLDOFF	=	0xe6ca
-_FLOWSTB	=	0xe6cb
-_FLOWSTBEDGE	=	0xe6cc
-_FLOWSTBHPERIOD	=	0xe6cd
-_GPIFHOLDAMOUNT	=	0xe60c
-_UDMACRCH	=	0xe67d
-_UDMACRCL	=	0xe67e
-_UDMACRCQUAL	=	0xe67f
-_DBUG	=	0xe6f8
-_TESTCFG	=	0xe6f9
-_USBTEST	=	0xe6fa
-_CT1	=	0xe6fb
-_CT2	=	0xe6fc
-_CT3	=	0xe6fd
-_CT4	=	0xe6fe
-_EP0BUF	=	0xe740
-_EP1OUTBUF	=	0xe780
-_EP1INBUF	=	0xe7c0
-_EP2FIFOBUF	=	0xf000
-_EP4FIFOBUF	=	0xf400
-_EP6FIFOBUF	=	0xf800
-_EP8FIFOBUF	=	0xfc00
-;--------------------------------------------------------
-; absolute external ram data
-;--------------------------------------------------------
-	.area XABS    (ABS,XDATA)
-;--------------------------------------------------------
-; external initialized ram data
-;--------------------------------------------------------
-	.area HOME    (CODE)
-	.area GSINIT0 (CODE)
-	.area GSINIT1 (CODE)
-	.area GSINIT2 (CODE)
-	.area GSINIT3 (CODE)
-	.area GSINIT4 (CODE)
-	.area GSINIT5 (CODE)
-	.area GSINIT  (CODE)
-	.area GSFINAL (CODE)
-	.area CSEG    (CODE)
-;--------------------------------------------------------
-; global & static initialisations
-;--------------------------------------------------------
-	.area HOME    (CODE)
-	.area GSINIT  (CODE)
-	.area GSFINAL (CODE)
-	.area GSINIT  (CODE)
-;--------------------------------------------------------
-; Home
-;--------------------------------------------------------
-	.area HOME    (CODE)
-	.area HOME    (CODE)
-;--------------------------------------------------------
-; code
-;--------------------------------------------------------
-	.area CSEG    (CODE)
-;------------------------------------------------------------
-;Allocation info for local variables in function 'hook_timer_tick'
-;------------------------------------------------------------
-;isr_tick_handler          Allocated to registers r2 r3 
-;------------------------------------------------------------
-;	timer.c:39: hook_timer_tick (unsigned short isr_tick_handler)
-;	-----------------------------------------
-;	 function hook_timer_tick
-;	-----------------------------------------
-_hook_timer_tick:
-	ar2 = 0x02
-	ar3 = 0x03
-	ar4 = 0x04
-	ar5 = 0x05
-	ar6 = 0x06
-	ar7 = 0x07
-	ar0 = 0x00
-	ar1 = 0x01
-	mov	r2,dpl
-	mov	r3,dph
-;	timer.c:41: ET2 = 0;			// disable timer 2 interrupts
-	clr	_ET2
-;	timer.c:42: hook_sv (SV_TIMER_2, isr_tick_handler);
-	mov	_hook_sv_PARM_2,r2
-	mov	(_hook_sv_PARM_2 + 1),r3
-	mov	dpl,#0x2B
-	lcall	_hook_sv
-;	timer.c:44: RCAP2H = RELOAD_VALUE >> 8;	// setup the auto reload value
-	mov	_RCAP2H,#0x63
-;	timer.c:45: RCAP2L = RELOAD_VALUE;
-	mov	_RCAP2L,#0xC0
-;	timer.c:47: T2CON = 0x04;			// interrupt on overflow; reload; run
-	mov	_T2CON,#0x04
-;	timer.c:48: ET2 = 1;			// enable timer 2 interrupts
-	setb	_ET2
-	ret
-	.area CSEG    (CODE)
-	.area CONST   (CODE)
-	.area CABS    (ABS,CODE)
diff --git a/firmware/GN3S_v2/lib/timer.c b/firmware/GN3S_v2/lib/timer.c
deleted file mode 100644
index 9e396f4..0000000
--- a/firmware/GN3S_v2/lib/timer.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2003 Free Software Foundation, Inc.
- * 
- * This file is part of GNU Radio
- * 
- * GNU Radio 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, or (at your option)
- * any later version.
- * 
- * GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
- * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "timer.h"
-#include "fx2regs.h"
-#include "isr.h"
-
-/*
- * Arrange to have isr_tick_handler called at 100 Hz.
- *
- * The cpu clock is running at 48e6.  The input to the timer
- * is 48e6 / 12 = 4e6.
- *
- * We arrange to have the timer overflow every 40000 clocks == 100 Hz
- */
-
-#define	RELOAD_VALUE	((unsigned short) -40000)
-
-void 
-hook_timer_tick (unsigned short isr_tick_handler)
-{
-  ET2 = 0;			// disable timer 2 interrupts
-  hook_sv (SV_TIMER_2, isr_tick_handler);
-  
-  RCAP2H = RELOAD_VALUE >> 8;	// setup the auto reload value
-  RCAP2L = RELOAD_VALUE;
-
-  T2CON = 0x04;			// interrupt on overflow; reload; run
-  ET2 = 1;			// enable timer 2 interrupts
-}
diff --git a/firmware/GN3S_v2/lib/timer.lst b/firmware/GN3S_v2/lib/timer.lst
deleted file mode 100644
index a05755e..0000000
--- a/firmware/GN3S_v2/lib/timer.lst
+++ /dev/null
@@ -1,770 +0,0 @@
-                              1 ;--------------------------------------------------------
-                              2 ; File Created by SDCC : free open source ANSI-C Compiler
-                              3 ; Version 2.9.0 #5416 (Feb  3 2010) (UNIX)
-                              4 ; This file was generated Mon Jul 30 11:40:53 2012
-                              5 ;--------------------------------------------------------
-                              6 	.module timer
-                              7 	.optsdcc -mmcs51 --model-small
-                              8 	
-                              9 ;--------------------------------------------------------
-                             10 ; Public variables in this module
-                             11 ;--------------------------------------------------------
-                             12 	.globl _EIPX6
-                             13 	.globl _EIPX5
-                             14 	.globl _EIPX4
-                             15 	.globl _PI2C
-                             16 	.globl _PUSB
-                             17 	.globl _EIEX6
-                             18 	.globl _EIEX5
-                             19 	.globl _EIEX4
-                             20 	.globl _EI2C
-                             21 	.globl _EIUSB
-                             22 	.globl _SMOD1
-                             23 	.globl _ERESI
-                             24 	.globl _RESI
-                             25 	.globl _INT6
-                             26 	.globl _CY
-                             27 	.globl _AC
-                             28 	.globl _F0
-                             29 	.globl _RS1
-                             30 	.globl _RS0
-                             31 	.globl _OV
-                             32 	.globl _FL
-                             33 	.globl _P
-                             34 	.globl _TF2
-                             35 	.globl _EXF2
-                             36 	.globl _RCLK
-                             37 	.globl _TCLK
-                             38 	.globl _EXEN2
-                             39 	.globl _TR2
-                             40 	.globl _C_T2
-                             41 	.globl _CP_RL2
-                             42 	.globl _SM01
-                             43 	.globl _SM11
-                             44 	.globl _SM21
-                             45 	.globl _REN1
-                             46 	.globl _TB81
-                             47 	.globl _RB81
-                             48 	.globl _TI1
-                             49 	.globl _RI1
-                             50 	.globl _PS1
-                             51 	.globl _PT2
-                             52 	.globl _PS0
-                             53 	.globl _PT1
-                             54 	.globl _PX1
-                             55 	.globl _PT0
-                             56 	.globl _PX0
-                             57 	.globl _D7
-                             58 	.globl _D6
-                             59 	.globl _D5
-                             60 	.globl _D4
-                             61 	.globl _D3
-                             62 	.globl _D2
-                             63 	.globl _D1
-                             64 	.globl _D0
-                             65 	.globl _EA
-                             66 	.globl _ES1
-                             67 	.globl _ET2
-                             68 	.globl _ES0
-                             69 	.globl _ET1
-                             70 	.globl _EX1
-                             71 	.globl _ET0
-                             72 	.globl _EX0
-                             73 	.globl _SM0
-                             74 	.globl _SM1
-                             75 	.globl _SM2
-                             76 	.globl _REN
-                             77 	.globl _TB8
-                             78 	.globl _RB8
-                             79 	.globl _TI
-                             80 	.globl _RI
-                             81 	.globl _TF1
-                             82 	.globl _TR1
-                             83 	.globl _TF0
-                             84 	.globl _TR0
-                             85 	.globl _IE1
-                             86 	.globl _IT1
-                             87 	.globl _IE0
-                             88 	.globl _IT0
-                             89 	.globl _SEL
-                             90 	.globl _A7
-                             91 	.globl _A6
-                             92 	.globl _A5
-                             93 	.globl _A4
-                             94 	.globl _A3
-                             95 	.globl _A2
-                             96 	.globl _A1
-                             97 	.globl _A0
-                             98 	.globl _EIP
-                             99 	.globl _B
-                            100 	.globl _EIE
-                            101 	.globl _ACC
-                            102 	.globl _EICON
-                            103 	.globl _PSW
-                            104 	.globl _TH2
-                            105 	.globl _TL2
-                            106 	.globl _RCAP2H
-                            107 	.globl _RCAP2L
-                            108 	.globl _T2CON
-                            109 	.globl _SBUF1
-                            110 	.globl _SCON1
-                            111 	.globl _GPIFSGLDATLNOX
-                            112 	.globl _GPIFSGLDATLX
-                            113 	.globl _GPIFSGLDATH
-                            114 	.globl _GPIFTRIG
-                            115 	.globl _EP01STAT
-                            116 	.globl _IP
-                            117 	.globl _OEE
-                            118 	.globl _OED
-                            119 	.globl _OEC
-                            120 	.globl _OEB
-                            121 	.globl _OEA
-                            122 	.globl _IOE
-                            123 	.globl _IOD
-                            124 	.globl _AUTOPTRSETUP
-                            125 	.globl _EP68FIFOFLGS
-                            126 	.globl _EP24FIFOFLGS
-                            127 	.globl _EP2468STAT
-                            128 	.globl _IE
-                            129 	.globl _INT4CLR
-                            130 	.globl _INT2CLR
-                            131 	.globl _IOC
-                            132 	.globl _AUTODAT2
-                            133 	.globl _AUTOPTRL2
-                            134 	.globl _AUTOPTRH2
-                            135 	.globl _AUTODAT1
-                            136 	.globl _APTR1L
-                            137 	.globl _APTR1H
-                            138 	.globl _SBUF0
-                            139 	.globl _SCON0
-                            140 	.globl _MPAGE
-                            141 	.globl _EXIF
-                            142 	.globl _IOB
-                            143 	.globl _CKCON
-                            144 	.globl _TH1
-                            145 	.globl _TH0
-                            146 	.globl _TL1
-                            147 	.globl _TL0
-                            148 	.globl _TMOD
-                            149 	.globl _TCON
-                            150 	.globl _PCON
-                            151 	.globl _DPS
-                            152 	.globl _DPH1
-                            153 	.globl _DPL1
-                            154 	.globl _DPH
-                            155 	.globl _DPL
-                            156 	.globl _SP
-                            157 	.globl _IOA
-                            158 	.globl _EP8FIFOBUF
-                            159 	.globl _EP6FIFOBUF
-                            160 	.globl _EP4FIFOBUF
-                            161 	.globl _EP2FIFOBUF
-                            162 	.globl _EP1INBUF
-                            163 	.globl _EP1OUTBUF
-                            164 	.globl _EP0BUF
-                            165 	.globl _CT4
-                            166 	.globl _CT3
-                            167 	.globl _CT2
-                            168 	.globl _CT1
-                            169 	.globl _USBTEST
-                            170 	.globl _TESTCFG
-                            171 	.globl _DBUG
-                            172 	.globl _UDMACRCQUAL
-                            173 	.globl _UDMACRCL
-                            174 	.globl _UDMACRCH
-                            175 	.globl _GPIFHOLDAMOUNT
-                            176 	.globl _FLOWSTBHPERIOD
-                            177 	.globl _FLOWSTBEDGE
-                            178 	.globl _FLOWSTB
-                            179 	.globl _FLOWHOLDOFF
-                            180 	.globl _FLOWEQ1CTL
-                            181 	.globl _FLOWEQ0CTL
-                            182 	.globl _FLOWLOGIC
-                            183 	.globl _FLOWSTATE
-                            184 	.globl _GPIFABORT
-                            185 	.globl _GPIFREADYSTAT
-                            186 	.globl _GPIFREADYCFG
-                            187 	.globl _XGPIFSGLDATLNOX
-                            188 	.globl _XGPIFSGLDATLX
-                            189 	.globl _XGPIFSGLDATH
-                            190 	.globl _EP8GPIFTRIG
-                            191 	.globl _EP8GPIFPFSTOP
-                            192 	.globl _EP8GPIFFLGSEL
-                            193 	.globl _EP6GPIFTRIG
-                            194 	.globl _EP6GPIFPFSTOP
-                            195 	.globl _EP6GPIFFLGSEL
-                            196 	.globl _EP4GPIFTRIG
-                            197 	.globl _EP4GPIFPFSTOP
-                            198 	.globl _EP4GPIFFLGSEL
-                            199 	.globl _EP2GPIFTRIG
-                            200 	.globl _EP2GPIFPFSTOP
-                            201 	.globl _EP2GPIFFLGSEL
-                            202 	.globl _GPIFTCB0
-                            203 	.globl _GPIFTCB1
-                            204 	.globl _GPIFTCB2
-                            205 	.globl _GPIFTCB3
-                            206 	.globl _GPIFADRL
-                            207 	.globl _GPIFADRH
-                            208 	.globl _GPIFCTLCFG
-                            209 	.globl _GPIFIDLECTL
-                            210 	.globl _GPIFIDLECS
-                            211 	.globl _GPIFWFSELECT
-                            212 	.globl _SETUPDAT
-                            213 	.globl _SUDPTRCTL
-                            214 	.globl _SUDPTRL
-                            215 	.globl _SUDPTRH
-                            216 	.globl _EP8FIFOBCL
-                            217 	.globl _EP8FIFOBCH
-                            218 	.globl _EP6FIFOBCL
-                            219 	.globl _EP6FIFOBCH
-                            220 	.globl _EP4FIFOBCL
-                            221 	.globl _EP4FIFOBCH
-                            222 	.globl _EP2FIFOBCL
-                            223 	.globl _EP2FIFOBCH
-                            224 	.globl _EP8FIFOFLGS
-                            225 	.globl _EP6FIFOFLGS
-                            226 	.globl _EP4FIFOFLGS
-                            227 	.globl _EP2FIFOFLGS
-                            228 	.globl _EP8CS
-                            229 	.globl _EP6CS
-                            230 	.globl _EP4CS
-                            231 	.globl _EP2CS
-                            232 	.globl _EP1INCS
-                            233 	.globl _EP1OUTCS
-                            234 	.globl _EP0CS
-                            235 	.globl _EP8BCL
-                            236 	.globl _EP8BCH
-                            237 	.globl _EP6BCL
-                            238 	.globl _EP6BCH
-                            239 	.globl _EP4BCL
-                            240 	.globl _EP4BCH
-                            241 	.globl _EP2BCL
-                            242 	.globl _EP2BCH
-                            243 	.globl _EP1INBC
-                            244 	.globl _EP1OUTBC
-                            245 	.globl _EP0BCL
-                            246 	.globl _EP0BCH
-                            247 	.globl _FNADDR
-                            248 	.globl _MICROFRAME
-                            249 	.globl _USBFRAMEL
-                            250 	.globl _USBFRAMEH
-                            251 	.globl _TOGCTL
-                            252 	.globl _WAKEUPCS
-                            253 	.globl _SUSPEND
-                            254 	.globl _USBCS
-                            255 	.globl _XAUTODAT2
-                            256 	.globl _XAUTODAT1
-                            257 	.globl _I2CTL
-                            258 	.globl _I2DAT
-                            259 	.globl _I2CS
-                            260 	.globl _PORTECFG
-                            261 	.globl _PORTCCFG
-                            262 	.globl _PORTACFG
-                            263 	.globl _INTSETUP
-                            264 	.globl _INT4IVEC
-                            265 	.globl _INT2IVEC
-                            266 	.globl _CLRERRCNT
-                            267 	.globl _ERRCNTLIM
-                            268 	.globl _USBERRIRQ
-                            269 	.globl _USBERRIE
-                            270 	.globl _GPIFIRQ
-                            271 	.globl _GPIFIE
-                            272 	.globl _EPIRQ
-                            273 	.globl _EPIE
-                            274 	.globl _USBIRQ
-                            275 	.globl _USBIE
-                            276 	.globl _NAKIRQ
-                            277 	.globl _NAKIE
-                            278 	.globl _IBNIRQ
-                            279 	.globl _IBNIE
-                            280 	.globl _EP8FIFOIRQ
-                            281 	.globl _EP8FIFOIE
-                            282 	.globl _EP6FIFOIRQ
-                            283 	.globl _EP6FIFOIE
-                            284 	.globl _EP4FIFOIRQ
-                            285 	.globl _EP4FIFOIE
-                            286 	.globl _EP2FIFOIRQ
-                            287 	.globl _EP2FIFOIE
-                            288 	.globl _OUTPKTEND
-                            289 	.globl _INPKTEND
-                            290 	.globl _EP8ISOINPKTS
-                            291 	.globl _EP6ISOINPKTS
-                            292 	.globl _EP4ISOINPKTS
-                            293 	.globl _EP2ISOINPKTS
-                            294 	.globl _EP8FIFOPFL
-                            295 	.globl _EP8FIFOPFH
-                            296 	.globl _EP6FIFOPFL
-                            297 	.globl _EP6FIFOPFH
-                            298 	.globl _EP4FIFOPFL
-                            299 	.globl _EP4FIFOPFH
-                            300 	.globl _EP2FIFOPFL
-                            301 	.globl _EP2FIFOPFH
-                            302 	.globl _EP8AUTOINLENL
-                            303 	.globl _EP8AUTOINLENH
-                            304 	.globl _EP6AUTOINLENL
-                            305 	.globl _EP6AUTOINLENH
-                            306 	.globl _EP4AUTOINLENL
-                            307 	.globl _EP4AUTOINLENH
-                            308 	.globl _EP2AUTOINLENL
-                            309 	.globl _EP2AUTOINLENH
-                            310 	.globl _EP8FIFOCFG
-                            311 	.globl _EP6FIFOCFG
-                            312 	.globl _EP4FIFOCFG
-                            313 	.globl _EP2FIFOCFG
-                            314 	.globl _EP8CFG
-                            315 	.globl _EP6CFG
-                            316 	.globl _EP4CFG
-                            317 	.globl _EP2CFG
-                            318 	.globl _EP1INCFG
-                            319 	.globl _EP1OUTCFG
-                            320 	.globl _REVCTL
-                            321 	.globl _REVID
-                            322 	.globl _FIFOPINPOLAR
-                            323 	.globl _UART230
-                            324 	.globl _BPADDRL
-                            325 	.globl _BPADDRH
-                            326 	.globl _BREAKPT
-                            327 	.globl _FIFORESET
-                            328 	.globl _PINFLAGSCD
-                            329 	.globl _PINFLAGSAB
-                            330 	.globl _IFCONFIG
-                            331 	.globl _CPUCS
-                            332 	.globl _RES_WAVEDATA_END
-                            333 	.globl _GPIF_WAVE_DATA
-                            334 	.globl _hook_timer_tick
-                            335 ;--------------------------------------------------------
-                            336 ; special function registers
-                            337 ;--------------------------------------------------------
-                            338 	.area RSEG    (DATA)
-                    0080    339 _IOA	=	0x0080
-                    0081    340 _SP	=	0x0081
-                    0082    341 _DPL	=	0x0082
-                    0083    342 _DPH	=	0x0083
-                    0084    343 _DPL1	=	0x0084
-                    0085    344 _DPH1	=	0x0085
-                    0086    345 _DPS	=	0x0086
-                    0087    346 _PCON	=	0x0087
-                    0088    347 _TCON	=	0x0088
-                    0089    348 _TMOD	=	0x0089
-                    008A    349 _TL0	=	0x008a
-                    008B    350 _TL1	=	0x008b
-                    008C    351 _TH0	=	0x008c
-                    008D    352 _TH1	=	0x008d
-                    008E    353 _CKCON	=	0x008e
-                    0090    354 _IOB	=	0x0090
-                    0091    355 _EXIF	=	0x0091
-                    0092    356 _MPAGE	=	0x0092
-                    0098    357 _SCON0	=	0x0098
-                    0099    358 _SBUF0	=	0x0099
-                    009A    359 _APTR1H	=	0x009a
-                    009B    360 _APTR1L	=	0x009b
-                    009C    361 _AUTODAT1	=	0x009c
-                    009D    362 _AUTOPTRH2	=	0x009d
-                    009E    363 _AUTOPTRL2	=	0x009e
-                    009F    364 _AUTODAT2	=	0x009f
-                    00A0    365 _IOC	=	0x00a0
-                    00A1    366 _INT2CLR	=	0x00a1
-                    00A2    367 _INT4CLR	=	0x00a2
-                    00A8    368 _IE	=	0x00a8
-                    00AA    369 _EP2468STAT	=	0x00aa
-                    00AB    370 _EP24FIFOFLGS	=	0x00ab
-                    00AC    371 _EP68FIFOFLGS	=	0x00ac
-                    00AF    372 _AUTOPTRSETUP	=	0x00af
-                    00B0    373 _IOD	=	0x00b0
-                    00B1    374 _IOE	=	0x00b1
-                    00B2    375 _OEA	=	0x00b2
-                    00B3    376 _OEB	=	0x00b3
-                    00B4    377 _OEC	=	0x00b4
-                    00B5    378 _OED	=	0x00b5
-                    00B6    379 _OEE	=	0x00b6
-                    00B8    380 _IP	=	0x00b8
-                    00BA    381 _EP01STAT	=	0x00ba
-                    00BB    382 _GPIFTRIG	=	0x00bb
-                    00BD    383 _GPIFSGLDATH	=	0x00bd
-                    00BE    384 _GPIFSGLDATLX	=	0x00be
-                    00BF    385 _GPIFSGLDATLNOX	=	0x00bf
-                    00C0    386 _SCON1	=	0x00c0
-                    00C1    387 _SBUF1	=	0x00c1
-                    00C8    388 _T2CON	=	0x00c8
-                    00CA    389 _RCAP2L	=	0x00ca
-                    00CB    390 _RCAP2H	=	0x00cb
-                    00CC    391 _TL2	=	0x00cc
-                    00CD    392 _TH2	=	0x00cd
-                    00D0    393 _PSW	=	0x00d0
-                    00D8    394 _EICON	=	0x00d8
-                    00E0    395 _ACC	=	0x00e0
-                    00E8    396 _EIE	=	0x00e8
-                    00F0    397 _B	=	0x00f0
-                    00F8    398 _EIP	=	0x00f8
-                            399 ;--------------------------------------------------------
-                            400 ; special function bits
-                            401 ;--------------------------------------------------------
-                            402 	.area RSEG    (DATA)
-                    0080    403 _A0	=	0x0080
-                    0081    404 _A1	=	0x0081
-                    0082    405 _A2	=	0x0082
-                    0083    406 _A3	=	0x0083
-                    0084    407 _A4	=	0x0084
-                    0085    408 _A5	=	0x0085
-                    0086    409 _A6	=	0x0086
-                    0087    410 _A7	=	0x0087
-                    0086    411 _SEL	=	0x0086
-                    0088    412 _IT0	=	0x0088
-                    0089    413 _IE0	=	0x0089
-                    008A    414 _IT1	=	0x008a
-                    008B    415 _IE1	=	0x008b
-                    008C    416 _TR0	=	0x008c
-                    008D    417 _TF0	=	0x008d
-                    008E    418 _TR1	=	0x008e
-                    008F    419 _TF1	=	0x008f
-                    0098    420 _RI	=	0x0098
-                    0099    421 _TI	=	0x0099
-                    009A    422 _RB8	=	0x009a
-                    009B    423 _TB8	=	0x009b
-                    009C    424 _REN	=	0x009c
-                    009D    425 _SM2	=	0x009d
-                    009E    426 _SM1	=	0x009e
-                    009F    427 _SM0	=	0x009f
-                    00A8    428 _EX0	=	0x00a8
-                    00A9    429 _ET0	=	0x00a9
-                    00AA    430 _EX1	=	0x00aa
-                    00AB    431 _ET1	=	0x00ab
-                    00AC    432 _ES0	=	0x00ac
-                    00AD    433 _ET2	=	0x00ad
-                    00AE    434 _ES1	=	0x00ae
-                    00AF    435 _EA	=	0x00af
-                    00B0    436 _D0	=	0x00b0
-                    00B1    437 _D1	=	0x00b1
-                    00B2    438 _D2	=	0x00b2
-                    00B3    439 _D3	=	0x00b3
-                    00B4    440 _D4	=	0x00b4
-                    00B5    441 _D5	=	0x00b5
-                    00B6    442 _D6	=	0x00b6
-                    00B7    443 _D7	=	0x00b7
-                    00B8    444 _PX0	=	0x00b8
-                    00B9    445 _PT0	=	0x00b9
-                    00BA    446 _PX1	=	0x00ba
-                    00BB    447 _PT1	=	0x00bb
-                    00BC    448 _PS0	=	0x00bc
-                    00BD    449 _PT2	=	0x00bd
-                    00BE    450 _PS1	=	0x00be
-                    00C0    451 _RI1	=	0x00c0
-                    00C1    452 _TI1	=	0x00c1
-                    00C2    453 _RB81	=	0x00c2
-                    00C3    454 _TB81	=	0x00c3
-                    00C4    455 _REN1	=	0x00c4
-                    00C5    456 _SM21	=	0x00c5
-                    00C6    457 _SM11	=	0x00c6
-                    00C7    458 _SM01	=	0x00c7
-                    00C8    459 _CP_RL2	=	0x00c8
-                    00C9    460 _C_T2	=	0x00c9
-                    00CA    461 _TR2	=	0x00ca
-                    00CB    462 _EXEN2	=	0x00cb
-                    00CC    463 _TCLK	=	0x00cc
-                    00CD    464 _RCLK	=	0x00cd
-                    00CE    465 _EXF2	=	0x00ce
-                    00CF    466 _TF2	=	0x00cf
-                    00D0    467 _P	=	0x00d0
-                    00D1    468 _FL	=	0x00d1
-                    00D2    469 _OV	=	0x00d2
-                    00D3    470 _RS0	=	0x00d3
-                    00D4    471 _RS1	=	0x00d4
-                    00D5    472 _F0	=	0x00d5
-                    00D6    473 _AC	=	0x00d6
-                    00D7    474 _CY	=	0x00d7
-                    00DB    475 _INT6	=	0x00db
-                    00DC    476 _RESI	=	0x00dc
-                    00DD    477 _ERESI	=	0x00dd
-                    00DF    478 _SMOD1	=	0x00df
-                    00E8    479 _EIUSB	=	0x00e8
-                    00E9    480 _EI2C	=	0x00e9
-                    00EA    481 _EIEX4	=	0x00ea
-                    00EB    482 _EIEX5	=	0x00eb
-                    00EC    483 _EIEX6	=	0x00ec
-                    00F8    484 _PUSB	=	0x00f8
-                    00F9    485 _PI2C	=	0x00f9
-                    00FA    486 _EIPX4	=	0x00fa
-                    00FB    487 _EIPX5	=	0x00fb
-                    00FC    488 _EIPX6	=	0x00fc
-                            489 ;--------------------------------------------------------
-                            490 ; overlayable register banks
-                            491 ;--------------------------------------------------------
-                            492 	.area REG_BANK_0	(REL,OVR,DATA)
-   0000                     493 	.ds 8
-                            494 ;--------------------------------------------------------
-                            495 ; internal ram data
-                            496 ;--------------------------------------------------------
-                            497 	.area DSEG    (DATA)
-                            498 ;--------------------------------------------------------
-                            499 ; overlayable items in internal ram 
-                            500 ;--------------------------------------------------------
-                            501 	.area OSEG    (OVR,DATA)
-                            502 ;--------------------------------------------------------
-                            503 ; indirectly addressable internal ram data
-                            504 ;--------------------------------------------------------
-                            505 	.area ISEG    (DATA)
-                            506 ;--------------------------------------------------------
-                            507 ; absolute internal ram data
-                            508 ;--------------------------------------------------------
-                            509 	.area IABS    (ABS,DATA)
-                            510 	.area IABS    (ABS,DATA)
-                            511 ;--------------------------------------------------------
-                            512 ; bit data
-                            513 ;--------------------------------------------------------
-                            514 	.area BSEG    (BIT)
-                            515 ;--------------------------------------------------------
-                            516 ; paged external ram data
-                            517 ;--------------------------------------------------------
-                            518 	.area PSEG    (PAG,XDATA)
-                            519 ;--------------------------------------------------------
-                            520 ; external ram data
-                            521 ;--------------------------------------------------------
-                            522 	.area XSEG    (XDATA)
-                    E400    523 _GPIF_WAVE_DATA	=	0xe400
-                    E480    524 _RES_WAVEDATA_END	=	0xe480
-                    E600    525 _CPUCS	=	0xe600
-                    E601    526 _IFCONFIG	=	0xe601
-                    E602    527 _PINFLAGSAB	=	0xe602
-                    E603    528 _PINFLAGSCD	=	0xe603
-                    E604    529 _FIFORESET	=	0xe604
-                    E605    530 _BREAKPT	=	0xe605
-                    E606    531 _BPADDRH	=	0xe606
-                    E607    532 _BPADDRL	=	0xe607
-                    E608    533 _UART230	=	0xe608
-                    E609    534 _FIFOPINPOLAR	=	0xe609
-                    E60A    535 _REVID	=	0xe60a
-                    E60B    536 _REVCTL	=	0xe60b
-                    E610    537 _EP1OUTCFG	=	0xe610
-                    E611    538 _EP1INCFG	=	0xe611
-                    E612    539 _EP2CFG	=	0xe612
-                    E613    540 _EP4CFG	=	0xe613
-                    E614    541 _EP6CFG	=	0xe614
-                    E615    542 _EP8CFG	=	0xe615
-                    E618    543 _EP2FIFOCFG	=	0xe618
-                    E619    544 _EP4FIFOCFG	=	0xe619
-                    E61A    545 _EP6FIFOCFG	=	0xe61a
-                    E61B    546 _EP8FIFOCFG	=	0xe61b
-                    E620    547 _EP2AUTOINLENH	=	0xe620
-                    E621    548 _EP2AUTOINLENL	=	0xe621
-                    E622    549 _EP4AUTOINLENH	=	0xe622
-                    E623    550 _EP4AUTOINLENL	=	0xe623
-                    E624    551 _EP6AUTOINLENH	=	0xe624
-                    E625    552 _EP6AUTOINLENL	=	0xe625
-                    E626    553 _EP8AUTOINLENH	=	0xe626
-                    E627    554 _EP8AUTOINLENL	=	0xe627
-                    E630    555 _EP2FIFOPFH	=	0xe630
-                    E631    556 _EP2FIFOPFL	=	0xe631
-                    E632    557 _EP4FIFOPFH	=	0xe632
-                    E633    558 _EP4FIFOPFL	=	0xe633
-                    E634    559 _EP6FIFOPFH	=	0xe634
-                    E635    560 _EP6FIFOPFL	=	0xe635
-                    E636    561 _EP8FIFOPFH	=	0xe636
-                    E637    562 _EP8FIFOPFL	=	0xe637
-                    E640    563 _EP2ISOINPKTS	=	0xe640
-                    E641    564 _EP4ISOINPKTS	=	0xe641
-                    E642    565 _EP6ISOINPKTS	=	0xe642
-                    E643    566 _EP8ISOINPKTS	=	0xe643
-                    E648    567 _INPKTEND	=	0xe648
-                    E649    568 _OUTPKTEND	=	0xe649
-                    E650    569 _EP2FIFOIE	=	0xe650
-                    E651    570 _EP2FIFOIRQ	=	0xe651
-                    E652    571 _EP4FIFOIE	=	0xe652
-                    E653    572 _EP4FIFOIRQ	=	0xe653
-                    E654    573 _EP6FIFOIE	=	0xe654
-                    E655    574 _EP6FIFOIRQ	=	0xe655
-                    E656    575 _EP8FIFOIE	=	0xe656
-                    E657    576 _EP8FIFOIRQ	=	0xe657
-                    E658    577 _IBNIE	=	0xe658
-                    E659    578 _IBNIRQ	=	0xe659
-                    E65A    579 _NAKIE	=	0xe65a
-                    E65B    580 _NAKIRQ	=	0xe65b
-                    E65C    581 _USBIE	=	0xe65c
-                    E65D    582 _USBIRQ	=	0xe65d
-                    E65E    583 _EPIE	=	0xe65e
-                    E65F    584 _EPIRQ	=	0xe65f
-                    E660    585 _GPIFIE	=	0xe660
-                    E661    586 _GPIFIRQ	=	0xe661
-                    E662    587 _USBERRIE	=	0xe662
-                    E663    588 _USBERRIRQ	=	0xe663
-                    E664    589 _ERRCNTLIM	=	0xe664
-                    E665    590 _CLRERRCNT	=	0xe665
-                    E666    591 _INT2IVEC	=	0xe666
-                    E667    592 _INT4IVEC	=	0xe667
-                    E668    593 _INTSETUP	=	0xe668
-                    E670    594 _PORTACFG	=	0xe670
-                    E671    595 _PORTCCFG	=	0xe671
-                    E672    596 _PORTECFG	=	0xe672
-                    E678    597 _I2CS	=	0xe678
-                    E679    598 _I2DAT	=	0xe679
-                    E67A    599 _I2CTL	=	0xe67a
-                    E67B    600 _XAUTODAT1	=	0xe67b
-                    E67C    601 _XAUTODAT2	=	0xe67c
-                    E680    602 _USBCS	=	0xe680
-                    E681    603 _SUSPEND	=	0xe681
-                    E682    604 _WAKEUPCS	=	0xe682
-                    E683    605 _TOGCTL	=	0xe683
-                    E684    606 _USBFRAMEH	=	0xe684
-                    E685    607 _USBFRAMEL	=	0xe685
-                    E686    608 _MICROFRAME	=	0xe686
-                    E687    609 _FNADDR	=	0xe687
-                    E68A    610 _EP0BCH	=	0xe68a
-                    E68B    611 _EP0BCL	=	0xe68b
-                    E68D    612 _EP1OUTBC	=	0xe68d
-                    E68F    613 _EP1INBC	=	0xe68f
-                    E690    614 _EP2BCH	=	0xe690
-                    E691    615 _EP2BCL	=	0xe691
-                    E694    616 _EP4BCH	=	0xe694
-                    E695    617 _EP4BCL	=	0xe695
-                    E698    618 _EP6BCH	=	0xe698
-                    E699    619 _EP6BCL	=	0xe699
-                    E69C    620 _EP8BCH	=	0xe69c
-                    E69D    621 _EP8BCL	=	0xe69d
-                    E6A0    622 _EP0CS	=	0xe6a0
-                    E6A1    623 _EP1OUTCS	=	0xe6a1
-                    E6A2    624 _EP1INCS	=	0xe6a2
-                    E6A3    625 _EP2CS	=	0xe6a3
-                    E6A4    626 _EP4CS	=	0xe6a4
-                    E6A5    627 _EP6CS	=	0xe6a5
-                    E6A6    628 _EP8CS	=	0xe6a6
-                    E6A7    629 _EP2FIFOFLGS	=	0xe6a7
-                    E6A8    630 _EP4FIFOFLGS	=	0xe6a8
-                    E6A9    631 _EP6FIFOFLGS	=	0xe6a9
-                    E6AA    632 _EP8FIFOFLGS	=	0xe6aa
-                    E6AB    633 _EP2FIFOBCH	=	0xe6ab
-                    E6AC    634 _EP2FIFOBCL	=	0xe6ac
-                    E6AD    635 _EP4FIFOBCH	=	0xe6ad
-                    E6AE    636 _EP4FIFOBCL	=	0xe6ae
-                    E6AF    637 _EP6FIFOBCH	=	0xe6af
-                    E6B0    638 _EP6FIFOBCL	=	0xe6b0
-                    E6B1    639 _EP8FIFOBCH	=	0xe6b1
-                    E6B2    640 _EP8FIFOBCL	=	0xe6b2
-                    E6B3    641 _SUDPTRH	=	0xe6b3
-                    E6B4    642 _SUDPTRL	=	0xe6b4
-                    E6B5    643 _SUDPTRCTL	=	0xe6b5
-                    E6B8    644 _SETUPDAT	=	0xe6b8
-                    E6C0    645 _GPIFWFSELECT	=	0xe6c0
-                    E6C1    646 _GPIFIDLECS	=	0xe6c1
-                    E6C2    647 _GPIFIDLECTL	=	0xe6c2
-                    E6C3    648 _GPIFCTLCFG	=	0xe6c3
-                    E6C4    649 _GPIFADRH	=	0xe6c4
-                    E6C5    650 _GPIFADRL	=	0xe6c5
-                    E6CE    651 _GPIFTCB3	=	0xe6ce
-                    E6CF    652 _GPIFTCB2	=	0xe6cf
-                    E6D0    653 _GPIFTCB1	=	0xe6d0
-                    E6D1    654 _GPIFTCB0	=	0xe6d1
-                    E6D2    655 _EP2GPIFFLGSEL	=	0xe6d2
-                    E6D3    656 _EP2GPIFPFSTOP	=	0xe6d3
-                    E6D4    657 _EP2GPIFTRIG	=	0xe6d4
-                    E6DA    658 _EP4GPIFFLGSEL	=	0xe6da
-                    E6DB    659 _EP4GPIFPFSTOP	=	0xe6db
-                    E6DC    660 _EP4GPIFTRIG	=	0xe6dc
-                    E6E2    661 _EP6GPIFFLGSEL	=	0xe6e2
-                    E6E3    662 _EP6GPIFPFSTOP	=	0xe6e3
-                    E6E4    663 _EP6GPIFTRIG	=	0xe6e4
-                    E6EA    664 _EP8GPIFFLGSEL	=	0xe6ea
-                    E6EB    665 _EP8GPIFPFSTOP	=	0xe6eb
-                    E6EC    666 _EP8GPIFTRIG	=	0xe6ec
-                    E6F0    667 _XGPIFSGLDATH	=	0xe6f0
-                    E6F1    668 _XGPIFSGLDATLX	=	0xe6f1
-                    E6F2    669 _XGPIFSGLDATLNOX	=	0xe6f2
-                    E6F3    670 _GPIFREADYCFG	=	0xe6f3
-                    E6F4    671 _GPIFREADYSTAT	=	0xe6f4
-                    E6F5    672 _GPIFABORT	=	0xe6f5
-                    E6C6    673 _FLOWSTATE	=	0xe6c6
-                    E6C7    674 _FLOWLOGIC	=	0xe6c7
-                    E6C8    675 _FLOWEQ0CTL	=	0xe6c8
-                    E6C9    676 _FLOWEQ1CTL	=	0xe6c9
-                    E6CA    677 _FLOWHOLDOFF	=	0xe6ca
-                    E6CB    678 _FLOWSTB	=	0xe6cb
-                    E6CC    679 _FLOWSTBEDGE	=	0xe6cc
-                    E6CD    680 _FLOWSTBHPERIOD	=	0xe6cd
-                    E60C    681 _GPIFHOLDAMOUNT	=	0xe60c
-                    E67D    682 _UDMACRCH	=	0xe67d
-                    E67E    683 _UDMACRCL	=	0xe67e
-                    E67F    684 _UDMACRCQUAL	=	0xe67f
-                    E6F8    685 _DBUG	=	0xe6f8
-                    E6F9    686 _TESTCFG	=	0xe6f9
-                    E6FA    687 _USBTEST	=	0xe6fa
-                    E6FB    688 _CT1	=	0xe6fb
-                    E6FC    689 _CT2	=	0xe6fc
-                    E6FD    690 _CT3	=	0xe6fd
-                    E6FE    691 _CT4	=	0xe6fe
-                    E740    692 _EP0BUF	=	0xe740
-                    E780    693 _EP1OUTBUF	=	0xe780
-                    E7C0    694 _EP1INBUF	=	0xe7c0
-                    F000    695 _EP2FIFOBUF	=	0xf000
-                    F400    696 _EP4FIFOBUF	=	0xf400
-                    F800    697 _EP6FIFOBUF	=	0xf800
-                    FC00    698 _EP8FIFOBUF	=	0xfc00
-                            699 ;--------------------------------------------------------
-                            700 ; absolute external ram data
-                            701 ;--------------------------------------------------------
-                            702 	.area XABS    (ABS,XDATA)
-                            703 ;--------------------------------------------------------
-                            704 ; external initialized ram data
-                            705 ;--------------------------------------------------------
-                            706 	.area HOME    (CODE)
-                            707 	.area GSINIT0 (CODE)
-                            708 	.area GSINIT1 (CODE)
-                            709 	.area GSINIT2 (CODE)
-                            710 	.area GSINIT3 (CODE)
-                            711 	.area GSINIT4 (CODE)
-                            712 	.area GSINIT5 (CODE)
-                            713 	.area GSINIT  (CODE)
-                            714 	.area GSFINAL (CODE)
-                            715 	.area CSEG    (CODE)
-                            716 ;--------------------------------------------------------
-                            717 ; global & static initialisations
-                            718 ;--------------------------------------------------------
-                            719 	.area HOME    (CODE)
-                            720 	.area GSINIT  (CODE)
-                            721 	.area GSFINAL (CODE)
-                            722 	.area GSINIT  (CODE)
-                            723 ;--------------------------------------------------------
-                            724 ; Home
-                            725 ;--------------------------------------------------------
-                            726 	.area HOME    (CODE)
-                            727 	.area HOME    (CODE)
-                            728 ;--------------------------------------------------------
-                            729 ; code
-                            730 ;--------------------------------------------------------
-                            731 	.area CSEG    (CODE)
-                            732 ;------------------------------------------------------------
-                            733 ;Allocation info for local variables in function 'hook_timer_tick'
-                            734 ;------------------------------------------------------------
-                            735 ;isr_tick_handler          Allocated to registers r2 r3 
-                            736 ;------------------------------------------------------------
-                            737 ;	timer.c:39: hook_timer_tick (unsigned short isr_tick_handler)
-                            738 ;	-----------------------------------------
-                            739 ;	 function hook_timer_tick
-                            740 ;	-----------------------------------------
-   0000                     741 _hook_timer_tick:
-                    0002    742 	ar2 = 0x02
-                    0003    743 	ar3 = 0x03
-                    0004    744 	ar4 = 0x04
-                    0005    745 	ar5 = 0x05
-                    0006    746 	ar6 = 0x06
-                    0007    747 	ar7 = 0x07
-                    0000    748 	ar0 = 0x00
-                    0001    749 	ar1 = 0x01
-   0000 AA 82               750 	mov	r2,dpl
-   0002 AB 83               751 	mov	r3,dph
-                            752 ;	timer.c:41: ET2 = 0;			// disable timer 2 interrupts
-   0004 C2 AD               753 	clr	_ET2
-                            754 ;	timer.c:42: hook_sv (SV_TIMER_2, isr_tick_handler);
-   0006 8A*00               755 	mov	_hook_sv_PARM_2,r2
-   0008 8B*01               756 	mov	(_hook_sv_PARM_2 + 1),r3
-   000A 75 82 2B            757 	mov	dpl,#0x2B
-   000D 12s00r00            758 	lcall	_hook_sv
-                            759 ;	timer.c:44: RCAP2H = RELOAD_VALUE >> 8;	// setup the auto reload value
-   0010 75 CB 63            760 	mov	_RCAP2H,#0x63
-                            761 ;	timer.c:45: RCAP2L = RELOAD_VALUE;
-   0013 75 CA C0            762 	mov	_RCAP2L,#0xC0
-                            763 ;	timer.c:47: T2CON = 0x04;			// interrupt on overflow; reload; run
-   0016 75 C8 04            764 	mov	_T2CON,#0x04
-                            765 ;	timer.c:48: ET2 = 1;			// enable timer 2 interrupts
-   0019 D2 AD               766 	setb	_ET2
-   001B 22                  767 	ret
-                            768 	.area CSEG    (CODE)
-                            769 	.area CONST   (CODE)
-                            770 	.area CABS    (ABS,CODE)
diff --git a/firmware/GN3S_v2/lib/timer.rel b/firmware/GN3S_v2/lib/timer.rel
deleted file mode 100644
index 7e37655..0000000
--- a/firmware/GN3S_v2/lib/timer.rel
+++ /dev/null
@@ -1,362 +0,0 @@
-XH
-H 17 areas 145 global symbols
-M timer
-O -mmcs51 --model-small
-S _EP8FIFOCFG DefE61B
-S _EPIRQ DefE65F
-S _USBERRIE DefE662
-S _EP6CS DefE6A5
-S _GPIFHOLDAMOUNT DefE60C
-S _SBUF1 Def00C1
-S _EIEX6 Def00EC
-S _EP1INBC DefE68F
-S _EP8FIFOBCL DefE6B2
-S _DBUG DefE6F8
-S _B Def00F0
-S _EXEN2 Def00CB
-S _EPIE DefE65E
-S _WAKEUPCS DefE682
-S _EP1OUTBC DefE68D
-S _EP8CS DefE6A6
-S _EP2GPIFTRIG DefE6D4
-S _SP Def0081
-S _SCON0 Def0098
-S _AUTODAT1 Def009C
-S _EI2C Def00E9
-S _INT2IVEC DefE666
-S _AUTODAT2 Def009F
-S _SCON1 Def00C0
-S _SMOD1 Def00DF
-S _MICROFRAME DefE686
-S _SUDPTRCTL DefE6B5
-S _EP4GPIFTRIG DefE6DC
-S _EP2468STAT Def00AA
-S _OV Def00D2
-S _INT4IVEC DefE667
-S _GPIFSGLDATLNOX Def00BF
-S _T2CON Def00C8
-S _EP6GPIFTRIG DefE6E4
-S _ACC Def00E0
-S _EP2FIFOBUF DefF000
-S _C_T2 Def00C9
-S _BREAKPT DefE605
-S _EP2FIFOPFH DefE630
-S _EP8GPIFTRIG DefE6EC
-S _AUTOPTRH2 Def009D
-S _SETUPDAT DefE6B8
-S _EP2GPIFFLGSEL DefE6D2
-S _EP4FIFOBUF DefF400
-S _EIPX4 Def00FA
-S _EP4FIFOPFH DefE632
-S _EP2ISOINPKTS DefE640
-S _GPIFREADYCFG DefE6F3
-S _EIPX5 Def00FB
-S _EP4GPIFFLGSEL DefE6DA
-S _FLOWSTBHPERIOD DefE6CD
-S _EP6FIFOBUF DefF800
-S _EXIF Def0091
-S _RCLK Def00CD
-S _EIPX6 Def00FC
-S _EP2FIFOPFL DefE631
-S _EP6FIFOPFH DefE634
-S _EP4ISOINPKTS DefE641
-S _DPH1 Def0085
-S _AUTOPTRL2 Def009E
-S _EP6GPIFFLGSEL DefE6E2
-S _EP8FIFOBUF DefFC00
-S _TCLK Def00CC
-S _PI2C Def00F9
-S _EP4FIFOPFL DefE633
-S _EP8FIFOPFH DefE636
-S _EP6ISOINPKTS DefE642
-S _FNADDR DefE687
-S _EP8GPIFFLGSEL DefE6EA
-S _TESTCFG DefE6F9
-S _PCON Def0087
-S _P Def00D0
-S _GPIF_WAVE_DATA DefE400
-S _EP6FIFOPFL DefE635
-S _EP8ISOINPKTS DefE643
-S _I2CS DefE678
-S _DPL1 Def0084
-S _GPIFIRQ DefE661
-S _EP0BCH DefE68A
-S _EP01STAT Def00BA
-S _EP8FIFOPFL DefE637
-S _EP1INCS DefE6A2
-S _EIE Def00E8
-S _RESI Def00DC
-S _GPIFIE DefE660
-S _EP2BCH DefE690
-S _EP1OUTCS DefE6A1
-S _TCON Def0088
-S _TMOD Def0089
-S _OEA Def00B2
-S _EXF2 Def00CE
-S _EP0BCL DefE68B
-S _EP4BCH DefE694
-S _OEB Def00B3
-S _REN1 Def00C4
-S _EP2CFG DefE612
-S _EP2FIFOIRQ DefE651
-S _GPIFREADYSTAT DefE6F4
-S _OEC Def00B4
-S _EP2BCL DefE691
-S _EP6BCH DefE698
-S _OED Def00B5
-S _hook_sv Ref0000
-S _EP4CFG DefE613
-S _EP2FIFOIE DefE650
-S _EP4FIFOIRQ DefE653
-S _IOA Def0080
-S _OEE Def00B6
-S _EP4BCL DefE695
-S _EP8BCH DefE69C
-S _IOB Def0090
-S _PUSB Def00F8
-S _EP6CFG DefE614
-S _EP4FIFOIE DefE652
-S _EP6FIFOIRQ DefE655
-S _IOC Def00A0
-S _INTSETUP DefE668
-S _EP6BCL DefE699
-S _DPH Def0083
-S _IOD Def00B0
-S _EP8CFG DefE615
-S _EP6FIFOIE DefE654
-S _EP8FIFOIRQ DefE657
-S _USBFRAMEH DefE684
-S _IOE Def00B1
-S _RB81 Def00C2
-S _EP2AUTOINLENH DefE620
-S _EP8BCL DefE69D
-S _GPIFABORT DefE6F5
-S _INT2CLR Def00A1
-S _EIP Def00F8
-S _IE0 Def0089
-S _EP8FIFOIE DefE656
-S _IE1 Def008B
-S _TB81 Def00C3
-S _EP4AUTOINLENH DefE622
-S _DPL Def0082
-S _INT4CLR Def00A2
-S _AUTOPTRSETUP Def00AF
-S _RCAP2H Def00CB
-S _USBFRAMEL DefE685
-S _XGPIFSGLDATLX DefE6F1
-S _FLOWEQ0CTL DefE6C8
-S _FLOWSTB DefE6CB
-S _SM01 Def00C7
-S _INT6 Def00DB
-S _EP2AUTOINLENL DefE621
-S _EP6AUTOINLENH DefE624
-S _SUSPEND DefE681
-S _FLOWEQ1CTL DefE6C9
-S _EP0BUF DefE740
-S _SM11 Def00C6
-S _CP_RL2 Def00C8
-S _GPIFWFSELECT DefE6C0
-S _SM21 Def00C5
-S _EP4AUTOINLENL DefE623
-S _EP8AUTOINLENH DefE626
-S _RCAP2L Def00CA
-S _SEL Def0086
-S _AC Def00D6
-S _IFCONFIG DefE601
-S _IBNIRQ DefE659
-S _GPIFADRH DefE6C4
-S _XGPIFSGLDATH DefE6F0
-S _REN Def009C
-S _EP6AUTOINLENL DefE625
-S _NAKIRQ DefE65B
-S _FLOWLOGIC DefE6C7
-S _EA Def00AF
-S _FIFORESET DefE604
-S _IBNIE DefE658
-S _GPIFIDLECTL DefE6C2
-S _UDMACRCH DefE67D
-S _DPS Def0086
-S _EP8AUTOINLENL DefE627
-S _NAKIE DefE65A
-S _CT1 DefE6FB
-S _ES0 Def00AC
-S _FIFOPINPOLAR DefE609
-S _GPIFADRL DefE6C5
-S _EP2GPIFPFSTOP DefE6D3
-S _CT2 DefE6FC
-S _GPIFSGLDATLX Def00BE
-S _ET0 Def00A9
-S _ES1 Def00AE
-S _SUDPTRH DefE6B3
-S _USBTEST DefE6FA
-S _CT3 DefE6FD
-S _MPAGE Def0092
-S _TF0 Def008D
-S _ET1 Def00AB
-S _EP4GPIFPFSTOP DefE6DB
-S _UDMACRCL DefE67E
-S _CT4 DefE6FE
-S _EP24FIFOFLGS Def00AB
-S _TF1 Def008F
-S _ET2 Def00AD
-S _RES_WAVEDATA_END DefE480
-S _TH0 Def008C
-S _RB8 Def009A
-S _RI1 Def00C0
-S _TF2 Def00CF
-S _EP1INCFG DefE611
-S _TOGCTL DefE683
-S _EP6GPIFPFSTOP DefE6E3
-S _TH1 Def008D
-S _GPIFSGLDATH Def00BD
-S _IT0 Def0088
-S _EX0 Def00A8
-S _EP1OUTCFG DefE610
-S _SUDPTRL DefE6B4
-S _CKCON Def008E
-S _IE Def00A8
-S _TH2 Def00CD
-S _EICON Def00D8
-S _IT1 Def008A
-S _TB8 Def009B
-S _EX1 Def00AA
-S _TI1 Def00C1
-S _CLRERRCNT DefE665
-S _GPIFTCB0 DefE6D1
-S _EP8GPIFPFSTOP DefE6EB
-S _REVCTL DefE60B
-S _ERRCNTLIM DefE664
-S _GPIFTCB1 DefE6D0
-S _TL0 Def008A
-S _APTR1H Def009A
-S _SM0 Def009F
-S _UART230 DefE608
-S _GPIFTCB2 DefE6CF
-S _TL1 Def008B
-S _A0 Def0080
-S _SM1 Def009E
-S _GPIFTCB3 DefE6CE
-S _UDMACRCQUAL DefE67F
-S _TL2 Def00CC
-S _A1 Def0081
-S _SM2 Def009D
-S _FL Def00D1
-S _EP68FIFOFLGS Def00AC
-S _A2 Def0082
-S _PS0 Def00BC
-S _I2DAT DefE679
-S _APTR1L Def009B
-S _A3 Def0083
-S _D0 Def00B0
-S _PT0 Def00B9
-S _PS1 Def00BE
-S _BPADDRH DefE606
-S _A4 Def0084
-S _D1 Def00B1
-S _PT1 Def00BB
-S _RS0 Def00D3
-S _USBIRQ DefE65D
-S _PORTACFG DefE670
-S _FLOWSTBEDGE DefE6CC
-S _A5 Def0085
-S _TR0 Def008C
-S _D2 Def00B2
-S _PT2 Def00BD
-S _RS1 Def00D4
-S _F0 Def00D5
-S _PINFLAGSAB DefE602
-S _EP2FIFOFLGS DefE6A7
-S _A6 Def0086
-S _TR1 Def008E
-S _D3 Def00B3
-S _USBIE DefE65C
-S _PORTCCFG DefE671
-S _EP2FIFOBCH DefE6AB
-S _A7 Def0087
-S _D4 Def00B4
-S _PX0 Def00B8
-S _TR2 Def00CA
-S _ERESI Def00DD
-S _EIUSB Def00E8
-S _hook_sv_PARM_2 Ref0000
-S _BPADDRL DefE607
-S _EP4FIFOFLGS DefE6A8
-S _GPIFCTLCFG DefE6C3
-S _FLOWSTATE DefE6C6
-S _IP Def00B8
-S _D5 Def00B5
-S _PX1 Def00BA
-S _REVID DefE60A
-S _PORTECFG DefE672
-S _EP4FIFOBCH DefE6AD
-S _GPIFIDLECS DefE6C1
-S _FLOWHOLDOFF DefE6CA
-S _EP1INBUF DefE7C0
-S _PSW Def00D0
-S _D6 Def00B6
-S _PINFLAGSCD DefE603
-S _EP2FIFOCFG DefE618
-S _XAUTODAT1 DefE67B
-S _EP0CS DefE6A0
-S _EP6FIFOFLGS DefE6A9
-S _EP1OUTBUF DefE780
-S _RI Def0098
-S _D7 Def00B7
-S _XAUTODAT2 DefE67C
-S _EP2FIFOBCL DefE6AC
-S _EP6FIFOBCH DefE6AF
-S _GPIFTRIG Def00BB
-S _CY Def00D7
-S _EP4FIFOCFG DefE619
-S _INPKTEND DefE648
-S _EP2CS DefE6A3
-S _EP8FIFOFLGS DefE6AA
-S _TI Def0099
-S _CPUCS DefE600
-S _OUTPKTEND DefE649
-S _I2CTL DefE67A
-S _EP4FIFOBCL DefE6AE
-S _EP8FIFOBCH DefE6B1
-S _XGPIFSGLDATLNOX DefE6F2
-S _EP6FIFOCFG DefE61A
-S _USBERRIRQ DefE663
-S _EP4CS DefE6A4
-S _EIEX4 Def00EA
-S _USBCS DefE680
-S _EP6FIFOBCL DefE6B0
-S _SBUF0 Def0099
-S _EIEX5 Def00EB
-A _CODE size 0 flags 0 addr 0
-A RSEG size 0 flags 0 addr 0
-A REG_BANK_0 size 8 flags 4 addr 0
-A DSEG size 0 flags 0 addr 0
-A OSEG size 0 flags 4 addr 0
-A ISEG size 0 flags 0 addr 0
-A IABS size 0 flags 8 addr 0
-A BSEG size 0 flags 80 addr 0
-A PSEG size 0 flags 50 addr 0
-A XSEG size 0 flags 40 addr 0
-A XABS size 0 flags 48 addr 0
-A HOME size 0 flags 20 addr 0
-A GSINIT0 size 0 flags 20 addr 0
-A GSINIT1 size 0 flags 20 addr 0
-A GSINIT2 size 0 flags 20 addr 0
-A GSINIT3 size 0 flags 20 addr 0
-A GSINIT4 size 0 flags 20 addr 0
-A GSINIT5 size 0 flags 20 addr 0
-A GSINIT size 0 flags 20 addr 0
-A GSFINAL size 0 flags 20 addr 0
-A CSEG size 1C flags 20 addr 0
-S _hook_timer_tick Def0000
-A CONST size 0 flags 20 addr 0
-A CABS size 0 flags 28 addr 0
-T 00 00
-R 00 00 00 02
-T 00 00
-R 00 00 00 14
-T 00 00 AA 82 AB 83 C2 AD 8A 00 00 00 8B 00 00 01
-R 00 00 00 14 F1 23 09 01 14 F1 23 0D 01 14
-T 00 0A 75 82 2B 12 00 00 75 CB 63 75 CA C0 75 C8
-R 00 00 00 14 02 06 00 66
-T 00 18 04 D2 AD 22
-R 00 00 00 14
diff --git a/firmware/GN3S_v2/lib/timer.sym b/firmware/GN3S_v2/lib/timer.sym
deleted file mode 100644
index 9019cbb..0000000
--- a/firmware/GN3S_v2/lib/timer.sym
+++ /dev/null
@@ -1,701 +0,0 @@
-
ASxxxx Assembler V01.70 + NoICE + SDCC mods + Flat24 Feb-1999  (Intel 8051), page 1.
-
-Symbol Table
-
-    A                                                              00D6 
-    AC                                                             00D6 
-    ACC                                                            00E0 
-    ACC.0                                                          00E0 
-    ACC.1                                                          00E1 
-    ACC.2                                                          00E2 
-    ACC.3                                                          00E3 
-    ACC.4                                                          00E4 
-    ACC.5                                                          00E5 
-    ACC.6                                                          00E6 
-    ACC.7                                                          00E7 
-    B                                                              00F0 
-    B.0                                                            00F0 
-    B.1                                                            00F1 
-    B.2                                                            00F2 
-    B.3                                                            00F3 
-    B.4                                                            00F4 
-    B.5                                                            00F5 
-    B.6                                                            00F6 
-    B.7                                                            00F7 
-    CPRL2                                                          00C8 
-    CT2                                                            00C9 
-    CY                                                             00D7 
-    DPH                                                            0083 
-    DPL                                                            0082 
-    EA                                                             00AF 
-    ES                                                             00AC 
-    ET0                                                            00A9 
-    ET1                                                            00AB 
-    ET2                                                            00AD 
-    EX0                                                            00A8 
-    EX1                                                            00AA 
-    EXEN2                                                          00CB 
-    EXF2                                                           00CE 
-    F0                                                             00D5 
-    IE                                                             00A8 
-    IE.0                                                           00A8 
-    IE.1                                                           00A9 
-    IE.2                                                           00AA 
-    IE.3                                                           00AB 
-    IE.4                                                           00AC 
-    IE.5                                                           00AD 
-    IE.7                                                           00AF 
-    IE0                                                            0089 
-    IE1                                                            008B 
-    INT0                                                           00B2 
-    INT1                                                           00B3 
-    IP                                                             00B8 
-    IP.0                                                           00B8 
-    IP.1                                                           00B9 
-    IP.2                                                           00BA 
-    IP.3                                                           00BB 
-    IP.4                                                           00BC 
-    IP.5                                                           00BD 
-    IT0                                                            0088 
-    IT1                                                            008A 
-    OV                                                             00D2 
-    P                                                              00D0 
-    P0                                                             0080 
-    P0.0                                                           0080 
-    P0.1                                                           0081 
-    P0.2                                                           0082 
-    P0.3                                                           0083 
-    P0.4                                                           0084 
-    P0.5                                                           0085 
-    P0.6                                                           0086 
-    P0.7                                                           0087 
-    P1                                                             0090 
-    P1.0                                                           0090 
-    P1.1                                                           0091 
-    P1.2                                                           0092 
-    P1.3                                                           0093 
-    P1.4                                                           0094 
-    P1.5                                                           0095 
-    P1.6                                                           0096 
-    P1.7                                                           0097 
-    P2                                                             00A0 
-    P2.0                                                           00A0 
-    P2.1                                                           00A1 
-    P2.2                                                           00A2 
-    P2.3                                                           00A3 
-    P2.4                                                           00A4 
-    P2.5                                                           00A5 
-    P2.6                                                           00A6 
-    P2.7                                                           00A7 
-    P3                                                             00B0 
-    P3.0                                                           00B0 
-    P3.1                                                           00B1 
-    P3.2                                                           00B2 
-    P3.3                                                           00B3 
-    P3.4                                                           00B4 
-    P3.5                                                           00B5 
-    P3.6                                                           00B6 
-    P3.7                                                           00B7 
-    PCON                                                           0087 
-    PS                                                             00BC 
-    PSW                                                            00D0 
-    PSW.0                                                          00D0 
-    PSW.1                                                          00D1 
-    PSW.2                                                          00D2 
-    PSW.3                                                          00D3 
-    PSW.4                                                          00D4 
-    PSW.5                                                          00D5 
-    PSW.6                                                          00D6 
-    PSW.7                                                          00D7 
-    PT0                                                            00B9 
-    PT1                                                            00BB 
-    PT2                                                            00BD 
-    PX0                                                            00B8 
-    PX1                                                            00BA 
-    RB8                                                            009A 
-    RCAP2H                                                         00CB 
-    RCAP2L                                                         00CA 
-    RCLK                                                           00CD 
-    REN                                                            009C 
-    RI                                                             0098 
-    RS0                                                            00D3 
-    RS1                                                            00D4 
-    RXD                                                            00B0 
-    SBUF                                                           0099 
-    SCON                                                           0098 
-    SCON.0                                                         0098 
-    SCON.1                                                         0099 
-    SCON.2                                                         009A 
-    SCON.3                                                         009B 
-    SCON.4                                                         009C 
-    SCON.5                                                         009D 
-    SCON.6                                                         009E 
-    SCON.7                                                         009F 
-    SM0                                                            009F 
-    SM1                                                            009E 
-    SM2                                                            009D 
-    SP                                                             0081 
-    T2CON                                                          00C8 
-    T2CON.0                                                        00C8 
-    T2CON.1                                                        00C9 
-    T2CON.2                                                        00CA 
-    T2CON.3                                                        00CB 
-    T2CON.4                                                        00CC 
-    T2CON.5                                                        00CD 
-    T2CON.6                                                        00CE 
-    T2CON.7                                                        00CF 
-    TB8                                                            009B 
-    TCLK                                                           00CC 
-    TCON                                                           0088 
-    TCON.0                                                         0088 
-    TCON.1                                                         0089 
-    TCON.2                                                         008A 
-    TCON.3                                                         008B 
-    TCON.4                                                         008C 
-    TCON.5                                                         008D 
-    TCON.6                                                         008E 
-    TCON.7                                                         008F 
-    TF0                                                            008D 
-    TF1                                                            008F 
-    TF2                                                            00CF 
-    TH0                                                            008C 
-    TH1                                                            008D 
-    TH2                                                            00CD 
-    TI                                                             0099 
-    TL0                                                            008A 
-    TL1                                                            008B 
-    TL2                                                            00CC 
-    TMOD                                                           0089 
-    TR0                                                            008C 
-    TR1                                                            008E 
-    TR2                                                            00CA 
-    TXD                                                            00B1 
-    _A0                                                         =  0080 G
-    _A1                                                         =  0081 G
-    _A2                                                         =  0082 G
-    _A3                                                         =  0083 G
-    _A4                                                         =  0084 G
-    _A5                                                         =  0085 G
-    _A6                                                         =  0086 G
-    _A7                                                         =  0087 G
-    _AC                                                         =  00D6 G
-    _ACC                                                        =  00E0 G
-    _APTR1H                                                     =  009A G
-    _APTR1L                                                     =  009B G
-    _AUTODAT1                                                   =  009C G
-    _AUTODAT2                                                   =  009F G
-    _AUTOPTRH2                                                  =  009D G
-    _AUTOPTRL2                                                  =  009E G
-    _AUTOPTRSETUP                                               =  00AF G
-    _B                                                          =  00F0 G
-    _BPADDRH                                                    =  E606 G
-    _BPADDRL                                                    =  E607 G
-    _BREAKPT                                                    =  E605 G
-    _CKCON                                                      =  008E G
-    _CLRERRCNT                                                  =  E665 G
-    _CPUCS                                                      =  E600 G
-    _CP_RL2                                                     =  00C8 G
-    _CT1                                                        =  E6FB G
-    _CT2                                                        =  E6FC G
-    _CT3                                                        =  E6FD G
-    _CT4                                                        =  E6FE G
-    _CY                                                         =  00D7 G
-    _C_T2                                                       =  00C9 G
-    _D0                                                         =  00B0 G
-    _D1                                                         =  00B1 G
-    _D2                                                         =  00B2 G
-    _D3                                                         =  00B3 G
-    _D4                                                         =  00B4 G
-    _D5                                                         =  00B5 G
-    _D6                                                         =  00B6 G
-    _D7                                                         =  00B7 G
-    _DBUG                                                       =  E6F8 G
-    _DPH                                                        =  0083 G
-    _DPH1                                                       =  0085 G
-    _DPL                                                        =  0082 G
-    _DPL1                                                       =  0084 G
-    _DPS                                                        =  0086 G
-    _EA                                                         =  00AF G
-    _EI2C                                                       =  00E9 G
-    _EICON                                                      =  00D8 G
-    _EIE                                                        =  00E8 G
-    _EIEX4                                                      =  00EA G
-    _EIEX5                                                      =  00EB G
-    _EIEX6                                                      =  00EC G
-    _EIP                                                        =  00F8 G
-    _EIPX4                                                      =  00FA G
-    _EIPX5                                                      =  00FB G
-    _EIPX6                                                      =  00FC G
-    _EIUSB                                                      =  00E8 G
-    _EP01STAT                                                   =  00BA G
-    _EP0BCH                                                     =  E68A G
-    _EP0BCL                                                     =  E68B G
-    _EP0BUF                                                     =  E740 G
-    _EP0CS                                                      =  E6A0 G
-    _EP1INBC                                                    =  E68F G
-    _EP1INBUF                                                   =  E7C0 G
-    _EP1INCFG                                                   =  E611 G
-    _EP1INCS                                                    =  E6A2 G
-    _EP1OUTBC                                                   =  E68D G
-    _EP1OUTBUF                                                  =  E780 G
-    _EP1OUTCFG                                                  =  E610 G
-    _EP1OUTCS                                                   =  E6A1 G
-    _EP2468STAT                                                 =  00AA G
-    _EP24FIFOFLGS                                               =  00AB G
-    _EP2AUTOINLENH                                              =  E620 G
-    _EP2AUTOINLENL                                              =  E621 G
-    _EP2BCH                                                     =  E690 G
-    _EP2BCL                                                     =  E691 G
-    _EP2CFG                                                     =  E612 G
-    _EP2CS                                                      =  E6A3 G
-    _EP2FIFOBCH                                                 =  E6AB G
-    _EP2FIFOBCL                                                 =  E6AC G
-    _EP2FIFOBUF                                                 =  F000 G
-    _EP2FIFOCFG                                                 =  E618 G
-    _EP2FIFOFLGS                                                =  E6A7 G
-    _EP2FIFOIE                                                  =  E650 G
-    _EP2FIFOIRQ                                                 =  E651 G
-    _EP2FIFOPFH                                                 =  E630 G
-    _EP2FIFOPFL                                                 =  E631 G
-    _EP2GPIFFLGSEL                                              =  E6D2 G
-    _EP2GPIFPFSTOP                                              =  E6D3 G
-    _EP2GPIFTRIG                                                =  E6D4 G
-    _EP2ISOINPKTS                                               =  E640 G
-    _EP4AUTOINLENH                                              =  E622 G
-    _EP4AUTOINLENL                                              =  E623 G
-    _EP4BCH                                                     =  E694 G
-    _EP4BCL                                                     =  E695 G
-    _EP4CFG                                                     =  E613 G
-    _EP4CS                                                      =  E6A4 G
-    _EP4FIFOBCH                                                 =  E6AD G
-    _EP4FIFOBCL                                                 =  E6AE G
-    _EP4FIFOBUF                                                 =  F400 G
-    _EP4FIFOCFG                                                 =  E619 G
-    _EP4FIFOFLGS                                                =  E6A8 G
-    _EP4FIFOIE                                                  =  E652 G
-    _EP4FIFOIRQ                                                 =  E653 G
-    _EP4FIFOPFH                                                 =  E632 G
-    _EP4FIFOPFL                                                 =  E633 G
-    _EP4GPIFFLGSEL                                              =  E6DA G
-    _EP4GPIFPFSTOP                                              =  E6DB G
-    _EP4GPIFTRIG                                                =  E6DC G
-    _EP4ISOINPKTS                                               =  E641 G
-    _EP68FIFOFLGS                                               =  00AC G
-    _EP6AUTOINLENH                                              =  E624 G
-    _EP6AUTOINLENL                                              =  E625 G
-    _EP6BCH                                                     =  E698 G
-    _EP6BCL                                                     =  E699 G
-    _EP6CFG                                                     =  E614 G
-    _EP6CS                                                      =  E6A5 G
-    _EP6FIFOBCH                                                 =  E6AF G
-    _EP6FIFOBCL                                                 =  E6B0 G
-    _EP6FIFOBUF                                                 =  F800 G
-    _EP6FIFOCFG                                                 =  E61A G
-    _EP6FIFOFLGS                                                =  E6A9 G
-    _EP6FIFOIE                                                  =  E654 G
-    _EP6FIFOIRQ                                                 =  E655 G
-    _EP6FIFOPFH                                                 =  E634 G
-    _EP6FIFOPFL                                                 =  E635 G
-    _EP6GPIFFLGSEL                                              =  E6E2 G
-    _EP6GPIFPFSTOP                                              =  E6E3 G
-    _EP6GPIFTRIG                                                =  E6E4 G
-    _EP6ISOINPKTS                                               =  E642 G
-    _EP8AUTOINLENH                                              =  E626 G
-    _EP8AUTOINLENL                                              =  E627 G
-    _EP8BCH                                                     =  E69C G
-    _EP8BCL                                                     =  E69D G
-    _EP8CFG                                                     =  E615 G
-    _EP8CS                                                      =  E6A6 G
-    _EP8FIFOBCH                                                 =  E6B1 G
-    _EP8FIFOBCL                                                 =  E6B2 G
-    _EP8FIFOBUF                                                 =  FC00 G
-    _EP8FIFOCFG                                                 =  E61B G
-    _EP8FIFOFLGS                                                =  E6AA G
-    _EP8FIFOIE                                                  =  E656 G
-    _EP8FIFOIRQ                                                 =  E657 G
-    _EP8FIFOPFH                                                 =  E636 G
-    _EP8FIFOPFL                                                 =  E637 G
-    _EP8GPIFFLGSEL                                              =  E6EA G
-    _EP8GPIFPFSTOP                                              =  E6EB G
-    _EP8GPIFTRIG                                                =  E6EC G
-    _EP8ISOINPKTS                                               =  E643 G
-    _EPIE                                                       =  E65E G
-    _EPIRQ                                                      =  E65F G
-    _ERESI                                                      =  00DD G
-    _ERRCNTLIM                                                  =  E664 G
-    _ES0                                                        =  00AC G
-    _ES1                                                        =  00AE G
-    _ET0                                                        =  00A9 G
-    _ET1                                                        =  00AB G
-    _ET2                                                        =  00AD G
-    _EX0                                                        =  00A8 G
-    _EX1                                                        =  00AA G
-    _EXEN2                                                      =  00CB G
-    _EXF2                                                       =  00CE G
-    _EXIF                                                       =  0091 G
-    _F0                                                         =  00D5 G
-    _FIFOPINPOLAR                                               =  E609 G
-    _FIFORESET                                                  =  E604 G
-    _FL                                                         =  00D1 G
-    _FLOWEQ0CTL                                                 =  E6C8 G
-    _FLOWEQ1CTL                                                 =  E6C9 G
-    _FLOWHOLDOFF                                                =  E6CA G
-    _FLOWLOGIC                                                  =  E6C7 G
-    _FLOWSTATE                                                  =  E6C6 G
-    _FLOWSTB                                                    =  E6CB G
-    _FLOWSTBEDGE                                                =  E6CC G
-    _FLOWSTBHPERIOD                                             =  E6CD G
-    _FNADDR                                                     =  E687 G
-    _GPIFABORT                                                  =  E6F5 G
-    _GPIFADRH                                                   =  E6C4 G
-    _GPIFADRL                                                   =  E6C5 G
-    _GPIFCTLCFG                                                 =  E6C3 G
-    _GPIFHOLDAMOUNT                                             =  E60C G
-    _GPIFIDLECS                                                 =  E6C1 G
-    _GPIFIDLECTL                                                =  E6C2 G
-    _GPIFIE                                                     =  E660 G
-    _GPIFIRQ                                                    =  E661 G
-    _GPIFREADYCFG                                               =  E6F3 G
-    _GPIFREADYSTAT                                              =  E6F4 G
-    _GPIFSGLDATH                                                =  00BD G
-    _GPIFSGLDATLNOX                                             =  00BF G
-    _GPIFSGLDATLX                                               =  00BE G
-    _GPIFTCB0                                                   =  E6D1 G
-    _GPIFTCB1                                                   =  E6D0 G
-    _GPIFTCB2                                                   =  E6CF G
-    _GPIFTCB3                                                   =  E6CE G
-    _GPIFTRIG                                                   =  00BB G
-    _GPIFWFSELECT                                               =  E6C0 G
-    _GPIF_WAVE_DATA                                             =  E400 G
-    _I2CS                                                       =  E678 G
-    _I2CTL                                                      =  E67A G
-    _I2DAT                                                      =  E679 G
-    _IBNIE                                                      =  E658 G
-    _IBNIRQ                                                     =  E659 G
-    _IE                                                         =  00A8 G
-    _IE0                                                        =  0089 G
-    _IE1                                                        =  008B G
-    _IFCONFIG                                                   =  E601 G
-    _INPKTEND                                                   =  E648 G
-    _INT2CLR                                                    =  00A1 G
-    _INT2IVEC                                                   =  E666 G
-    _INT4CLR                                                    =  00A2 G
-    _INT4IVEC                                                   =  E667 G
-    _INT6                                                       =  00DB G
-    _INTSETUP                                                   =  E668 G
-    _IOA                                                        =  0080 G
-    _IOB                                                        =  0090 G
-    _IOC                                                        =  00A0 G
-    _IOD                                                        =  00B0 G
-    _IOE                                                        =  00B1 G
-    _IP                                                         =  00B8 G
-    _IT0                                                        =  0088 G
-    _IT1                                                        =  008A G
-    _MICROFRAME                                                 =  E686 G
-    _MPAGE                                                      =  0092 G
-    _NAKIE                                                      =  E65A G
-    _NAKIRQ                                                     =  E65B G
-    _OEA                                                        =  00B2 G
-    _OEB                                                        =  00B3 G
-    _OEC                                                        =  00B4 G
-    _OED                                                        =  00B5 G
-    _OEE                                                        =  00B6 G
-    _OUTPKTEND                                                  =  E649 G
-    _OV                                                         =  00D2 G
-    _P                                                          =  00D0 G
-    _PCON                                                       =  0087 G
-    _PI2C                                                       =  00F9 G
-    _PINFLAGSAB                                                 =  E602 G
-    _PINFLAGSCD                                                 =  E603 G
-    _PORTACFG                                                   =  E670 G
-    _PORTCCFG                                                   =  E671 G
-    _PORTECFG                                                   =  E672 G
-    _PS0                                                        =  00BC G
-    _PS1                                                        =  00BE G
-    _PSW                                                        =  00D0 G
-    _PT0                                                        =  00B9 G
-    _PT1                                                        =  00BB G
-    _PT2                                                        =  00BD G
-    _PUSB                                                       =  00F8 G
-    _PX0                                                        =  00B8 G
-    _PX1                                                        =  00BA G
-    _RB8                                                        =  009A G
-    _RB81                                                       =  00C2 G
-    _RCAP2H                                                     =  00CB G
-    _RCAP2L                                                     =  00CA G
-    _RCLK                                                       =  00CD G
-    _REN                                                        =  009C G
-    _REN1                                                       =  00C4 G
-    _RESI                                                       =  00DC G
-    _RES_WAVEDATA_END                                           =  E480 G
-    _REVCTL                                                     =  E60B G
-    _REVID                                                      =  E60A G
-    _RI                                                         =  0098 G
-    _RI1                                                        =  00C0 G
-    _RS0                                                        =  00D3 G
-    _RS1                                                        =  00D4 G
-    _SBUF0                                                      =  0099 G
-    _SBUF1                                                      =  00C1 G
-    _SCON0                                                      =  0098 G
-    _SCON1                                                      =  00C0 G
-    _SEL                                                        =  0086 G
-    _SETUPDAT                                                   =  E6B8 G
-    _SM0                                                        =  009F G
-    _SM01                                                       =  00C7 G
-    _SM1                                                        =  009E G
-    _SM11                                                       =  00C6 G
-    _SM2                                                        =  009D G
-    _SM21                                                       =  00C5 G
-    _SMOD1                                                      =  00DF G
-    _SP                                                         =  0081 G
-    _SUDPTRCTL                                                  =  E6B5 G
-    _SUDPTRH                                                    =  E6B3 G
-    _SUDPTRL                                                    =  E6B4 G
-    _SUSPEND                                                    =  E681 G
-    _T2CON                                                      =  00C8 G
-    _TB8                                                        =  009B G
-    _TB81                                                       =  00C3 G
-    _TCLK                                                       =  00CC G
-    _TCON                                                       =  0088 G
-    _TESTCFG                                                    =  E6F9 G
-    _TF0                                                        =  008D G
-    _TF1                                                        =  008F G
-    _TF2                                                        =  00CF G
-    _TH0                                                        =  008C G
-    _TH1                                                        =  008D G
-    _TH2                                                        =  00CD G
-    _TI                                                         =  0099 G
-    _TI1                                                        =  00C1 G
-    _TL0                                                        =  008A G
-    _TL1                                                        =  008B G
-    _TL2                                                        =  00CC G
-    _TMOD                                                       =  0089 G
-    _TOGCTL                                                     =  E683 G
-    _TR0                                                        =  008C G
-    _TR1                                                        =  008E G
-    _TR2                                                        =  00CA G
-    _UART230                                                    =  E608 G
-    _UDMACRCH                                                   =  E67D G
-    _UDMACRCL                                                   =  E67E G
-    _UDMACRCQUAL                                                =  E67F G
-    _USBCS                                                      =  E680 G
-    _USBERRIE                                                   =  E662 G
-    _USBERRIRQ                                                  =  E663 G
-    _USBFRAMEH                                                  =  E684 G
-    _USBFRAMEL                                                  =  E685 G
-    _USBIE                                                      =  E65C G
-    _USBIRQ                                                     =  E65D G
-    _USBTEST                                                    =  E6FA G
-    _WAKEUPCS                                                   =  E682 G
-    _XAUTODAT1                                                  =  E67B G
-    _XAUTODAT2                                                  =  E67C G
-    _XGPIFSGLDATH                                               =  E6F0 G
-    _XGPIFSGLDATLNOX                                            =  E6F2 G
-    _XGPIFSGLDATLX                                              =  E6F1 G
-    _hook_sv                                                       **** GX
-    _hook_sv_PARM_2                                                **** GX
- 14 _hook_timer_tick                                               0000 GR
-    a                                                              00D6 
-    ac                                                             00D6 
-    acc                                                            00E0 
-    acc.0                                                          00E0 
-    acc.1                                                          00E1 
-    acc.2                                                          00E2 
-    acc.3                                                          00E3 
-    acc.4                                                          00E4 
-    acc.5                                                          00E5 
-    acc.6                                                          00E6 
-    acc.7                                                          00E7 
-    ar0                                                         =  0000 
-    ar1                                                         =  0001 
-    ar2                                                         =  0002 
-    ar3                                                         =  0003 
-    ar4                                                         =  0004 
-    ar5                                                         =  0005 
-    ar6                                                         =  0006 
-    ar7                                                         =  0007 
-    b                                                              00F0 
-    b.0                                                            00F0 
-    b.1                                                            00F1 
-    b.2                                                            00F2 
-    b.3                                                            00F3 
-    b.4                                                            00F4 
-    b.5                                                            00F5 
-    b.6                                                            00F6 
-    b.7                                                            00F7 
-    cprl2                                                          00C8 
-    ct2                                                            00C9 
-    cy                                                             00D7 
-    dph                                                            0083 
-    dpl                                                            0082 
-    ea                                                             00AF 
-    es                                                             00AC 
-    et0                                                            00A9 
-    et1                                                            00AB 
-    et2                                                            00AD 
-    ex0                                                            00A8 
-    ex1                                                            00AA 
-    exen2                                                          00CB 
-    exf2                                                           00CE 
-    f0                                                             00D5 
-    ie                                                             00A8 
-    ie.0                                                           00A8 
-    ie.1                                                           00A9 
-    ie.2                                                           00AA 
-    ie.3                                                           00AB 
-    ie.4                                                           00AC 
-    ie.5                                                           00AD 
-    ie.7                                                           00AF 
-    ie0                                                            0089 
-    ie1                                                            008B 
-    int0                                                           00B2 
-    int1                                                           00B3 
-    ip                                                             00B8 
-    ip.0                                                           00B8 
-    ip.1                                                           00B9 
-    ip.2                                                           00BA 
-    ip.3                                                           00BB 
-    ip.4                                                           00BC 
-    ip.5                                                           00BD 
-    it0                                                            0088 
-    it1                                                            008A 
-    ov                                                             00D2 
-    p                                                              00D0 
-    p0                                                             0080 
-    p0.0                                                           0080 
-    p0.1                                                           0081 
-    p0.2                                                           0082 
-    p0.3                                                           0083 
-    p0.4                                                           0084 
-    p0.5                                                           0085 
-    p0.6                                                           0086 
-    p0.7                                                           0087 
-    p1                                                             0090 
-    p1.0                                                           0090 
-    p1.1                                                           0091 
-    p1.2                                                           0092 
-    p1.3                                                           0093 
-    p1.4                                                           0094 
-    p1.5                                                           0095 
-    p1.6                                                           0096 
-    p1.7                                                           0097 
-    p2                                                             00A0 
-    p2.0                                                           00A0 
-    p2.1                                                           00A1 
-    p2.2                                                           00A2 
-    p2.3                                                           00A3 
-    p2.4                                                           00A4 
-    p2.5                                                           00A5 
-    p2.6                                                           00A6 
-    p2.7                                                           00A7 
-    p3                                                             00B0 
-    p3.0                                                           00B0 
-    p3.1                                                           00B1 
-    p3.2                                                           00B2 
-    p3.3                                                           00B3 
-    p3.4                                                           00B4 
-    p3.5                                                           00B5 
-    p3.6                                                           00B6 
-    p3.7                                                           00B7 
-    pcon                                                           0087 
-    ps                                                             00BC 
-    psw                                                            00D0 
-    psw.0                                                          00D0 
-    psw.1                                                          00D1 
-    psw.2                                                          00D2 
-    psw.3                                                          00D3 
-    psw.4                                                          00D4 
-    psw.5                                                          00D5 
-    psw.6                                                          00D6 
-    psw.7                                                          00D7 
-    pt0                                                            00B9 
-    pt1                                                            00BB 
-    pt2                                                            00BD 
-    px0                                                            00B8 
-    px1                                                            00BA 
-    rb8                                                            009A 
-    rcap2h                                                         00CB 
-    rcap2l                                                         00CA 
-    rclk                                                           00CD 
-    ren                                                            009C 
-    ri                                                             0098 
-    rs0                                                            00D3 
-    rs1                                                            00D4 
-    rxd                                                            00B0 
-    sbuf                                                           0099 
-    scon                                                           0098 
-    scon.0                                                         0098 
-    scon.1                                                         0099 
-    scon.2                                                         009A 
-    scon.3                                                         009B 
-    scon.4                                                         009C 
-    scon.5                                                         009D 
-    scon.6                                                         009E 
-    scon.7                                                         009F 
-    sm0                                                            009F 
-    sm1                                                            009E 
-    sm2                                                            009D 
-    sp                                                             0081 
-    t2con                                                          00C8 
-    t2con.0                                                        00C8 
-    t2con.1                                                        00C9 
-    t2con.2                                                        00CA 
-    t2con.3                                                        00CB 
-    t2con.4                                                        00CC 
-    t2con.5                                                        00CD 
-    t2con.6                                                        00CE 
-    t2con.7                                                        00CF 
-    tb8                                                            009B 
-    tclk                                                           00CC 
-    tcon                                                           0088 
-    tcon.0                                                         0088 
-    tcon.1                                                         0089 
-    tcon.2                                                         008A 
-    tcon.3                                                         008B 
-    tcon.4                                                         008C 
-    tcon.5                                                         008D 
-    tcon.6                                                         008E 
-    tcon.7                                                         008F 
-    tf0                                                            008D 
-    tf1                                                            008F 
-    tf2                                                            00CF 
-    th0                                                            008C 
-    th1                                                            008D 
-    th2                                                            00CD 
-    ti                                                             0099 
-    tl0                                                            008A 
-    tl1                                                            008B 
-    tl2                                                            00CC 
-    tmod                                                           0089 
-    tr0                                                            008C 
-    tr1                                                            008E 
-    tr2                                                            00CA 
-    txd                                                            00B1 
-
-
ASxxxx Assembler V01.70 + NoICE + SDCC mods + Flat24 Feb-1999  (Intel 8051), page 2.
-
-Area Table
-
-   0 _CODE                                                                              size    0   flags 0
-   1 RSEG                                                                               size    0   flags 0
-   2 REG_BANK_0                                                                         size    8   flags 4
-   3 DSEG                                                                               size    0   flags 0
-   4 OSEG                                                                               size    0   flags 4
-   5 ISEG                                                                               size    0   flags 0
-   6 IABS                                                                               size    0   flags 8
-   7 BSEG                                                                               size    0   flags 80
-   8 PSEG                                                                               size    0   flags 50
-   9 XSEG                                                                               size    0   flags 40
-   A XABS                                                                               size    0   flags 48
-   B HOME                                                                               size    0   flags 20
-   C GSINIT0                                                                            size    0   flags 20
-   D GSINIT1                                                                            size    0   flags 20
-   E GSINIT2                                                                            size    0   flags 20
-   F GSINIT3                                                                            size    0   flags 20
-  10 GSINIT4                                                                            size    0   flags 20
-  11 GSINIT5                                                                            size    0   flags 20
-  12 GSINIT                                                                             size    0   flags 20
-  13 GSFINAL                                                                            size    0   flags 20
-  14 CSEG                                                                               size   1C   flags 20
-  15 CONST                                                                              size    0   flags 20
-  16 CABS                                                                               size    0   flags 28
diff --git a/firmware/GN3S_v2/lib/usb_common.asm b/firmware/GN3S_v2/lib/usb_common.asm
deleted file mode 100644
index 36b0071..0000000
--- a/firmware/GN3S_v2/lib/usb_common.asm
+++ /dev/null
@@ -1,1595 +0,0 @@
-;--------------------------------------------------------
-; File Created by SDCC : free open source ANSI-C Compiler
-; Version 2.9.0 #5416 (Feb  3 2010) (UNIX)
-; This file was generated Mon Jul 30 11:40:53 2012
-;--------------------------------------------------------
-	.module usb_common
-	.optsdcc -mmcs51 --model-small
-	
-;--------------------------------------------------------
-; Public variables in this module
-;--------------------------------------------------------
-	.globl _epcs
-	.globl _plausible_endpoint
-	.globl _EIPX6
-	.globl _EIPX5
-	.globl _EIPX4
-	.globl _PI2C
-	.globl _PUSB
-	.globl _EIEX6
-	.globl _EIEX5
-	.globl _EIEX4
-	.globl _EI2C
-	.globl _EIUSB
-	.globl _SMOD1
-	.globl _ERESI
-	.globl _RESI
-	.globl _INT6
-	.globl _CY
-	.globl _AC
-	.globl _F0
-	.globl _RS1
-	.globl _RS0
-	.globl _OV
-	.globl _FL
-	.globl _P
-	.globl _TF2
-	.globl _EXF2
-	.globl _RCLK
-	.globl _TCLK
-	.globl _EXEN2
-	.globl _TR2
-	.globl _C_T2
-	.globl _CP_RL2
-	.globl _SM01
-	.globl _SM11
-	.globl _SM21
-	.globl _REN1
-	.globl _TB81
-	.globl _RB81
-	.globl _TI1
-	.globl _RI1
-	.globl _PS1
-	.globl _PT2
-	.globl _PS0
-	.globl _PT1
-	.globl _PX1
-	.globl _PT0
-	.globl _PX0
-	.globl _D7
-	.globl _D6
-	.globl _D5
-	.globl _D4
-	.globl _D3
-	.globl _D2
-	.globl _D1
-	.globl _D0
-	.globl _EA
-	.globl _ES1
-	.globl _ET2
-	.globl _ES0
-	.globl _ET1
-	.globl _EX1
-	.globl _ET0
-	.globl _EX0
-	.globl _SM0
-	.globl _SM1
-	.globl _SM2
-	.globl _REN
-	.globl _TB8
-	.globl _RB8
-	.globl _TI
-	.globl _RI
-	.globl _TF1
-	.globl _TR1
-	.globl _TF0
-	.globl _TR0
-	.globl _IE1
-	.globl _IT1
-	.globl _IE0
-	.globl _IT0
-	.globl _SEL
-	.globl _A7
-	.globl _A6
-	.globl _A5
-	.globl _A4
-	.globl _A3
-	.globl _A2
-	.globl _A1
-	.globl _A0
-	.globl _EIP
-	.globl _B
-	.globl _EIE
-	.globl _ACC
-	.globl _EICON
-	.globl _PSW
-	.globl _TH2
-	.globl _TL2
-	.globl _RCAP2H
-	.globl _RCAP2L
-	.globl _T2CON
-	.globl _SBUF1
-	.globl _SCON1
-	.globl _GPIFSGLDATLNOX
-	.globl _GPIFSGLDATLX
-	.globl _GPIFSGLDATH
-	.globl _GPIFTRIG
-	.globl _EP01STAT
-	.globl _IP
-	.globl _OEE
-	.globl _OED
-	.globl _OEC
-	.globl _OEB
-	.globl _OEA
-	.globl _IOE
-	.globl _IOD
-	.globl _AUTOPTRSETUP
-	.globl _EP68FIFOFLGS
-	.globl _EP24FIFOFLGS
-	.globl _EP2468STAT
-	.globl _IE
-	.globl _INT4CLR
-	.globl _INT2CLR
-	.globl _IOC
-	.globl _AUTODAT2
-	.globl _AUTOPTRL2
-	.globl _AUTOPTRH2
-	.globl _AUTODAT1
-	.globl _APTR1L
-	.globl _APTR1H
-	.globl _SBUF0
-	.globl _SCON0
-	.globl _MPAGE
-	.globl _EXIF
-	.globl _IOB
-	.globl _CKCON
-	.globl _TH1
-	.globl _TH0
-	.globl _TL1
-	.globl _TL0
-	.globl _TMOD
-	.globl _TCON
-	.globl _PCON
-	.globl _DPS
-	.globl _DPH1
-	.globl _DPL1
-	.globl _DPH
-	.globl _DPL
-	.globl _SP
-	.globl _IOA
-	.globl _EP8FIFOBUF
-	.globl _EP6FIFOBUF
-	.globl _EP4FIFOBUF
-	.globl _EP2FIFOBUF
-	.globl _EP1INBUF
-	.globl _EP1OUTBUF
-	.globl _EP0BUF
-	.globl _CT4
-	.globl _CT3
-	.globl _CT2
-	.globl _CT1
-	.globl _USBTEST
-	.globl _TESTCFG
-	.globl _DBUG
-	.globl _UDMACRCQUAL
-	.globl _UDMACRCL
-	.globl _UDMACRCH
-	.globl _GPIFHOLDAMOUNT
-	.globl _FLOWSTBHPERIOD
-	.globl _FLOWSTBEDGE
-	.globl _FLOWSTB
-	.globl _FLOWHOLDOFF
-	.globl _FLOWEQ1CTL
-	.globl _FLOWEQ0CTL
-	.globl _FLOWLOGIC
-	.globl _FLOWSTATE
-	.globl _GPIFABORT
-	.globl _GPIFREADYSTAT
-	.globl _GPIFREADYCFG
-	.globl _XGPIFSGLDATLNOX
-	.globl _XGPIFSGLDATLX
-	.globl _XGPIFSGLDATH
-	.globl _EP8GPIFTRIG
-	.globl _EP8GPIFPFSTOP
-	.globl _EP8GPIFFLGSEL
-	.globl _EP6GPIFTRIG
-	.globl _EP6GPIFPFSTOP
-	.globl _EP6GPIFFLGSEL
-	.globl _EP4GPIFTRIG
-	.globl _EP4GPIFPFSTOP
-	.globl _EP4GPIFFLGSEL
-	.globl _EP2GPIFTRIG
-	.globl _EP2GPIFPFSTOP
-	.globl _EP2GPIFFLGSEL
-	.globl _GPIFTCB0
-	.globl _GPIFTCB1
-	.globl _GPIFTCB2
-	.globl _GPIFTCB3
-	.globl _GPIFADRL
-	.globl _GPIFADRH
-	.globl _GPIFCTLCFG
-	.globl _GPIFIDLECTL
-	.globl _GPIFIDLECS
-	.globl _GPIFWFSELECT
-	.globl _SETUPDAT
-	.globl _SUDPTRCTL
-	.globl _SUDPTRL
-	.globl _SUDPTRH
-	.globl _EP8FIFOBCL
-	.globl _EP8FIFOBCH
-	.globl _EP6FIFOBCL
-	.globl _EP6FIFOBCH
-	.globl _EP4FIFOBCL
-	.globl _EP4FIFOBCH
-	.globl _EP2FIFOBCL
-	.globl _EP2FIFOBCH
-	.globl _EP8FIFOFLGS
-	.globl _EP6FIFOFLGS
-	.globl _EP4FIFOFLGS
-	.globl _EP2FIFOFLGS
-	.globl _EP8CS
-	.globl _EP6CS
-	.globl _EP4CS
-	.globl _EP2CS
-	.globl _EP1INCS
-	.globl _EP1OUTCS
-	.globl _EP0CS
-	.globl _EP8BCL
-	.globl _EP8BCH
-	.globl _EP6BCL
-	.globl _EP6BCH
-	.globl _EP4BCL
-	.globl _EP4BCH
-	.globl _EP2BCL
-	.globl _EP2BCH
-	.globl _EP1INBC
-	.globl _EP1OUTBC
-	.globl _EP0BCL
-	.globl _EP0BCH
-	.globl _FNADDR
-	.globl _MICROFRAME
-	.globl _USBFRAMEL
-	.globl _USBFRAMEH
-	.globl _TOGCTL
-	.globl _WAKEUPCS
-	.globl _SUSPEND
-	.globl _USBCS
-	.globl _XAUTODAT2
-	.globl _XAUTODAT1
-	.globl _I2CTL
-	.globl _I2DAT
-	.globl _I2CS
-	.globl _PORTECFG
-	.globl _PORTCCFG
-	.globl _PORTACFG
-	.globl _INTSETUP
-	.globl _INT4IVEC
-	.globl _INT2IVEC
-	.globl _CLRERRCNT
-	.globl _ERRCNTLIM
-	.globl _USBERRIRQ
-	.globl _USBERRIE
-	.globl _GPIFIRQ
-	.globl _GPIFIE
-	.globl _EPIRQ
-	.globl _EPIE
-	.globl _USBIRQ
-	.globl _USBIE
-	.globl _NAKIRQ
-	.globl _NAKIE
-	.globl _IBNIRQ
-	.globl _IBNIE
-	.globl _EP8FIFOIRQ
-	.globl _EP8FIFOIE
-	.globl _EP6FIFOIRQ
-	.globl _EP6FIFOIE
-	.globl _EP4FIFOIRQ
-	.globl _EP4FIFOIE
-	.globl _EP2FIFOIRQ
-	.globl _EP2FIFOIE
-	.globl _OUTPKTEND
-	.globl _INPKTEND
-	.globl _EP8ISOINPKTS
-	.globl _EP6ISOINPKTS
-	.globl _EP4ISOINPKTS
-	.globl _EP2ISOINPKTS
-	.globl _EP8FIFOPFL
-	.globl _EP8FIFOPFH
-	.globl _EP6FIFOPFL
-	.globl _EP6FIFOPFH
-	.globl _EP4FIFOPFL
-	.globl _EP4FIFOPFH
-	.globl _EP2FIFOPFL
-	.globl _EP2FIFOPFH
-	.globl _EP8AUTOINLENL
-	.globl _EP8AUTOINLENH
-	.globl _EP6AUTOINLENL
-	.globl _EP6AUTOINLENH
-	.globl _EP4AUTOINLENL
-	.globl _EP4AUTOINLENH
-	.globl _EP2AUTOINLENL
-	.globl _EP2AUTOINLENH
-	.globl _EP8FIFOCFG
-	.globl _EP6FIFOCFG
-	.globl _EP4FIFOCFG
-	.globl _EP2FIFOCFG
-	.globl _EP8CFG
-	.globl _EP6CFG
-	.globl _EP4CFG
-	.globl _EP2CFG
-	.globl _EP1INCFG
-	.globl _EP1OUTCFG
-	.globl _REVCTL
-	.globl _REVID
-	.globl _FIFOPINPOLAR
-	.globl _UART230
-	.globl _BPADDRL
-	.globl _BPADDRH
-	.globl _BREAKPT
-	.globl _FIFORESET
-	.globl _PINFLAGSCD
-	.globl _PINFLAGSAB
-	.globl _IFCONFIG
-	.globl _CPUCS
-	.globl _RES_WAVEDATA_END
-	.globl _GPIF_WAVE_DATA
-	.globl __usb_rx_overrun
-	.globl __usb_got_SUDAV
-	.globl _other_config_descr
-	.globl _current_config_descr
-	.globl _current_devqual_descr
-	.globl _current_device_descr
-	.globl __usb_alt_setting
-	.globl __usb_config
-	.globl _usb_install_handlers
-	.globl _usb_handle_setup_packet
-;--------------------------------------------------------
-; special function registers
-;--------------------------------------------------------
-	.area RSEG    (DATA)
-_IOA	=	0x0080
-_SP	=	0x0081
-_DPL	=	0x0082
-_DPH	=	0x0083
-_DPL1	=	0x0084
-_DPH1	=	0x0085
-_DPS	=	0x0086
-_PCON	=	0x0087
-_TCON	=	0x0088
-_TMOD	=	0x0089
-_TL0	=	0x008a
-_TL1	=	0x008b
-_TH0	=	0x008c
-_TH1	=	0x008d
-_CKCON	=	0x008e
-_IOB	=	0x0090
-_EXIF	=	0x0091
-_MPAGE	=	0x0092
-_SCON0	=	0x0098
-_SBUF0	=	0x0099
-_APTR1H	=	0x009a
-_APTR1L	=	0x009b
-_AUTODAT1	=	0x009c
-_AUTOPTRH2	=	0x009d
-_AUTOPTRL2	=	0x009e
-_AUTODAT2	=	0x009f
-_IOC	=	0x00a0
-_INT2CLR	=	0x00a1
-_INT4CLR	=	0x00a2
-_IE	=	0x00a8
-_EP2468STAT	=	0x00aa
-_EP24FIFOFLGS	=	0x00ab
-_EP68FIFOFLGS	=	0x00ac
-_AUTOPTRSETUP	=	0x00af
-_IOD	=	0x00b0
-_IOE	=	0x00b1
-_OEA	=	0x00b2
-_OEB	=	0x00b3
-_OEC	=	0x00b4
-_OED	=	0x00b5
-_OEE	=	0x00b6
-_IP	=	0x00b8
-_EP01STAT	=	0x00ba
-_GPIFTRIG	=	0x00bb
-_GPIFSGLDATH	=	0x00bd
-_GPIFSGLDATLX	=	0x00be
-_GPIFSGLDATLNOX	=	0x00bf
-_SCON1	=	0x00c0
-_SBUF1	=	0x00c1
-_T2CON	=	0x00c8
-_RCAP2L	=	0x00ca
-_RCAP2H	=	0x00cb
-_TL2	=	0x00cc
-_TH2	=	0x00cd
-_PSW	=	0x00d0
-_EICON	=	0x00d8
-_ACC	=	0x00e0
-_EIE	=	0x00e8
-_B	=	0x00f0
-_EIP	=	0x00f8
-;--------------------------------------------------------
-; special function bits
-;--------------------------------------------------------
-	.area RSEG    (DATA)
-_A0	=	0x0080
-_A1	=	0x0081
-_A2	=	0x0082
-_A3	=	0x0083
-_A4	=	0x0084
-_A5	=	0x0085
-_A6	=	0x0086
-_A7	=	0x0087
-_SEL	=	0x0086
-_IT0	=	0x0088
-_IE0	=	0x0089
-_IT1	=	0x008a
-_IE1	=	0x008b
-_TR0	=	0x008c
-_TF0	=	0x008d
-_TR1	=	0x008e
-_TF1	=	0x008f
-_RI	=	0x0098
-_TI	=	0x0099
-_RB8	=	0x009a
-_TB8	=	0x009b
-_REN	=	0x009c
-_SM2	=	0x009d
-_SM1	=	0x009e
-_SM0	=	0x009f
-_EX0	=	0x00a8
-_ET0	=	0x00a9
-_EX1	=	0x00aa
-_ET1	=	0x00ab
-_ES0	=	0x00ac
-_ET2	=	0x00ad
-_ES1	=	0x00ae
-_EA	=	0x00af
-_D0	=	0x00b0
-_D1	=	0x00b1
-_D2	=	0x00b2
-_D3	=	0x00b3
-_D4	=	0x00b4
-_D5	=	0x00b5
-_D6	=	0x00b6
-_D7	=	0x00b7
-_PX0	=	0x00b8
-_PT0	=	0x00b9
-_PX1	=	0x00ba
-_PT1	=	0x00bb
-_PS0	=	0x00bc
-_PT2	=	0x00bd
-_PS1	=	0x00be
-_RI1	=	0x00c0
-_TI1	=	0x00c1
-_RB81	=	0x00c2
-_TB81	=	0x00c3
-_REN1	=	0x00c4
-_SM21	=	0x00c5
-_SM11	=	0x00c6
-_SM01	=	0x00c7
-_CP_RL2	=	0x00c8
-_C_T2	=	0x00c9
-_TR2	=	0x00ca
-_EXEN2	=	0x00cb
-_TCLK	=	0x00cc
-_RCLK	=	0x00cd
-_EXF2	=	0x00ce
-_TF2	=	0x00cf
-_P	=	0x00d0
-_FL	=	0x00d1
-_OV	=	0x00d2
-_RS0	=	0x00d3
-_RS1	=	0x00d4
-_F0	=	0x00d5
-_AC	=	0x00d6
-_CY	=	0x00d7
-_INT6	=	0x00db
-_RESI	=	0x00dc
-_ERESI	=	0x00dd
-_SMOD1	=	0x00df
-_EIUSB	=	0x00e8
-_EI2C	=	0x00e9
-_EIEX4	=	0x00ea
-_EIEX5	=	0x00eb
-_EIEX6	=	0x00ec
-_PUSB	=	0x00f8
-_PI2C	=	0x00f9
-_EIPX4	=	0x00fa
-_EIPX5	=	0x00fb
-_EIPX6	=	0x00fc
-;--------------------------------------------------------
-; overlayable register banks
-;--------------------------------------------------------
-	.area REG_BANK_0	(REL,OVR,DATA)
-	.ds 8
-;--------------------------------------------------------
-; overlayable bit register bank
-;--------------------------------------------------------
-	.area BIT_BANK	(REL,OVR,DATA)
-bits:
-	.ds 1
-	b0 = bits[0]
-	b1 = bits[1]
-	b2 = bits[2]
-	b3 = bits[3]
-	b4 = bits[4]
-	b5 = bits[5]
-	b6 = bits[6]
-	b7 = bits[7]
-;--------------------------------------------------------
-; internal ram data
-;--------------------------------------------------------
-	.area DSEG    (DATA)
-__usb_config::
-	.ds 1
-__usb_alt_setting::
-	.ds 1
-_current_device_descr::
-	.ds 2
-_current_devqual_descr::
-	.ds 2
-_current_config_descr::
-	.ds 2
-_other_config_descr::
-	.ds 2
-;--------------------------------------------------------
-; overlayable items in internal ram 
-;--------------------------------------------------------
-	.area	OSEG    (OVR,DATA)
-	.area	OSEG    (OVR,DATA)
-;--------------------------------------------------------
-; indirectly addressable internal ram data
-;--------------------------------------------------------
-	.area ISEG    (DATA)
-;--------------------------------------------------------
-; absolute internal ram data
-;--------------------------------------------------------
-	.area IABS    (ABS,DATA)
-	.area IABS    (ABS,DATA)
-;--------------------------------------------------------
-; bit data
-;--------------------------------------------------------
-	.area BSEG    (BIT)
-__usb_got_SUDAV::
-	.ds 1
-__usb_rx_overrun::
-	.ds 1
-;--------------------------------------------------------
-; paged external ram data
-;--------------------------------------------------------
-	.area PSEG    (PAG,XDATA)
-;--------------------------------------------------------
-; external ram data
-;--------------------------------------------------------
-	.area XSEG    (XDATA)
-_GPIF_WAVE_DATA	=	0xe400
-_RES_WAVEDATA_END	=	0xe480
-_CPUCS	=	0xe600
-_IFCONFIG	=	0xe601
-_PINFLAGSAB	=	0xe602
-_PINFLAGSCD	=	0xe603
-_FIFORESET	=	0xe604
-_BREAKPT	=	0xe605
-_BPADDRH	=	0xe606
-_BPADDRL	=	0xe607
-_UART230	=	0xe608
-_FIFOPINPOLAR	=	0xe609
-_REVID	=	0xe60a
-_REVCTL	=	0xe60b
-_EP1OUTCFG	=	0xe610
-_EP1INCFG	=	0xe611
-_EP2CFG	=	0xe612
-_EP4CFG	=	0xe613
-_EP6CFG	=	0xe614
-_EP8CFG	=	0xe615
-_EP2FIFOCFG	=	0xe618
-_EP4FIFOCFG	=	0xe619
-_EP6FIFOCFG	=	0xe61a
-_EP8FIFOCFG	=	0xe61b
-_EP2AUTOINLENH	=	0xe620
-_EP2AUTOINLENL	=	0xe621
-_EP4AUTOINLENH	=	0xe622
-_EP4AUTOINLENL	=	0xe623
-_EP6AUTOINLENH	=	0xe624
-_EP6AUTOINLENL	=	0xe625
-_EP8AUTOINLENH	=	0xe626
-_EP8AUTOINLENL	=	0xe627
-_EP2FIFOPFH	=	0xe630
-_EP2FIFOPFL	=	0xe631
-_EP4FIFOPFH	=	0xe632
-_EP4FIFOPFL	=	0xe633
-_EP6FIFOPFH	=	0xe634
-_EP6FIFOPFL	=	0xe635
-_EP8FIFOPFH	=	0xe636
-_EP8FIFOPFL	=	0xe637
-_EP2ISOINPKTS	=	0xe640
-_EP4ISOINPKTS	=	0xe641
-_EP6ISOINPKTS	=	0xe642
-_EP8ISOINPKTS	=	0xe643
-_INPKTEND	=	0xe648
-_OUTPKTEND	=	0xe649
-_EP2FIFOIE	=	0xe650
-_EP2FIFOIRQ	=	0xe651
-_EP4FIFOIE	=	0xe652
-_EP4FIFOIRQ	=	0xe653
-_EP6FIFOIE	=	0xe654
-_EP6FIFOIRQ	=	0xe655
-_EP8FIFOIE	=	0xe656
-_EP8FIFOIRQ	=	0xe657
-_IBNIE	=	0xe658
-_IBNIRQ	=	0xe659
-_NAKIE	=	0xe65a
-_NAKIRQ	=	0xe65b
-_USBIE	=	0xe65c
-_USBIRQ	=	0xe65d
-_EPIE	=	0xe65e
-_EPIRQ	=	0xe65f
-_GPIFIE	=	0xe660
-_GPIFIRQ	=	0xe661
-_USBERRIE	=	0xe662
-_USBERRIRQ	=	0xe663
-_ERRCNTLIM	=	0xe664
-_CLRERRCNT	=	0xe665
-_INT2IVEC	=	0xe666
-_INT4IVEC	=	0xe667
-_INTSETUP	=	0xe668
-_PORTACFG	=	0xe670
-_PORTCCFG	=	0xe671
-_PORTECFG	=	0xe672
-_I2CS	=	0xe678
-_I2DAT	=	0xe679
-_I2CTL	=	0xe67a
-_XAUTODAT1	=	0xe67b
-_XAUTODAT2	=	0xe67c
-_USBCS	=	0xe680
-_SUSPEND	=	0xe681
-_WAKEUPCS	=	0xe682
-_TOGCTL	=	0xe683
-_USBFRAMEH	=	0xe684
-_USBFRAMEL	=	0xe685
-_MICROFRAME	=	0xe686
-_FNADDR	=	0xe687
-_EP0BCH	=	0xe68a
-_EP0BCL	=	0xe68b
-_EP1OUTBC	=	0xe68d
-_EP1INBC	=	0xe68f
-_EP2BCH	=	0xe690
-_EP2BCL	=	0xe691
-_EP4BCH	=	0xe694
-_EP4BCL	=	0xe695
-_EP6BCH	=	0xe698
-_EP6BCL	=	0xe699
-_EP8BCH	=	0xe69c
-_EP8BCL	=	0xe69d
-_EP0CS	=	0xe6a0
-_EP1OUTCS	=	0xe6a1
-_EP1INCS	=	0xe6a2
-_EP2CS	=	0xe6a3
-_EP4CS	=	0xe6a4
-_EP6CS	=	0xe6a5
-_EP8CS	=	0xe6a6
-_EP2FIFOFLGS	=	0xe6a7
-_EP4FIFOFLGS	=	0xe6a8
-_EP6FIFOFLGS	=	0xe6a9
-_EP8FIFOFLGS	=	0xe6aa
-_EP2FIFOBCH	=	0xe6ab
-_EP2FIFOBCL	=	0xe6ac
-_EP4FIFOBCH	=	0xe6ad
-_EP4FIFOBCL	=	0xe6ae
-_EP6FIFOBCH	=	0xe6af
-_EP6FIFOBCL	=	0xe6b0
-_EP8FIFOBCH	=	0xe6b1
-_EP8FIFOBCL	=	0xe6b2
-_SUDPTRH	=	0xe6b3
-_SUDPTRL	=	0xe6b4
-_SUDPTRCTL	=	0xe6b5
-_SETUPDAT	=	0xe6b8
-_GPIFWFSELECT	=	0xe6c0
-_GPIFIDLECS	=	0xe6c1
-_GPIFIDLECTL	=	0xe6c2
-_GPIFCTLCFG	=	0xe6c3
-_GPIFADRH	=	0xe6c4
-_GPIFADRL	=	0xe6c5
-_GPIFTCB3	=	0xe6ce
-_GPIFTCB2	=	0xe6cf
-_GPIFTCB1	=	0xe6d0
-_GPIFTCB0	=	0xe6d1
-_EP2GPIFFLGSEL	=	0xe6d2
-_EP2GPIFPFSTOP	=	0xe6d3
-_EP2GPIFTRIG	=	0xe6d4
-_EP4GPIFFLGSEL	=	0xe6da
-_EP4GPIFPFSTOP	=	0xe6db
-_EP4GPIFTRIG	=	0xe6dc
-_EP6GPIFFLGSEL	=	0xe6e2
-_EP6GPIFPFSTOP	=	0xe6e3
-_EP6GPIFTRIG	=	0xe6e4
-_EP8GPIFFLGSEL	=	0xe6ea
-_EP8GPIFPFSTOP	=	0xe6eb
-_EP8GPIFTRIG	=	0xe6ec
-_XGPIFSGLDATH	=	0xe6f0
-_XGPIFSGLDATLX	=	0xe6f1
-_XGPIFSGLDATLNOX	=	0xe6f2
-_GPIFREADYCFG	=	0xe6f3
-_GPIFREADYSTAT	=	0xe6f4
-_GPIFABORT	=	0xe6f5
-_FLOWSTATE	=	0xe6c6
-_FLOWLOGIC	=	0xe6c7
-_FLOWEQ0CTL	=	0xe6c8
-_FLOWEQ1CTL	=	0xe6c9
-_FLOWHOLDOFF	=	0xe6ca
-_FLOWSTB	=	0xe6cb
-_FLOWSTBEDGE	=	0xe6cc
-_FLOWSTBHPERIOD	=	0xe6cd
-_GPIFHOLDAMOUNT	=	0xe60c
-_UDMACRCH	=	0xe67d
-_UDMACRCL	=	0xe67e
-_UDMACRCQUAL	=	0xe67f
-_DBUG	=	0xe6f8
-_TESTCFG	=	0xe6f9
-_USBTEST	=	0xe6fa
-_CT1	=	0xe6fb
-_CT2	=	0xe6fc
-_CT3	=	0xe6fd
-_CT4	=	0xe6fe
-_EP0BUF	=	0xe740
-_EP1OUTBUF	=	0xe780
-_EP1INBUF	=	0xe7c0
-_EP2FIFOBUF	=	0xf000
-_EP4FIFOBUF	=	0xf400
-_EP6FIFOBUF	=	0xf800
-_EP8FIFOBUF	=	0xfc00
-;--------------------------------------------------------
-; absolute external ram data
-;--------------------------------------------------------
-	.area XABS    (ABS,XDATA)
-;--------------------------------------------------------
-; external initialized ram data
-;--------------------------------------------------------
-	.area HOME    (CODE)
-	.area GSINIT0 (CODE)
-	.area GSINIT1 (CODE)
-	.area GSINIT2 (CODE)
-	.area GSINIT3 (CODE)
-	.area GSINIT4 (CODE)
-	.area GSINIT5 (CODE)
-	.area GSINIT  (CODE)
-	.area GSFINAL (CODE)
-	.area CSEG    (CODE)
-;--------------------------------------------------------
-; global & static initialisations
-;--------------------------------------------------------
-	.area HOME    (CODE)
-	.area GSINIT  (CODE)
-	.area GSFINAL (CODE)
-	.area GSINIT  (CODE)
-;	usb_common.c:72: unsigned char	_usb_config = 0;
-	mov	__usb_config,#0x00
-;	usb_common.c:73: unsigned char	_usb_alt_setting = 0;	// FIXME really 1/interface
-	mov	__usb_alt_setting,#0x00
-;--------------------------------------------------------
-; Home
-;--------------------------------------------------------
-	.area HOME    (CODE)
-	.area HOME    (CODE)
-;--------------------------------------------------------
-; code
-;--------------------------------------------------------
-	.area CSEG    (CODE)
-;------------------------------------------------------------
-;Allocation info for local variables in function 'setup_descriptors'
-;------------------------------------------------------------
-;------------------------------------------------------------
-;	usb_common.c:81: setup_descriptors (void)
-;	-----------------------------------------
-;	 function setup_descriptors
-;	-----------------------------------------
-_setup_descriptors:
-	ar2 = 0x02
-	ar3 = 0x03
-	ar4 = 0x04
-	ar5 = 0x05
-	ar6 = 0x06
-	ar7 = 0x07
-	ar0 = 0x00
-	ar1 = 0x01
-;	usb_common.c:83: if (USBCS & bmHSM){		// high speed mode
-	mov	dptr,#_USBCS
-	movx	a, at dptr
-	mov	r2,a
-	jnb	acc.7,00102$
-;	usb_common.c:84: current_device_descr  = high_speed_device_descr;
-	mov	_current_device_descr,#_high_speed_device_descr
-	mov	(_current_device_descr + 1),#(_high_speed_device_descr >> 8)
-;	usb_common.c:85: current_devqual_descr = high_speed_devqual_descr;
-	mov	_current_devqual_descr,#_high_speed_devqual_descr
-	mov	(_current_devqual_descr + 1),#(_high_speed_devqual_descr >> 8)
-;	usb_common.c:86: current_config_descr  = high_speed_config_descr;
-	mov	_current_config_descr,#_high_speed_config_descr
-	mov	(_current_config_descr + 1),#(_high_speed_config_descr >> 8)
-;	usb_common.c:87: other_config_descr    = full_speed_config_descr;
-	mov	_other_config_descr,#_full_speed_config_descr
-	mov	(_other_config_descr + 1),#(_full_speed_config_descr >> 8)
-	ret
-00102$:
-;	usb_common.c:90: current_device_descr  = full_speed_device_descr;
-	mov	_current_device_descr,#_full_speed_device_descr
-	mov	(_current_device_descr + 1),#(_full_speed_device_descr >> 8)
-;	usb_common.c:91: current_devqual_descr = full_speed_devqual_descr;
-	mov	_current_devqual_descr,#_full_speed_devqual_descr
-	mov	(_current_devqual_descr + 1),#(_full_speed_devqual_descr >> 8)
-;	usb_common.c:92: current_config_descr  = full_speed_config_descr;
-	mov	_current_config_descr,#_full_speed_config_descr
-	mov	(_current_config_descr + 1),#(_full_speed_config_descr >> 8)
-;	usb_common.c:93: other_config_descr    = high_speed_config_descr;
-	mov	_other_config_descr,#_high_speed_config_descr
-	mov	(_other_config_descr + 1),#(_high_speed_config_descr >> 8)
-	ret
-;------------------------------------------------------------
-;Allocation info for local variables in function 'isr_SUDAV'
-;------------------------------------------------------------
-;------------------------------------------------------------
-;	usb_common.c:103: isr_SUDAV (void) interrupt
-;	-----------------------------------------
-;	 function isr_SUDAV
-;	-----------------------------------------
-_isr_SUDAV:
-;	usb_common.c:105: clear_usb_irq ();
-	anl	_EXIF,#0xEF
-	mov	_INT2CLR,#0x00
-;	usb_common.c:106: _usb_got_SUDAV = 1;
-	setb	__usb_got_SUDAV
-	reti
-;	eliminated unneeded push/pop psw
-;	eliminated unneeded push/pop dpl
-;	eliminated unneeded push/pop dph
-;	eliminated unneeded push/pop b
-;	eliminated unneeded push/pop acc
-;------------------------------------------------------------
-;Allocation info for local variables in function 'isr_USBRESET'
-;------------------------------------------------------------
-;------------------------------------------------------------
-;	usb_common.c:111: isr_USBRESET (void) interrupt
-;	-----------------------------------------
-;	 function isr_USBRESET
-;	-----------------------------------------
-_isr_USBRESET:
-	push	bits
-	push	acc
-	push	b
-	push	dpl
-	push	dph
-	push	(0+2)
-	push	(0+3)
-	push	(0+4)
-	push	(0+5)
-	push	(0+6)
-	push	(0+7)
-	push	(0+0)
-	push	(0+1)
-	push	psw
-	mov	psw,#0x00
-;	usb_common.c:113: clear_usb_irq ();
-	anl	_EXIF,#0xEF
-	mov	_INT2CLR,#0x00
-;	usb_common.c:114: setup_descriptors ();
-	lcall	_setup_descriptors
-	pop	psw
-	pop	(0+1)
-	pop	(0+0)
-	pop	(0+7)
-	pop	(0+6)
-	pop	(0+5)
-	pop	(0+4)
-	pop	(0+3)
-	pop	(0+2)
-	pop	dph
-	pop	dpl
-	pop	b
-	pop	acc
-	pop	bits
-	reti
-;------------------------------------------------------------
-;Allocation info for local variables in function 'isr_HIGHSPEED'
-;------------------------------------------------------------
-;------------------------------------------------------------
-;	usb_common.c:118: isr_HIGHSPEED (void) interrupt
-;	-----------------------------------------
-;	 function isr_HIGHSPEED
-;	-----------------------------------------
-_isr_HIGHSPEED:
-	push	bits
-	push	acc
-	push	b
-	push	dpl
-	push	dph
-	push	(0+2)
-	push	(0+3)
-	push	(0+4)
-	push	(0+5)
-	push	(0+6)
-	push	(0+7)
-	push	(0+0)
-	push	(0+1)
-	push	psw
-	mov	psw,#0x00
-;	usb_common.c:120: clear_usb_irq ();
-	anl	_EXIF,#0xEF
-	mov	_INT2CLR,#0x00
-;	usb_common.c:121: setup_descriptors ();
-	lcall	_setup_descriptors
-	pop	psw
-	pop	(0+1)
-	pop	(0+0)
-	pop	(0+7)
-	pop	(0+6)
-	pop	(0+5)
-	pop	(0+4)
-	pop	(0+3)
-	pop	(0+2)
-	pop	dph
-	pop	dpl
-	pop	b
-	pop	acc
-	pop	bits
-	reti
-;------------------------------------------------------------
-;Allocation info for local variables in function 'usb_install_handlers'
-;------------------------------------------------------------
-;------------------------------------------------------------
-;	usb_common.c:125: usb_install_handlers (void)
-;	-----------------------------------------
-;	 function usb_install_handlers
-;	-----------------------------------------
-_usb_install_handlers:
-;	usb_common.c:127: setup_descriptors ();	    // ensure that they're set before use
-	lcall	_setup_descriptors
-;	usb_common.c:129: hook_uv (UV_SUDAV,     (unsigned short) isr_SUDAV);
-	mov	_hook_uv_PARM_2,#_isr_SUDAV
-	mov	(_hook_uv_PARM_2 + 1),#(_isr_SUDAV >> 8)
-	mov	dpl,#0x00
-	lcall	_hook_uv
-;	usb_common.c:130: hook_uv (UV_USBRESET,  (unsigned short) isr_USBRESET);
-	mov	_hook_uv_PARM_2,#_isr_USBRESET
-	mov	(_hook_uv_PARM_2 + 1),#(_isr_USBRESET >> 8)
-	mov	dpl,#0x10
-	lcall	_hook_uv
-;	usb_common.c:131: hook_uv (UV_HIGHSPEED, (unsigned short) isr_HIGHSPEED);
-	mov	_hook_uv_PARM_2,#_isr_HIGHSPEED
-	mov	(_hook_uv_PARM_2 + 1),#(_isr_HIGHSPEED >> 8)
-	mov	dpl,#0x14
-	lcall	_hook_uv
-;	usb_common.c:133: USBIE = bmSUDAV | bmURES | bmHSGRANT;
-	mov	dptr,#_USBIE
-	mov	a,#0x31
-	movx	@dptr,a
-	ret
-;------------------------------------------------------------
-;Allocation info for local variables in function 'plausible_endpoint'
-;------------------------------------------------------------
-;ep                        Allocated to registers r2 
-;------------------------------------------------------------
-;	usb_common.c:140: plausible_endpoint (unsigned char ep)
-;	-----------------------------------------
-;	 function plausible_endpoint
-;	-----------------------------------------
-_plausible_endpoint:
-;	usb_common.c:142: ep &= ~0x80;	// ignore direction bit
-;	usb_common.c:144: if (ep > 8)
-	mov	a,dpl
-	anl	a,#0x7F
-	mov	r2,a
-	add	a,#0xff - 0x08
-	jnc	00102$
-;	usb_common.c:145: return 0;
-	mov	dpl,#0x00
-	ret
-00102$:
-;	usb_common.c:147: if (ep == 1)
-	cjne	r2,#0x01,00104$
-;	usb_common.c:148: return 1;
-	mov	dpl,#0x01
-	ret
-00104$:
-;	usb_common.c:150: return (ep & 0x1) == 0;	// must be even
-	anl	ar2,#0x01
-	clr	a
-	cjne	r2,#0x00,00112$
-	inc	a
-00112$:
-	mov	dpl,a
-	ret
-;------------------------------------------------------------
-;Allocation info for local variables in function 'epcs'
-;------------------------------------------------------------
-;ep                        Allocated to registers r2 
-;------------------------------------------------------------
-;	usb_common.c:157: epcs (unsigned char ep)
-;	-----------------------------------------
-;	 function epcs
-;	-----------------------------------------
-_epcs:
-	mov	r2,dpl
-;	usb_common.c:159: if (ep == 0x01)		// ep1 has different in and out CS regs
-	cjne	r2,#0x01,00102$
-;	usb_common.c:160: return EP1OUTCS;
-	mov	dptr,#_EP1OUTCS
-	movx	a, at dptr
-	mov	r3,a
-	mov	r4,#0x00
-	mov	dpl,r3
-	mov	dph,r4
-	ret
-00102$:
-;	usb_common.c:162: if (ep == 0x81)
-	cjne	r2,#0x81,00104$
-;	usb_common.c:163: return EP1INCS;
-	mov	dptr,#_EP1INCS
-	movx	a, at dptr
-	mov	r3,a
-	mov	r4,#0x00
-	mov	dpl,r3
-	mov	dph,r4
-	ret
-00104$:
-;	usb_common.c:165: ep &= ~0x80;			// ignore direction bit
-	anl	ar2,#0x7F
-;	usb_common.c:167: if (ep == 0x00)		// ep0
-	mov	a,r2
-	jnz	00106$
-;	usb_common.c:168: return EP0CS;
-	mov	dptr,#_EP0CS
-	movx	a, at dptr
-	mov	r3,a
-	mov	r4,#0x00
-	mov	dpl,r3
-	mov	dph,r4
-	ret
-00106$:
-;	usb_common.c:170: return EP2CS + (ep >> 1);	// 2, 4, 6, 8 are consecutive
-	mov	dptr,#_EP2CS
-	movx	a, at dptr
-	mov	r3,a
-	mov	r4,#0x00
-	mov	a,r2
-	clr	c
-	rrc	a
-	mov	r2,a
-	mov	r5,#0x00
-	mov	a,r2
-	add	a,r3
-	mov	r3,a
-	mov	a,r5
-	addc	a,r4
-	mov	dpl,r3
-	mov	dph,a
-	ret
-;------------------------------------------------------------
-;Allocation info for local variables in function 'usb_handle_setup_packet'
-;------------------------------------------------------------
-;p                         Allocated to registers r2 r3 
-;__00060000                Allocated to registers r2 r3 
-;__00050001                Allocated to registers r2 r3 
-;------------------------------------------------------------
-;	usb_common.c:174: usb_handle_setup_packet (void)
-;	-----------------------------------------
-;	 function usb_handle_setup_packet
-;	-----------------------------------------
-_usb_handle_setup_packet:
-;	usb_common.c:176: _usb_got_SUDAV = 0;
-	clr	__usb_got_SUDAV
-;	usb_common.c:180: switch (bRequestType & bmRT_TYPE_MASK){
-	mov	dptr,#_SETUPDAT
-	movx	a, at dptr
-	mov	r2,a
-	anl	ar2,#0x60
-	cjne	r2,#0x00,00206$
-	sjmp	00106$
-00206$:
-	cjne	r2,#0x20,00207$
-	sjmp	00102$
-00207$:
-	cjne	r2,#0x40,00208$
-	sjmp	00103$
-00208$:
-	cjne	r2,#0x60,00209$
-	sjmp	00210$
-00209$:
-	ljmp	00175$
-00210$:
-;	usb_common.c:183: case bmRT_TYPE_RESERVED:
-00102$:
-;	usb_common.c:184: fx2_stall_ep0 ();		// we don't handle these.  indicate error
-	lcall	_fx2_stall_ep0
-;	usb_common.c:185: break;
-	ljmp	00175$
-;	usb_common.c:187: case bmRT_TYPE_VENDOR:
-00103$:
-;	usb_common.c:191: if (!app_vendor_cmd ())	
-	lcall	_app_vendor_cmd
-	mov	a,dpl
-	jz	00211$
-	ljmp	00175$
-00211$:
-;	usb_common.c:192: fx2_stall_ep0 ();
-	lcall	_fx2_stall_ep0
-;	usb_common.c:193: break;
-	ljmp	00175$
-;	usb_common.c:195: case bmRT_TYPE_STD:
-00106$:
-;	usb_common.c:198: if ((bRequestType & bmRT_DIR_MASK) == bmRT_DIR_IN){
-	mov	dptr,#_SETUPDAT
-	movx	a, at dptr
-	mov	r2,a
-	anl	ar2,#0x80
-	cjne	r2,#0x80,00212$
-	sjmp	00213$
-00212$:
-	ljmp	00173$
-00213$:
-;	usb_common.c:204: switch (bRequest){
-	mov	dptr,#(_SETUPDAT + 0x0001)
-	movx	a, at dptr
-	mov	r2,a
-	cjne	r2,#0x00,00214$
-	ljmp	00128$
-00214$:
-	cjne	r2,#0x06,00215$
-	sjmp	00109$
-00215$:
-	cjne	r2,#0x08,00216$
-	sjmp	00107$
-00216$:
-	cjne	r2,#0x0A,00217$
-	sjmp	00108$
-00217$:
-	ljmp	00138$
-;	usb_common.c:206: case RQ_GET_CONFIG:
-00107$:
-;	usb_common.c:207: EP0BUF[0] = _usb_config;	// FIXME app should handle
-	mov	dptr,#_EP0BUF
-	mov	a,__usb_config
-	movx	@dptr,a
-;	usb_common.c:208: EP0BCH = 0;
-	mov	dptr,#_EP0BCH
-	clr	a
-	movx	@dptr,a
-;	usb_common.c:209: EP0BCL = 1;
-	mov	dptr,#_EP0BCL
-	mov	a,#0x01
-	movx	@dptr,a
-;	usb_common.c:210: break;
-	ljmp	00175$
-;	usb_common.c:214: case RQ_GET_INTERFACE:
-00108$:
-;	usb_common.c:215: EP0BUF[0] = _usb_alt_setting;	// FIXME app should handle
-	mov	dptr,#_EP0BUF
-	mov	a,__usb_alt_setting
-	movx	@dptr,a
-;	usb_common.c:216: EP0BCH = 0;
-	mov	dptr,#_EP0BCH
-	clr	a
-	movx	@dptr,a
-;	usb_common.c:217: EP0BCL = 1;
-	mov	dptr,#_EP0BCL
-	mov	a,#0x01
-	movx	@dptr,a
-;	usb_common.c:218: break;
-	ljmp	00175$
-;	usb_common.c:222: case RQ_GET_DESCR:
-00109$:
-;	usb_common.c:223: switch (wValueH){
-	mov	dptr,#(_SETUPDAT + 0x0003)
-	movx	a, at dptr
-	mov	r2,a
-	cjne	r2,#0x01,00218$
-	sjmp	00110$
-00218$:
-	cjne	r2,#0x02,00219$
-	sjmp	00114$
-00219$:
-	cjne	r2,#0x03,00220$
-	sjmp	00122$
-00220$:
-	cjne	r2,#0x06,00221$
-	sjmp	00111$
-00221$:
-	cjne	r2,#0x07,00222$
-	sjmp	00119$
-00222$:
-	ljmp	00126$
-;	usb_common.c:225: case DT_DEVICE:
-00110$:
-;	usb_common.c:226: SUDPTRH = MSB (current_device_descr);
-	mov	r2,_current_device_descr
-	mov	r3,(_current_device_descr + 1)
-	mov	dptr,#_SUDPTRH
-	mov	a,r3
-	movx	@dptr,a
-;	usb_common.c:227: SUDPTRL = LSB (current_device_descr);
-	mov	r3,#0x00
-	mov	dptr,#_SUDPTRL
-	mov	a,r2
-	movx	@dptr,a
-;	usb_common.c:228: break;
-	ljmp	00175$
-;	usb_common.c:230: case DT_DEVQUAL:
-00111$:
-;	usb_common.c:231: SUDPTRH = MSB (current_devqual_descr);
-	mov	r2,_current_devqual_descr
-	mov	r3,(_current_devqual_descr + 1)
-	mov	dptr,#_SUDPTRH
-	mov	a,r3
-	movx	@dptr,a
-;	usb_common.c:232: SUDPTRL = LSB (current_devqual_descr);
-	mov	r3,#0x00
-	mov	dptr,#_SUDPTRL
-	mov	a,r2
-	movx	@dptr,a
-;	usb_common.c:233: break;
-	ljmp	00175$
-;	usb_common.c:237: fx2_stall_ep0 ();
-00114$:
-;	usb_common.c:239: SUDPTRH = MSB (current_config_descr);
-	mov	r2,_current_config_descr
-	mov	r3,(_current_config_descr + 1)
-	mov	dptr,#_SUDPTRH
-	mov	a,r3
-	movx	@dptr,a
-;	usb_common.c:240: SUDPTRL = LSB (current_config_descr);
-	mov	r3,#0x00
-	mov	dptr,#_SUDPTRL
-	mov	a,r2
-	movx	@dptr,a
-;	usb_common.c:242: break;
-	ljmp	00175$
-;	usb_common.c:246: fx2_stall_ep0 ();
-00119$:
-;	usb_common.c:248: SUDPTRH = MSB (other_config_descr);
-	mov	r2,_other_config_descr
-	mov	r3,(_other_config_descr + 1)
-	mov	dptr,#_SUDPTRH
-	mov	a,r3
-	movx	@dptr,a
-;	usb_common.c:249: SUDPTRL = LSB (other_config_descr);
-	mov	r3,#0x00
-	mov	dptr,#_SUDPTRL
-	mov	a,r2
-	movx	@dptr,a
-;	usb_common.c:251: break;
-	ljmp	00175$
-;	usb_common.c:253: case DT_STRING:
-00122$:
-;	usb_common.c:254: if (wValueL >= nstring_descriptors)
-	mov	dptr,#(_SETUPDAT + 0x0002)
-	movx	a, at dptr
-	mov	r2,a
-	mov	dptr,#_nstring_descriptors
-	movx	a, at dptr
-	mov	r3,a
-	clr	c
-	mov	a,r2
-	subb	a,r3
-	jc	00124$
-;	usb_common.c:255: fx2_stall_ep0 ();
-	lcall	_fx2_stall_ep0
-	ljmp	00175$
-00124$:
-;	usb_common.c:257: xdata char *p = string_descriptors[wValueL];
-	mov	dptr,#(_SETUPDAT + 0x0002)
-	movx	a, at dptr
-	mov	b,#0x02
-	mul	ab
-	add	a,#_string_descriptors
-	mov	dpl,a
-	mov	a,#(_string_descriptors >> 8)
-	addc	a,b
-	mov	dph,a
-	movx	a, at dptr
-	mov	r2,a
-	inc	dptr
-	movx	a, at dptr
-;	usb_common.c:258: SUDPTRH = MSB (p);
-	mov	dptr,#_SUDPTRH
-	movx	@dptr,a
-;	usb_common.c:259: SUDPTRL = LSB (p);
-	mov	r3,#0x00
-	mov	dptr,#_SUDPTRL
-	mov	a,r2
-	movx	@dptr,a
-;	usb_common.c:261: break;
-	ljmp	00175$
-;	usb_common.c:263: default:
-00126$:
-;	usb_common.c:264: fx2_stall_ep0 ();	// invalid request
-	lcall	_fx2_stall_ep0
-;	usb_common.c:267: break;
-	ljmp	00175$
-;	usb_common.c:271: case RQ_GET_STATUS:
-00128$:
-;	usb_common.c:272: switch (bRequestType & bmRT_RECIP_MASK){
-	mov	dptr,#_SETUPDAT
-	movx	a, at dptr
-	mov	r2,a
-	anl	ar2,#0x1F
-	cjne	r2,#0x00,00224$
-	sjmp	00129$
-00224$:
-	cjne	r2,#0x01,00225$
-	sjmp	00130$
-00225$:
-;	usb_common.c:273: case bmRT_RECIP_DEVICE:
-	cjne	r2,#0x02,00135$
-	sjmp	00131$
-00129$:
-;	usb_common.c:274: EP0BUF[0] = bmGSDA_SELF_POWERED;	// FIXME app should handle
-	mov	dptr,#_EP0BUF
-	mov	a,#0x01
-	movx	@dptr,a
-;	usb_common.c:275: EP0BUF[1] = 0;
-	mov	dptr,#(_EP0BUF + 0x0001)
-;	usb_common.c:276: EP0BCH = 0;
-	clr	a
-	movx	@dptr,a
-	mov	dptr,#_EP0BCH
-	movx	@dptr,a
-;	usb_common.c:277: EP0BCL = 2;
-	mov	dptr,#_EP0BCL
-	mov	a,#0x02
-	movx	@dptr,a
-;	usb_common.c:278: break;
-;	usb_common.c:280: case bmRT_RECIP_INTERFACE:
-	sjmp	00138$
-00130$:
-;	usb_common.c:281: EP0BUF[0] = 0;
-	mov	dptr,#_EP0BUF
-;	usb_common.c:282: EP0BUF[1] = 0;
-;	usb_common.c:283: EP0BCH = 0;
-	clr	a
-	movx	@dptr,a
-	mov	dptr,#(_EP0BUF + 0x0001)
-	movx	@dptr,a
-	mov	dptr,#_EP0BCH
-	movx	@dptr,a
-;	usb_common.c:284: EP0BCL = 2;
-	mov	dptr,#_EP0BCL
-	mov	a,#0x02
-	movx	@dptr,a
-;	usb_common.c:285: break;
-;	usb_common.c:287: case bmRT_RECIP_ENDPOINT:
-	sjmp	00138$
-00131$:
-;	usb_common.c:288: if (plausible_endpoint (wIndexL)){
-	mov	dptr,#(_SETUPDAT + 0x0004)
-	movx	a, at dptr
-	mov	dpl,a
-	lcall	_plausible_endpoint
-	mov	a,dpl
-	jz	00133$
-;	usb_common.c:289: EP0BUF[0] = *epcs (wIndexL) & bmEPSTALL;
-	mov	dptr,#(_SETUPDAT + 0x0004)
-	movx	a, at dptr
-	mov	dpl,a
-	lcall	_epcs
-	movx	a, at dptr
-	mov	r2,a
-	anl	ar2,#0x01
-	mov	dptr,#_EP0BUF
-	mov	a,r2
-	movx	@dptr,a
-;	usb_common.c:290: EP0BUF[1] = 0;
-	mov	dptr,#(_EP0BUF + 0x0001)
-;	usb_common.c:291: EP0BCH = 0;
-	clr	a
-	movx	@dptr,a
-	mov	dptr,#_EP0BCH
-	movx	@dptr,a
-;	usb_common.c:292: EP0BCL = 2;
-	mov	dptr,#_EP0BCL
-	mov	a,#0x02
-	movx	@dptr,a
-	sjmp	00138$
-00133$:
-;	usb_common.c:295: fx2_stall_ep0 ();
-	lcall	_fx2_stall_ep0
-;	usb_common.c:296: break;
-;	usb_common.c:298: default:
-	sjmp	00138$
-00135$:
-;	usb_common.c:299: fx2_stall_ep0 ();
-	lcall	_fx2_stall_ep0
-;	usb_common.c:306: default:
-00138$:
-;	usb_common.c:307: fx2_stall_ep0 ();
-	lcall	_fx2_stall_ep0
-;	usb_common.c:309: }
-	ljmp	00175$
-00173$:
-;	usb_common.c:318: switch (bRequest){
-	mov	dptr,#(_SETUPDAT + 0x0001)
-	movx	a, at dptr
-	mov  r2,a
-	add	a,#0xff - 0x0B
-	jnc	00228$
-	ljmp	00170$
-00228$:
-	mov	a,r2
-	add	a,r2
-	add	a,r2
-	mov	dptr,#00229$
-	jmp	@a+dptr
-00229$:
-	ljmp	00170$
-	ljmp	00142$
-	ljmp	00161$
-	ljmp	00154$
-	ljmp	00170$
-	ljmp	00168$
-	ljmp	00170$
-	ljmp	00169$
-	ljmp	00170$
-	ljmp	00140$
-	ljmp	00170$
-	ljmp	00141$
-;	usb_common.c:320: case RQ_SET_CONFIG:
-00140$:
-;	usb_common.c:321: _usb_config = wValueL;		// FIXME app should handle
-	mov	dptr,#(_SETUPDAT + 0x0002)
-	movx	a, at dptr
-	mov	__usb_config,a
-;	usb_common.c:322: break;
-	ljmp	00175$
-;	usb_common.c:324: case RQ_SET_INTERFACE:
-00141$:
-;	usb_common.c:325: _usb_alt_setting = wValueL;	// FIXME app should handle
-	mov	dptr,#(_SETUPDAT + 0x0002)
-	movx	a, at dptr
-	mov	__usb_alt_setting,a
-;	usb_common.c:326: break;
-	ljmp	00175$
-;	usb_common.c:330: case RQ_CLEAR_FEATURE:
-00142$:
-;	usb_common.c:331: switch (bRequestType & bmRT_RECIP_MASK){
-	mov	dptr,#_SETUPDAT
-	movx	a, at dptr
-	mov	r2,a
-	anl	ar2,#0x1F
-	cjne	r2,#0x00,00230$
-	sjmp	00143$
-00230$:
-;	usb_common.c:333: case bmRT_RECIP_DEVICE:
-	cjne	r2,#0x02,00152$
-	sjmp	00147$
-00143$:
-;	usb_common.c:334: switch (wValueL){
-	mov	dptr,#(_SETUPDAT + 0x0002)
-	movx	a, at dptr
-;	usb_common.c:337: fx2_stall_ep0 ();
-	lcall	_fx2_stall_ep0
-;	usb_common.c:339: break;
-	ljmp	00175$
-;	usb_common.c:341: case bmRT_RECIP_ENDPOINT:
-00147$:
-;	usb_common.c:342: if (wValueL == FS_ENDPOINT_HALT && plausible_endpoint (wIndexL)){
-	mov	dptr,#(_SETUPDAT + 0x0002)
-	movx	a, at dptr
-	jnz	00149$
-	mov	dptr,#(_SETUPDAT + 0x0004)
-	movx	a, at dptr
-	mov	dpl,a
-	lcall	_plausible_endpoint
-	mov	a,dpl
-	jz	00149$
-;	usb_common.c:343: *epcs (wIndexL) &= ~bmEPSTALL;
-	mov	dptr,#(_SETUPDAT + 0x0004)
-	movx	a, at dptr
-	mov	dpl,a
-	lcall	_epcs
-	mov	r2,dpl
-	mov  r3,dph
-	movx	a, at dptr
-	mov	r4,a
-	anl	ar4,#0xFE
-	mov	dpl,r2
-	mov	dph,r3
-	mov	a,r4
-	movx	@dptr,a
-;	usb_common.c:344: fx2_reset_data_toggle (wIndexL);
-	mov	dptr,#(_SETUPDAT + 0x0004)
-	movx	a, at dptr
-	mov	dpl,a
-	lcall	_fx2_reset_data_toggle
-	sjmp	00175$
-00149$:
-;	usb_common.c:347: fx2_stall_ep0 ();
-	lcall	_fx2_stall_ep0
-;	usb_common.c:348: break;
-;	usb_common.c:350: default:
-	sjmp	00175$
-00152$:
-;	usb_common.c:351: fx2_stall_ep0 ();
-	lcall	_fx2_stall_ep0
-;	usb_common.c:354: break;
-;	usb_common.c:358: case RQ_SET_FEATURE:
-	sjmp	00175$
-00154$:
-;	usb_common.c:359: switch (bRequestType & bmRT_RECIP_MASK){
-	mov	dptr,#_SETUPDAT
-	movx	a, at dptr
-	mov	r2,a
-	anl	ar2,#0x1F
-	cjne	r2,#0x00,00175$
-;	usb_common.c:362: switch (wValueL){
-	mov	dptr,#(_SETUPDAT + 0x0002)
-	movx	a, at dptr
-	mov	r2,a
-	cjne	r2,#0x01,00236$
-	sjmp	00158$
-00236$:
-	cjne	r2,#0x02,00237$
-	sjmp	00175$
-00237$:
-;	usb_common.c:368: default:
-00158$:
-;	usb_common.c:369: fx2_stall_ep0 ();
-	lcall	_fx2_stall_ep0
-;	usb_common.c:373: break;
-;	usb_common.c:375: case bmRT_RECIP_ENDPOINT:
-	sjmp	00175$
-00161$:
-;	usb_common.c:376: switch (wValueL){
-	mov	dptr,#(_SETUPDAT + 0x0002)
-	movx	a, at dptr
-	mov	r2,a
-	jnz	00166$
-;	usb_common.c:378: if (plausible_endpoint (wIndexL))
-	mov	dptr,#(_SETUPDAT + 0x0004)
-	movx	a, at dptr
-	mov	dpl,a
-	lcall	_plausible_endpoint
-	mov	a,dpl
-	jz	00164$
-;	usb_common.c:379: *epcs (wIndexL) |= bmEPSTALL;
-	mov	dptr,#(_SETUPDAT + 0x0004)
-	movx	a, at dptr
-	mov	dpl,a
-	lcall	_epcs
-	mov	r2,dpl
-	mov  r3,dph
-	movx	a, at dptr
-	mov	r4,a
-	orl	ar4,#0x01
-	mov	dpl,r2
-	mov	dph,r3
-	mov	a,r4
-	movx	@dptr,a
-	sjmp	00175$
-00164$:
-;	usb_common.c:381: fx2_stall_ep0 ();
-	lcall	_fx2_stall_ep0
-;	usb_common.c:382: break;
-;	usb_common.c:384: default:
-	sjmp	00175$
-00166$:
-;	usb_common.c:385: fx2_stall_ep0 ();
-	lcall	_fx2_stall_ep0
-;	usb_common.c:388: break;
-;	usb_common.c:392: case RQ_SET_ADDRESS:	// handled by fx2 hardware
-	sjmp	00175$
-00168$:
-;	usb_common.c:393: case RQ_SET_DESCR:	// not implemented
-00169$:
-;	usb_common.c:394: default:
-00170$:
-;	usb_common.c:395: fx2_stall_ep0 ();
-	lcall	_fx2_stall_ep0
-;	usb_common.c:401: }	// bmRT_TYPE_MASK
-00175$:
-;	usb_common.c:404: EP0CS |= bmHSNAK;
-	mov	dptr,#_EP0CS
-	movx	a, at dptr
-	orl	a,#0x80
-	movx	@dptr,a
-	ret
-	.area CSEG    (CODE)
-	.area CONST   (CODE)
-	.area CABS    (ABS,CODE)
diff --git a/firmware/GN3S_v2/lib/usb_common.c b/firmware/GN3S_v2/lib/usb_common.c
deleted file mode 100644
index d4a7b4b..0000000
--- a/firmware/GN3S_v2/lib/usb_common.c
+++ /dev/null
@@ -1,405 +0,0 @@
-/* 
- * Code from: USRP - Universal Software Radio Peripheral (GNU Radio) 
- * 
- * Initial modifications by: 
- * 
- * Stephan Esterhuizen, Aerospace Engineering Sciences 
- * University of Colorado at Boulder 
- * Boulder CO, USA 
- *  
- * Further modifications for use with the SiGe USB module to accompany 
- * the textbook: "A Software-Defined GPS and Galileo Receiver: A 
- * Single-Frequency Approach" by Kai Borre, Dennis Akos, et.al. by: 
- * 
- * Marcus Junered, GNSS Research Group 
- * Lulea University of Technology 
- * Lulea, Sweden  
- * 
- * http://ccar.colorado.edu/gnss
- * 
- * --------------------------------------------------------------------- 
- * 
- * GN3S - GNSS IF Streamer for Windows 
- * Copyright (C) 2006 Marcus Junered 
- * 
- * 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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
- */ 
- 
- 
-#include "usb_common.h"
-#include "fx2regs.h"
-#include "syncdelay.h"
-#include "fx2utils.h"
-#include "isr.h"
-#include "usb_descriptors.h"
-#include "usb_requests.h"
-#include "gn3s_regs.h"
-
-extern xdata char str0[];
-extern xdata char str1[];
-extern xdata char str2[];
-extern xdata char str3[];
-extern xdata char str4[];
-extern xdata char str5[];
-
-#define	bRequestType	SETUPDAT[0]
-#define	bRequest	SETUPDAT[1]
-#define	wValueL		SETUPDAT[2]
-#define	wValueH		SETUPDAT[3]
-#define	wIndexL		SETUPDAT[4]
-#define	wIndexH		SETUPDAT[5]
-#define	wLengthL	SETUPDAT[6]
-#define	wLengthH	SETUPDAT[7]
-
-#define MSB(x)	(((unsigned short) x) >> 8)
-#define LSB(x)	(((unsigned short) x) & 0xff)
-
-volatile bit _usb_got_SUDAV;
-volatile bit _usb_rx_overrun;
-
-unsigned char	_usb_config = 0;
-unsigned char	_usb_alt_setting = 0;	// FIXME really 1/interface
-
-xdata unsigned char *current_device_descr;
-xdata unsigned char *current_devqual_descr;
-xdata unsigned char *current_config_descr;
-xdata unsigned char *other_config_descr;
-
-static void
-setup_descriptors (void)
-{
-  if (USBCS & bmHSM){		// high speed mode
-    current_device_descr  = high_speed_device_descr;
-    current_devqual_descr = high_speed_devqual_descr;
-    current_config_descr  = high_speed_config_descr;
-    other_config_descr    = full_speed_config_descr;
-  }
-  else {
-    current_device_descr  = full_speed_device_descr;
-    current_devqual_descr = full_speed_devqual_descr;
-    current_config_descr  = full_speed_config_descr;
-    other_config_descr    = high_speed_config_descr;
-  }
-
-  // whack the type fields
-  // FIXME, may not be required.
-  // current_config_descr[1] = DT_CONFIG;
-  // other_config_descr[1]   = DT_OTHER_SPEED;
-}
-
-static void
-isr_SUDAV (void) interrupt
-{
-  clear_usb_irq ();
-  _usb_got_SUDAV = 1;
-  //usb_handle_setup_packet();
-}
-
-static void
-isr_USBRESET (void) interrupt
-{
-  clear_usb_irq ();
-  setup_descriptors ();
-}
-
-static void
-isr_HIGHSPEED (void) interrupt
-{
-  clear_usb_irq ();
-  setup_descriptors ();
-}
-
-void
-usb_install_handlers (void)
-{
-  setup_descriptors ();	    // ensure that they're set before use
-
-  hook_uv (UV_SUDAV,     (unsigned short) isr_SUDAV);
-  hook_uv (UV_USBRESET,  (unsigned short) isr_USBRESET);
-  hook_uv (UV_HIGHSPEED, (unsigned short) isr_HIGHSPEED);
-
-  USBIE = bmSUDAV | bmURES | bmHSGRANT;
-}
-
-// On the FX2 the only plausible endpoints are 0, 1, 2, 4, 6, 8
-// This doesn't check to see that they're enabled
-
-unsigned char
-plausible_endpoint (unsigned char ep)
-{
-  ep &= ~0x80;	// ignore direction bit
-
-  if (ep > 8)
-    return 0;
-
-  if (ep == 1)
-    return 1;
-
-  return (ep & 0x1) == 0;	// must be even
-}
-
-// return pointer to control and status register for endpoint.
-// only called with plausible_endpoints
-
-xdata volatile unsigned char *
-epcs (unsigned char ep)
-{
-  if (ep == 0x01)		// ep1 has different in and out CS regs
-    return EP1OUTCS;
-
-  if (ep == 0x81)
-    return EP1INCS;
-
-  ep &= ~0x80;			// ignore direction bit
-
-  if (ep == 0x00)		// ep0
-    return EP0CS;
-
-  return EP2CS + (ep >> 1);	// 2, 4, 6, 8 are consecutive
-}
-
-void
-usb_handle_setup_packet (void)
-{
-  _usb_got_SUDAV = 0;
-
-  // handle the standard requests...
-
-  switch (bRequestType & bmRT_TYPE_MASK){
-
-  case bmRT_TYPE_CLASS:
-  case bmRT_TYPE_RESERVED:
-    fx2_stall_ep0 ();		// we don't handle these.  indicate error
-    break;
-    
-  case bmRT_TYPE_VENDOR:
-    // call the application code.
-    // If it handles the command it returns non-zero
-
-    if (!app_vendor_cmd ())	
-      fx2_stall_ep0 ();
-    break;
-
-  case bmRT_TYPE_STD:
-    // these are the standard requests...
-
-    if ((bRequestType & bmRT_DIR_MASK) == bmRT_DIR_IN){
-
-      ////////////////////////////////////
-      //    handle the IN requests
-      ////////////////////////////////////
-
-      switch (bRequest){
-
-      case RQ_GET_CONFIG:
-	EP0BUF[0] = _usb_config;	// FIXME app should handle
-	EP0BCH = 0;
-	EP0BCL = 1;
-	break;
-	
-      // --------------------------------
-
-      case RQ_GET_INTERFACE:
-	EP0BUF[0] = _usb_alt_setting;	// FIXME app should handle
-	EP0BCH = 0;
-	EP0BCL = 1;
-	break;
-
-      // --------------------------------
-
-      case RQ_GET_DESCR:
-	switch (wValueH){
-
-	case DT_DEVICE:
-	  SUDPTRH = MSB (current_device_descr);
-	  SUDPTRL = LSB (current_device_descr);
-	  break;
-	  
-	case DT_DEVQUAL:
-	  SUDPTRH = MSB (current_devqual_descr);
-	  SUDPTRL = LSB (current_devqual_descr);
-	  break;
-
-	case DT_CONFIG:
-	  if (0 && wValueL != 1)	// FIXME only a single configuration
-	    fx2_stall_ep0 ();
-	  else {
-	    SUDPTRH = MSB (current_config_descr);
-	    SUDPTRL = LSB (current_config_descr);
-	  }
-	  break;
-
-	case DT_OTHER_SPEED:
-	  if (0 && wValueL != 1)	// FIXME only a single configuration
-	    fx2_stall_ep0 ();
-	  else {
-	    SUDPTRH = MSB (other_config_descr);
-	    SUDPTRL = LSB (other_config_descr);
-	  }
-	  break;
-
-	case DT_STRING:
-	  if (wValueL >= nstring_descriptors)
-	    fx2_stall_ep0 ();
-	  else {
-	    xdata char *p = string_descriptors[wValueL];
-	    SUDPTRH = MSB (p);
-	    SUDPTRL = LSB (p);
-	  }
-	  break;
-
-	default:
-	  fx2_stall_ep0 ();	// invalid request
-	  break;
-	}
-	break;
-	
-      // --------------------------------
-
-      case RQ_GET_STATUS:
-	switch (bRequestType & bmRT_RECIP_MASK){
-	case bmRT_RECIP_DEVICE:
-	  EP0BUF[0] = bmGSDA_SELF_POWERED;	// FIXME app should handle
-	  EP0BUF[1] = 0;
-	  EP0BCH = 0;
-	  EP0BCL = 2;
-	  break;
-
-	case bmRT_RECIP_INTERFACE:
-	  EP0BUF[0] = 0;
-	  EP0BUF[1] = 0;
-	  EP0BCH = 0;
-	  EP0BCL = 2;
-	  break;
-
-	case bmRT_RECIP_ENDPOINT:
-	  if (plausible_endpoint (wIndexL)){
-	    EP0BUF[0] = *epcs (wIndexL) & bmEPSTALL;
-	    EP0BUF[1] = 0;
-	    EP0BCH = 0;
-	    EP0BCL = 2;
-	  }
-	  else
-	    fx2_stall_ep0 ();
-	  break;
-
-	default:
-	  fx2_stall_ep0 ();
-	  break;
-	}
-
-      // --------------------------------
-
-      case RQ_SYNCH_FRAME:	// not implemented
-      default:
-	fx2_stall_ep0 ();
-	break;
-      }
-    }
-
-    else {
-
-      ////////////////////////////////////
-      //    handle the OUT requests
-      ////////////////////////////////////
-
-      switch (bRequest){
-
-      case RQ_SET_CONFIG:
-	_usb_config = wValueL;		// FIXME app should handle
-	break;
-
-      case RQ_SET_INTERFACE:
-	_usb_alt_setting = wValueL;	// FIXME app should handle
-	break;
-
-      // --------------------------------
-
-      case RQ_CLEAR_FEATURE:
-	switch (bRequestType & bmRT_RECIP_MASK){
-
-	case bmRT_RECIP_DEVICE:
-	  switch (wValueL){
-	  case FS_DEV_REMOTE_WAKEUP:
-	  default:
-	    fx2_stall_ep0 ();
-	  }
-	  break;
-
-	case bmRT_RECIP_ENDPOINT:
-	  if (wValueL == FS_ENDPOINT_HALT && plausible_endpoint (wIndexL)){
-	    *epcs (wIndexL) &= ~bmEPSTALL;
-	    fx2_reset_data_toggle (wIndexL);
-	  }
-	  else
-	    fx2_stall_ep0 ();
-	  break;
-
-	default:
-	  fx2_stall_ep0 ();
-	  break;
-	}
-	break;
-
-      // --------------------------------
-
-      case RQ_SET_FEATURE:
-	switch (bRequestType & bmRT_RECIP_MASK){
-
-	case bmRT_RECIP_DEVICE:
-	  switch (wValueL){
-	  case FS_TEST_MODE:
-	    // hardware handles this after we complete SETUP phase handshake
-	    break;
-
-	  case FS_DEV_REMOTE_WAKEUP:
-	  default:
-	    fx2_stall_ep0 ();
-	    break;
-	  }
-	}
-	break;
-
-      case bmRT_RECIP_ENDPOINT:
-	switch (wValueL){
-	case FS_ENDPOINT_HALT:
-	  if (plausible_endpoint (wIndexL))
-	    *epcs (wIndexL) |= bmEPSTALL;
-	  else
-	    fx2_stall_ep0 ();
-	  break;
-
-	default:
-	  fx2_stall_ep0 ();
-	  break;
-	}
-	break;
-
-      // --------------------------------
-
-      case RQ_SET_ADDRESS:	// handled by fx2 hardware
-      case RQ_SET_DESCR:	// not implemented
-      default:
-	fx2_stall_ep0 ();
-      }
-
-    }
-    break;
-
-  }	// bmRT_TYPE_MASK
-
-  // ack handshake phase of device request
-  EP0CS |= bmHSNAK;
-}
diff --git a/firmware/GN3S_v2/lib/usb_common.lst b/firmware/GN3S_v2/lib/usb_common.lst
deleted file mode 100644
index 8585613..0000000
--- a/firmware/GN3S_v2/lib/usb_common.lst
+++ /dev/null
@@ -1,1595 +0,0 @@
-                              1 ;--------------------------------------------------------
-                              2 ; File Created by SDCC : free open source ANSI-C Compiler
-                              3 ; Version 2.9.0 #5416 (Feb  3 2010) (UNIX)
-                              4 ; This file was generated Mon Jul 30 11:40:53 2012
-                              5 ;--------------------------------------------------------
-                              6 	.module usb_common
-                              7 	.optsdcc -mmcs51 --model-small
-                              8 	
-                              9 ;--------------------------------------------------------
-                             10 ; Public variables in this module
-                             11 ;--------------------------------------------------------
-                             12 	.globl _epcs
-                             13 	.globl _plausible_endpoint
-                             14 	.globl _EIPX6
-                             15 	.globl _EIPX5
-                             16 	.globl _EIPX4
-                             17 	.globl _PI2C
-                             18 	.globl _PUSB
-                             19 	.globl _EIEX6
-                             20 	.globl _EIEX5
-                             21 	.globl _EIEX4
-                             22 	.globl _EI2C
-                             23 	.globl _EIUSB
-                             24 	.globl _SMOD1
-                             25 	.globl _ERESI
-                             26 	.globl _RESI
-                             27 	.globl _INT6
-                             28 	.globl _CY
-                             29 	.globl _AC
-                             30 	.globl _F0
-                             31 	.globl _RS1
-                             32 	.globl _RS0
-                             33 	.globl _OV
-                             34 	.globl _FL
-                             35 	.globl _P
-                             36 	.globl _TF2
-                             37 	.globl _EXF2
-                             38 	.globl _RCLK
-                             39 	.globl _TCLK
-                             40 	.globl _EXEN2
-                             41 	.globl _TR2
-                             42 	.globl _C_T2
-                             43 	.globl _CP_RL2
-                             44 	.globl _SM01
-                             45 	.globl _SM11
-                             46 	.globl _SM21
-                             47 	.globl _REN1
-                             48 	.globl _TB81
-                             49 	.globl _RB81
-                             50 	.globl _TI1
-                             51 	.globl _RI1
-                             52 	.globl _PS1
-                             53 	.globl _PT2
-                             54 	.globl _PS0
-                             55 	.globl _PT1
-                             56 	.globl _PX1
-                             57 	.globl _PT0
-                             58 	.globl _PX0
-                             59 	.globl _D7
-                             60 	.globl _D6
-                             61 	.globl _D5
-                             62 	.globl _D4
-                             63 	.globl _D3
-                             64 	.globl _D2
-                             65 	.globl _D1
-                             66 	.globl _D0
-                             67 	.globl _EA
-                             68 	.globl _ES1
-                             69 	.globl _ET2
-                             70 	.globl _ES0
-                             71 	.globl _ET1
-                             72 	.globl _EX1
-                             73 	.globl _ET0
-                             74 	.globl _EX0
-                             75 	.globl _SM0
-                             76 	.globl _SM1
-                             77 	.globl _SM2
-                             78 	.globl _REN
-                             79 	.globl _TB8
-                             80 	.globl _RB8
-                             81 	.globl _TI
-                             82 	.globl _RI
-                             83 	.globl _TF1
-                             84 	.globl _TR1
-                             85 	.globl _TF0
-                             86 	.globl _TR0
-                             87 	.globl _IE1
-                             88 	.globl _IT1
-                             89 	.globl _IE0
-                             90 	.globl _IT0
-                             91 	.globl _SEL
-                             92 	.globl _A7
-                             93 	.globl _A6
-                             94 	.globl _A5
-                             95 	.globl _A4
-                             96 	.globl _A3
-                             97 	.globl _A2
-                             98 	.globl _A1
-                             99 	.globl _A0
-                            100 	.globl _EIP
-                            101 	.globl _B
-                            102 	.globl _EIE
-                            103 	.globl _ACC
-                            104 	.globl _EICON
-                            105 	.globl _PSW
-                            106 	.globl _TH2
-                            107 	.globl _TL2
-                            108 	.globl _RCAP2H
-                            109 	.globl _RCAP2L
-                            110 	.globl _T2CON
-                            111 	.globl _SBUF1
-                            112 	.globl _SCON1
-                            113 	.globl _GPIFSGLDATLNOX
-                            114 	.globl _GPIFSGLDATLX
-                            115 	.globl _GPIFSGLDATH
-                            116 	.globl _GPIFTRIG
-                            117 	.globl _EP01STAT
-                            118 	.globl _IP
-                            119 	.globl _OEE
-                            120 	.globl _OED
-                            121 	.globl _OEC
-                            122 	.globl _OEB
-                            123 	.globl _OEA
-                            124 	.globl _IOE
-                            125 	.globl _IOD
-                            126 	.globl _AUTOPTRSETUP
-                            127 	.globl _EP68FIFOFLGS
-                            128 	.globl _EP24FIFOFLGS
-                            129 	.globl _EP2468STAT
-                            130 	.globl _IE
-                            131 	.globl _INT4CLR
-                            132 	.globl _INT2CLR
-                            133 	.globl _IOC
-                            134 	.globl _AUTODAT2
-                            135 	.globl _AUTOPTRL2
-                            136 	.globl _AUTOPTRH2
-                            137 	.globl _AUTODAT1
-                            138 	.globl _APTR1L
-                            139 	.globl _APTR1H
-                            140 	.globl _SBUF0
-                            141 	.globl _SCON0
-                            142 	.globl _MPAGE
-                            143 	.globl _EXIF
-                            144 	.globl _IOB
-                            145 	.globl _CKCON
-                            146 	.globl _TH1
-                            147 	.globl _TH0
-                            148 	.globl _TL1
-                            149 	.globl _TL0
-                            150 	.globl _TMOD
-                            151 	.globl _TCON
-                            152 	.globl _PCON
-                            153 	.globl _DPS
-                            154 	.globl _DPH1
-                            155 	.globl _DPL1
-                            156 	.globl _DPH
-                            157 	.globl _DPL
-                            158 	.globl _SP
-                            159 	.globl _IOA
-                            160 	.globl _EP8FIFOBUF
-                            161 	.globl _EP6FIFOBUF
-                            162 	.globl _EP4FIFOBUF
-                            163 	.globl _EP2FIFOBUF
-                            164 	.globl _EP1INBUF
-                            165 	.globl _EP1OUTBUF
-                            166 	.globl _EP0BUF
-                            167 	.globl _CT4
-                            168 	.globl _CT3
-                            169 	.globl _CT2
-                            170 	.globl _CT1
-                            171 	.globl _USBTEST
-                            172 	.globl _TESTCFG
-                            173 	.globl _DBUG
-                            174 	.globl _UDMACRCQUAL
-                            175 	.globl _UDMACRCL
-                            176 	.globl _UDMACRCH
-                            177 	.globl _GPIFHOLDAMOUNT
-                            178 	.globl _FLOWSTBHPERIOD
-                            179 	.globl _FLOWSTBEDGE
-                            180 	.globl _FLOWSTB
-                            181 	.globl _FLOWHOLDOFF
-                            182 	.globl _FLOWEQ1CTL
-                            183 	.globl _FLOWEQ0CTL
-                            184 	.globl _FLOWLOGIC
-                            185 	.globl _FLOWSTATE
-                            186 	.globl _GPIFABORT
-                            187 	.globl _GPIFREADYSTAT
-                            188 	.globl _GPIFREADYCFG
-                            189 	.globl _XGPIFSGLDATLNOX
-                            190 	.globl _XGPIFSGLDATLX
-                            191 	.globl _XGPIFSGLDATH
-                            192 	.globl _EP8GPIFTRIG
-                            193 	.globl _EP8GPIFPFSTOP
-                            194 	.globl _EP8GPIFFLGSEL
-                            195 	.globl _EP6GPIFTRIG
-                            196 	.globl _EP6GPIFPFSTOP
-                            197 	.globl _EP6GPIFFLGSEL
-                            198 	.globl _EP4GPIFTRIG
-                            199 	.globl _EP4GPIFPFSTOP
-                            200 	.globl _EP4GPIFFLGSEL
-                            201 	.globl _EP2GPIFTRIG
-                            202 	.globl _EP2GPIFPFSTOP
-                            203 	.globl _EP2GPIFFLGSEL
-                            204 	.globl _GPIFTCB0
-                            205 	.globl _GPIFTCB1
-                            206 	.globl _GPIFTCB2
-                            207 	.globl _GPIFTCB3
-                            208 	.globl _GPIFADRL
-                            209 	.globl _GPIFADRH
-                            210 	.globl _GPIFCTLCFG
-                            211 	.globl _GPIFIDLECTL
-                            212 	.globl _GPIFIDLECS
-                            213 	.globl _GPIFWFSELECT
-                            214 	.globl _SETUPDAT
-                            215 	.globl _SUDPTRCTL
-                            216 	.globl _SUDPTRL
-                            217 	.globl _SUDPTRH
-                            218 	.globl _EP8FIFOBCL
-                            219 	.globl _EP8FIFOBCH
-                            220 	.globl _EP6FIFOBCL
-                            221 	.globl _EP6FIFOBCH
-                            222 	.globl _EP4FIFOBCL
-                            223 	.globl _EP4FIFOBCH
-                            224 	.globl _EP2FIFOBCL
-                            225 	.globl _EP2FIFOBCH
-                            226 	.globl _EP8FIFOFLGS
-                            227 	.globl _EP6FIFOFLGS
-                            228 	.globl _EP4FIFOFLGS
-                            229 	.globl _EP2FIFOFLGS
-                            230 	.globl _EP8CS
-                            231 	.globl _EP6CS
-                            232 	.globl _EP4CS
-                            233 	.globl _EP2CS
-                            234 	.globl _EP1INCS
-                            235 	.globl _EP1OUTCS
-                            236 	.globl _EP0CS
-                            237 	.globl _EP8BCL
-                            238 	.globl _EP8BCH
-                            239 	.globl _EP6BCL
-                            240 	.globl _EP6BCH
-                            241 	.globl _EP4BCL
-                            242 	.globl _EP4BCH
-                            243 	.globl _EP2BCL
-                            244 	.globl _EP2BCH
-                            245 	.globl _EP1INBC
-                            246 	.globl _EP1OUTBC
-                            247 	.globl _EP0BCL
-                            248 	.globl _EP0BCH
-                            249 	.globl _FNADDR
-                            250 	.globl _MICROFRAME
-                            251 	.globl _USBFRAMEL
-                            252 	.globl _USBFRAMEH
-                            253 	.globl _TOGCTL
-                            254 	.globl _WAKEUPCS
-                            255 	.globl _SUSPEND
-                            256 	.globl _USBCS
-                            257 	.globl _XAUTODAT2
-                            258 	.globl _XAUTODAT1
-                            259 	.globl _I2CTL
-                            260 	.globl _I2DAT
-                            261 	.globl _I2CS
-                            262 	.globl _PORTECFG
-                            263 	.globl _PORTCCFG
-                            264 	.globl _PORTACFG
-                            265 	.globl _INTSETUP
-                            266 	.globl _INT4IVEC
-                            267 	.globl _INT2IVEC
-                            268 	.globl _CLRERRCNT
-                            269 	.globl _ERRCNTLIM
-                            270 	.globl _USBERRIRQ
-                            271 	.globl _USBERRIE
-                            272 	.globl _GPIFIRQ
-                            273 	.globl _GPIFIE
-                            274 	.globl _EPIRQ
-                            275 	.globl _EPIE
-                            276 	.globl _USBIRQ
-                            277 	.globl _USBIE
-                            278 	.globl _NAKIRQ
-                            279 	.globl _NAKIE
-                            280 	.globl _IBNIRQ
-                            281 	.globl _IBNIE
-                            282 	.globl _EP8FIFOIRQ
-                            283 	.globl _EP8FIFOIE
-                            284 	.globl _EP6FIFOIRQ
-                            285 	.globl _EP6FIFOIE
-                            286 	.globl _EP4FIFOIRQ
-                            287 	.globl _EP4FIFOIE
-                            288 	.globl _EP2FIFOIRQ
-                            289 	.globl _EP2FIFOIE
-                            290 	.globl _OUTPKTEND
-                            291 	.globl _INPKTEND
-                            292 	.globl _EP8ISOINPKTS
-                            293 	.globl _EP6ISOINPKTS
-                            294 	.globl _EP4ISOINPKTS
-                            295 	.globl _EP2ISOINPKTS
-                            296 	.globl _EP8FIFOPFL
-                            297 	.globl _EP8FIFOPFH
-                            298 	.globl _EP6FIFOPFL
-                            299 	.globl _EP6FIFOPFH
-                            300 	.globl _EP4FIFOPFL
-                            301 	.globl _EP4FIFOPFH
-                            302 	.globl _EP2FIFOPFL
-                            303 	.globl _EP2FIFOPFH
-                            304 	.globl _EP8AUTOINLENL
-                            305 	.globl _EP8AUTOINLENH
-                            306 	.globl _EP6AUTOINLENL
-                            307 	.globl _EP6AUTOINLENH
-                            308 	.globl _EP4AUTOINLENL
-                            309 	.globl _EP4AUTOINLENH
-                            310 	.globl _EP2AUTOINLENL
-                            311 	.globl _EP2AUTOINLENH
-                            312 	.globl _EP8FIFOCFG
-                            313 	.globl _EP6FIFOCFG
-                            314 	.globl _EP4FIFOCFG
-                            315 	.globl _EP2FIFOCFG
-                            316 	.globl _EP8CFG
-                            317 	.globl _EP6CFG
-                            318 	.globl _EP4CFG
-                            319 	.globl _EP2CFG
-                            320 	.globl _EP1INCFG
-                            321 	.globl _EP1OUTCFG
-                            322 	.globl _REVCTL
-                            323 	.globl _REVID
-                            324 	.globl _FIFOPINPOLAR
-                            325 	.globl _UART230
-                            326 	.globl _BPADDRL
-                            327 	.globl _BPADDRH
-                            328 	.globl _BREAKPT
-                            329 	.globl _FIFORESET
-                            330 	.globl _PINFLAGSCD
-                            331 	.globl _PINFLAGSAB
-                            332 	.globl _IFCONFIG
-                            333 	.globl _CPUCS
-                            334 	.globl _RES_WAVEDATA_END
-                            335 	.globl _GPIF_WAVE_DATA
-                            336 	.globl __usb_rx_overrun
-                            337 	.globl __usb_got_SUDAV
-                            338 	.globl _other_config_descr
-                            339 	.globl _current_config_descr
-                            340 	.globl _current_devqual_descr
-                            341 	.globl _current_device_descr
-                            342 	.globl __usb_alt_setting
-                            343 	.globl __usb_config
-                            344 	.globl _usb_install_handlers
-                            345 	.globl _usb_handle_setup_packet
-                            346 ;--------------------------------------------------------
-                            347 ; special function registers
-                            348 ;--------------------------------------------------------
-                            349 	.area RSEG    (DATA)
-                    0080    350 _IOA	=	0x0080
-                    0081    351 _SP	=	0x0081
-                    0082    352 _DPL	=	0x0082
-                    0083    353 _DPH	=	0x0083
-                    0084    354 _DPL1	=	0x0084
-                    0085    355 _DPH1	=	0x0085
-                    0086    356 _DPS	=	0x0086
-                    0087    357 _PCON	=	0x0087
-                    0088    358 _TCON	=	0x0088
-                    0089    359 _TMOD	=	0x0089
-                    008A    360 _TL0	=	0x008a
-                    008B    361 _TL1	=	0x008b
-                    008C    362 _TH0	=	0x008c
-                    008D    363 _TH1	=	0x008d
-                    008E    364 _CKCON	=	0x008e
-                    0090    365 _IOB	=	0x0090
-                    0091    366 _EXIF	=	0x0091
-                    0092    367 _MPAGE	=	0x0092
-                    0098    368 _SCON0	=	0x0098
-                    0099    369 _SBUF0	=	0x0099
-                    009A    370 _APTR1H	=	0x009a
-                    009B    371 _APTR1L	=	0x009b
-                    009C    372 _AUTODAT1	=	0x009c
-                    009D    373 _AUTOPTRH2	=	0x009d
-                    009E    374 _AUTOPTRL2	=	0x009e
-                    009F    375 _AUTODAT2	=	0x009f
-                    00A0    376 _IOC	=	0x00a0
-                    00A1    377 _INT2CLR	=	0x00a1
-                    00A2    378 _INT4CLR	=	0x00a2
-                    00A8    379 _IE	=	0x00a8
-                    00AA    380 _EP2468STAT	=	0x00aa
-                    00AB    381 _EP24FIFOFLGS	=	0x00ab
-                    00AC    382 _EP68FIFOFLGS	=	0x00ac
-                    00AF    383 _AUTOPTRSETUP	=	0x00af
-                    00B0    384 _IOD	=	0x00b0
-                    00B1    385 _IOE	=	0x00b1
-                    00B2    386 _OEA	=	0x00b2
-                    00B3    387 _OEB	=	0x00b3
-                    00B4    388 _OEC	=	0x00b4
-                    00B5    389 _OED	=	0x00b5
-                    00B6    390 _OEE	=	0x00b6
-                    00B8    391 _IP	=	0x00b8
-                    00BA    392 _EP01STAT	=	0x00ba
-                    00BB    393 _GPIFTRIG	=	0x00bb
-                    00BD    394 _GPIFSGLDATH	=	0x00bd
-                    00BE    395 _GPIFSGLDATLX	=	0x00be
-                    00BF    396 _GPIFSGLDATLNOX	=	0x00bf
-                    00C0    397 _SCON1	=	0x00c0
-                    00C1    398 _SBUF1	=	0x00c1
-                    00C8    399 _T2CON	=	0x00c8
-                    00CA    400 _RCAP2L	=	0x00ca
-                    00CB    401 _RCAP2H	=	0x00cb
-                    00CC    402 _TL2	=	0x00cc
-                    00CD    403 _TH2	=	0x00cd
-                    00D0    404 _PSW	=	0x00d0
-                    00D8    405 _EICON	=	0x00d8
-                    00E0    406 _ACC	=	0x00e0
-                    00E8    407 _EIE	=	0x00e8
-                    00F0    408 _B	=	0x00f0
-                    00F8    409 _EIP	=	0x00f8
-                            410 ;--------------------------------------------------------
-                            411 ; special function bits
-                            412 ;--------------------------------------------------------
-                            413 	.area RSEG    (DATA)
-                    0080    414 _A0	=	0x0080
-                    0081    415 _A1	=	0x0081
-                    0082    416 _A2	=	0x0082
-                    0083    417 _A3	=	0x0083
-                    0084    418 _A4	=	0x0084
-                    0085    419 _A5	=	0x0085
-                    0086    420 _A6	=	0x0086
-                    0087    421 _A7	=	0x0087
-                    0086    422 _SEL	=	0x0086
-                    0088    423 _IT0	=	0x0088
-                    0089    424 _IE0	=	0x0089
-                    008A    425 _IT1	=	0x008a
-                    008B    426 _IE1	=	0x008b
-                    008C    427 _TR0	=	0x008c
-                    008D    428 _TF0	=	0x008d
-                    008E    429 _TR1	=	0x008e
-                    008F    430 _TF1	=	0x008f
-                    0098    431 _RI	=	0x0098
-                    0099    432 _TI	=	0x0099
-                    009A    433 _RB8	=	0x009a
-                    009B    434 _TB8	=	0x009b
-                    009C    435 _REN	=	0x009c
-                    009D    436 _SM2	=	0x009d
-                    009E    437 _SM1	=	0x009e
-                    009F    438 _SM0	=	0x009f
-                    00A8    439 _EX0	=	0x00a8
-                    00A9    440 _ET0	=	0x00a9
-                    00AA    441 _EX1	=	0x00aa
-                    00AB    442 _ET1	=	0x00ab
-                    00AC    443 _ES0	=	0x00ac
-                    00AD    444 _ET2	=	0x00ad
-                    00AE    445 _ES1	=	0x00ae
-                    00AF    446 _EA	=	0x00af
-                    00B0    447 _D0	=	0x00b0
-                    00B1    448 _D1	=	0x00b1
-                    00B2    449 _D2	=	0x00b2
-                    00B3    450 _D3	=	0x00b3
-                    00B4    451 _D4	=	0x00b4
-                    00B5    452 _D5	=	0x00b5
-                    00B6    453 _D6	=	0x00b6
-                    00B7    454 _D7	=	0x00b7
-                    00B8    455 _PX0	=	0x00b8
-                    00B9    456 _PT0	=	0x00b9
-                    00BA    457 _PX1	=	0x00ba
-                    00BB    458 _PT1	=	0x00bb
-                    00BC    459 _PS0	=	0x00bc
-                    00BD    460 _PT2	=	0x00bd
-                    00BE    461 _PS1	=	0x00be
-                    00C0    462 _RI1	=	0x00c0
-                    00C1    463 _TI1	=	0x00c1
-                    00C2    464 _RB81	=	0x00c2
-                    00C3    465 _TB81	=	0x00c3
-                    00C4    466 _REN1	=	0x00c4
-                    00C5    467 _SM21	=	0x00c5
-                    00C6    468 _SM11	=	0x00c6
-                    00C7    469 _SM01	=	0x00c7
-                    00C8    470 _CP_RL2	=	0x00c8
-                    00C9    471 _C_T2	=	0x00c9
-                    00CA    472 _TR2	=	0x00ca
-                    00CB    473 _EXEN2	=	0x00cb
-                    00CC    474 _TCLK	=	0x00cc
-                    00CD    475 _RCLK	=	0x00cd
-                    00CE    476 _EXF2	=	0x00ce
-                    00CF    477 _TF2	=	0x00cf
-                    00D0    478 _P	=	0x00d0
-                    00D1    479 _FL	=	0x00d1
-                    00D2    480 _OV	=	0x00d2
-                    00D3    481 _RS0	=	0x00d3
-                    00D4    482 _RS1	=	0x00d4
-                    00D5    483 _F0	=	0x00d5
-                    00D6    484 _AC	=	0x00d6
-                    00D7    485 _CY	=	0x00d7
-                    00DB    486 _INT6	=	0x00db
-                    00DC    487 _RESI	=	0x00dc
-                    00DD    488 _ERESI	=	0x00dd
-                    00DF    489 _SMOD1	=	0x00df
-                    00E8    490 _EIUSB	=	0x00e8
-                    00E9    491 _EI2C	=	0x00e9
-                    00EA    492 _EIEX4	=	0x00ea
-                    00EB    493 _EIEX5	=	0x00eb
-                    00EC    494 _EIEX6	=	0x00ec
-                    00F8    495 _PUSB	=	0x00f8
-                    00F9    496 _PI2C	=	0x00f9
-                    00FA    497 _EIPX4	=	0x00fa
-                    00FB    498 _EIPX5	=	0x00fb
-                    00FC    499 _EIPX6	=	0x00fc
-                            500 ;--------------------------------------------------------
-                            501 ; overlayable register banks
-                            502 ;--------------------------------------------------------
-                            503 	.area REG_BANK_0	(REL,OVR,DATA)
-   0000                     504 	.ds 8
-                            505 ;--------------------------------------------------------
-                            506 ; overlayable bit register bank
-                            507 ;--------------------------------------------------------
-                            508 	.area BIT_BANK	(REL,OVR,DATA)
-   0000                     509 bits:
-   0000                     510 	.ds 1
-                    8000    511 	b0 = bits[0]
-                    8100    512 	b1 = bits[1]
-                    8200    513 	b2 = bits[2]
-                    8300    514 	b3 = bits[3]
-                    8400    515 	b4 = bits[4]
-                    8500    516 	b5 = bits[5]
-                    8600    517 	b6 = bits[6]
-                    8700    518 	b7 = bits[7]
-                            519 ;--------------------------------------------------------
-                            520 ; internal ram data
-                            521 ;--------------------------------------------------------
-                            522 	.area DSEG    (DATA)
-   0000                     523 __usb_config::
-   0000                     524 	.ds 1
-   0001                     525 __usb_alt_setting::
-   0001                     526 	.ds 1
-   0002                     527 _current_device_descr::
-   0002                     528 	.ds 2
-   0004                     529 _current_devqual_descr::
-   0004                     530 	.ds 2
-   0006                     531 _current_config_descr::
-   0006                     532 	.ds 2
-   0008                     533 _other_config_descr::
-   0008                     534 	.ds 2
-                            535 ;--------------------------------------------------------
-                            536 ; overlayable items in internal ram 
-                            537 ;--------------------------------------------------------
-                            538 	.area	OSEG    (OVR,DATA)
-                            539 	.area	OSEG    (OVR,DATA)
-                            540 ;--------------------------------------------------------
-                            541 ; indirectly addressable internal ram data
-                            542 ;--------------------------------------------------------
-                            543 	.area ISEG    (DATA)
-                            544 ;--------------------------------------------------------
-                            545 ; absolute internal ram data
-                            546 ;--------------------------------------------------------
-                            547 	.area IABS    (ABS,DATA)
-                            548 	.area IABS    (ABS,DATA)
-                            549 ;--------------------------------------------------------
-                            550 ; bit data
-                            551 ;--------------------------------------------------------
-                            552 	.area BSEG    (BIT)
-   0000                     553 __usb_got_SUDAV::
-   0000                     554 	.ds 1
-   0001                     555 __usb_rx_overrun::
-   0001                     556 	.ds 1
-                            557 ;--------------------------------------------------------
-                            558 ; paged external ram data
-                            559 ;--------------------------------------------------------
-                            560 	.area PSEG    (PAG,XDATA)
-                            561 ;--------------------------------------------------------
-                            562 ; external ram data
-                            563 ;--------------------------------------------------------
-                            564 	.area XSEG    (XDATA)
-                    E400    565 _GPIF_WAVE_DATA	=	0xe400
-                    E480    566 _RES_WAVEDATA_END	=	0xe480
-                    E600    567 _CPUCS	=	0xe600
-                    E601    568 _IFCONFIG	=	0xe601
-                    E602    569 _PINFLAGSAB	=	0xe602
-                    E603    570 _PINFLAGSCD	=	0xe603
-                    E604    571 _FIFORESET	=	0xe604
-                    E605    572 _BREAKPT	=	0xe605
-                    E606    573 _BPADDRH	=	0xe606
-                    E607    574 _BPADDRL	=	0xe607
-                    E608    575 _UART230	=	0xe608
-                    E609    576 _FIFOPINPOLAR	=	0xe609
-                    E60A    577 _REVID	=	0xe60a
-                    E60B    578 _REVCTL	=	0xe60b
-                    E610    579 _EP1OUTCFG	=	0xe610
-                    E611    580 _EP1INCFG	=	0xe611
-                    E612    581 _EP2CFG	=	0xe612
-                    E613    582 _EP4CFG	=	0xe613
-                    E614    583 _EP6CFG	=	0xe614
-                    E615    584 _EP8CFG	=	0xe615
-                    E618    585 _EP2FIFOCFG	=	0xe618
-                    E619    586 _EP4FIFOCFG	=	0xe619
-                    E61A    587 _EP6FIFOCFG	=	0xe61a
-                    E61B    588 _EP8FIFOCFG	=	0xe61b
-                    E620    589 _EP2AUTOINLENH	=	0xe620
-                    E621    590 _EP2AUTOINLENL	=	0xe621
-                    E622    591 _EP4AUTOINLENH	=	0xe622
-                    E623    592 _EP4AUTOINLENL	=	0xe623
-                    E624    593 _EP6AUTOINLENH	=	0xe624
-                    E625    594 _EP6AUTOINLENL	=	0xe625
-                    E626    595 _EP8AUTOINLENH	=	0xe626
-                    E627    596 _EP8AUTOINLENL	=	0xe627
-                    E630    597 _EP2FIFOPFH	=	0xe630
-                    E631    598 _EP2FIFOPFL	=	0xe631
-                    E632    599 _EP4FIFOPFH	=	0xe632
-                    E633    600 _EP4FIFOPFL	=	0xe633
-                    E634    601 _EP6FIFOPFH	=	0xe634
-                    E635    602 _EP6FIFOPFL	=	0xe635
-                    E636    603 _EP8FIFOPFH	=	0xe636
-                    E637    604 _EP8FIFOPFL	=	0xe637
-                    E640    605 _EP2ISOINPKTS	=	0xe640
-                    E641    606 _EP4ISOINPKTS	=	0xe641
-                    E642    607 _EP6ISOINPKTS	=	0xe642
-                    E643    608 _EP8ISOINPKTS	=	0xe643
-                    E648    609 _INPKTEND	=	0xe648
-                    E649    610 _OUTPKTEND	=	0xe649
-                    E650    611 _EP2FIFOIE	=	0xe650
-                    E651    612 _EP2FIFOIRQ	=	0xe651
-                    E652    613 _EP4FIFOIE	=	0xe652
-                    E653    614 _EP4FIFOIRQ	=	0xe653
-                    E654    615 _EP6FIFOIE	=	0xe654
-                    E655    616 _EP6FIFOIRQ	=	0xe655
-                    E656    617 _EP8FIFOIE	=	0xe656
-                    E657    618 _EP8FIFOIRQ	=	0xe657
-                    E658    619 _IBNIE	=	0xe658
-                    E659    620 _IBNIRQ	=	0xe659
-                    E65A    621 _NAKIE	=	0xe65a
-                    E65B    622 _NAKIRQ	=	0xe65b
-                    E65C    623 _USBIE	=	0xe65c
-                    E65D    624 _USBIRQ	=	0xe65d
-                    E65E    625 _EPIE	=	0xe65e
-                    E65F    626 _EPIRQ	=	0xe65f
-                    E660    627 _GPIFIE	=	0xe660
-                    E661    628 _GPIFIRQ	=	0xe661
-                    E662    629 _USBERRIE	=	0xe662
-                    E663    630 _USBERRIRQ	=	0xe663
-                    E664    631 _ERRCNTLIM	=	0xe664
-                    E665    632 _CLRERRCNT	=	0xe665
-                    E666    633 _INT2IVEC	=	0xe666
-                    E667    634 _INT4IVEC	=	0xe667
-                    E668    635 _INTSETUP	=	0xe668
-                    E670    636 _PORTACFG	=	0xe670
-                    E671    637 _PORTCCFG	=	0xe671
-                    E672    638 _PORTECFG	=	0xe672
-                    E678    639 _I2CS	=	0xe678
-                    E679    640 _I2DAT	=	0xe679
-                    E67A    641 _I2CTL	=	0xe67a
-                    E67B    642 _XAUTODAT1	=	0xe67b
-                    E67C    643 _XAUTODAT2	=	0xe67c
-                    E680    644 _USBCS	=	0xe680
-                    E681    645 _SUSPEND	=	0xe681
-                    E682    646 _WAKEUPCS	=	0xe682
-                    E683    647 _TOGCTL	=	0xe683
-                    E684    648 _USBFRAMEH	=	0xe684
-                    E685    649 _USBFRAMEL	=	0xe685
-                    E686    650 _MICROFRAME	=	0xe686
-                    E687    651 _FNADDR	=	0xe687
-                    E68A    652 _EP0BCH	=	0xe68a
-                    E68B    653 _EP0BCL	=	0xe68b
-                    E68D    654 _EP1OUTBC	=	0xe68d
-                    E68F    655 _EP1INBC	=	0xe68f
-                    E690    656 _EP2BCH	=	0xe690
-                    E691    657 _EP2BCL	=	0xe691
-                    E694    658 _EP4BCH	=	0xe694
-                    E695    659 _EP4BCL	=	0xe695
-                    E698    660 _EP6BCH	=	0xe698
-                    E699    661 _EP6BCL	=	0xe699
-                    E69C    662 _EP8BCH	=	0xe69c
-                    E69D    663 _EP8BCL	=	0xe69d
-                    E6A0    664 _EP0CS	=	0xe6a0
-                    E6A1    665 _EP1OUTCS	=	0xe6a1
-                    E6A2    666 _EP1INCS	=	0xe6a2
-                    E6A3    667 _EP2CS	=	0xe6a3
-                    E6A4    668 _EP4CS	=	0xe6a4
-                    E6A5    669 _EP6CS	=	0xe6a5
-                    E6A6    670 _EP8CS	=	0xe6a6
-                    E6A7    671 _EP2FIFOFLGS	=	0xe6a7
-                    E6A8    672 _EP4FIFOFLGS	=	0xe6a8
-                    E6A9    673 _EP6FIFOFLGS	=	0xe6a9
-                    E6AA    674 _EP8FIFOFLGS	=	0xe6aa
-                    E6AB    675 _EP2FIFOBCH	=	0xe6ab
-                    E6AC    676 _EP2FIFOBCL	=	0xe6ac
-                    E6AD    677 _EP4FIFOBCH	=	0xe6ad
-                    E6AE    678 _EP4FIFOBCL	=	0xe6ae
-                    E6AF    679 _EP6FIFOBCH	=	0xe6af
-                    E6B0    680 _EP6FIFOBCL	=	0xe6b0
-                    E6B1    681 _EP8FIFOBCH	=	0xe6b1
-                    E6B2    682 _EP8FIFOBCL	=	0xe6b2
-                    E6B3    683 _SUDPTRH	=	0xe6b3
-                    E6B4    684 _SUDPTRL	=	0xe6b4
-                    E6B5    685 _SUDPTRCTL	=	0xe6b5
-                    E6B8    686 _SETUPDAT	=	0xe6b8
-                    E6C0    687 _GPIFWFSELECT	=	0xe6c0
-                    E6C1    688 _GPIFIDLECS	=	0xe6c1
-                    E6C2    689 _GPIFIDLECTL	=	0xe6c2
-                    E6C3    690 _GPIFCTLCFG	=	0xe6c3
-                    E6C4    691 _GPIFADRH	=	0xe6c4
-                    E6C5    692 _GPIFADRL	=	0xe6c5
-                    E6CE    693 _GPIFTCB3	=	0xe6ce
-                    E6CF    694 _GPIFTCB2	=	0xe6cf
-                    E6D0    695 _GPIFTCB1	=	0xe6d0
-                    E6D1    696 _GPIFTCB0	=	0xe6d1
-                    E6D2    697 _EP2GPIFFLGSEL	=	0xe6d2
-                    E6D3    698 _EP2GPIFPFSTOP	=	0xe6d3
-                    E6D4    699 _EP2GPIFTRIG	=	0xe6d4
-                    E6DA    700 _EP4GPIFFLGSEL	=	0xe6da
-                    E6DB    701 _EP4GPIFPFSTOP	=	0xe6db
-                    E6DC    702 _EP4GPIFTRIG	=	0xe6dc
-                    E6E2    703 _EP6GPIFFLGSEL	=	0xe6e2
-                    E6E3    704 _EP6GPIFPFSTOP	=	0xe6e3
-                    E6E4    705 _EP6GPIFTRIG	=	0xe6e4
-                    E6EA    706 _EP8GPIFFLGSEL	=	0xe6ea
-                    E6EB    707 _EP8GPIFPFSTOP	=	0xe6eb
-                    E6EC    708 _EP8GPIFTRIG	=	0xe6ec
-                    E6F0    709 _XGPIFSGLDATH	=	0xe6f0
-                    E6F1    710 _XGPIFSGLDATLX	=	0xe6f1
-                    E6F2    711 _XGPIFSGLDATLNOX	=	0xe6f2
-                    E6F3    712 _GPIFREADYCFG	=	0xe6f3
-                    E6F4    713 _GPIFREADYSTAT	=	0xe6f4
-                    E6F5    714 _GPIFABORT	=	0xe6f5
-                    E6C6    715 _FLOWSTATE	=	0xe6c6
-                    E6C7    716 _FLOWLOGIC	=	0xe6c7
-                    E6C8    717 _FLOWEQ0CTL	=	0xe6c8
-                    E6C9    718 _FLOWEQ1CTL	=	0xe6c9
-                    E6CA    719 _FLOWHOLDOFF	=	0xe6ca
-                    E6CB    720 _FLOWSTB	=	0xe6cb
-                    E6CC    721 _FLOWSTBEDGE	=	0xe6cc
-                    E6CD    722 _FLOWSTBHPERIOD	=	0xe6cd
-                    E60C    723 _GPIFHOLDAMOUNT	=	0xe60c
-                    E67D    724 _UDMACRCH	=	0xe67d
-                    E67E    725 _UDMACRCL	=	0xe67e
-                    E67F    726 _UDMACRCQUAL	=	0xe67f
-                    E6F8    727 _DBUG	=	0xe6f8
-                    E6F9    728 _TESTCFG	=	0xe6f9
-                    E6FA    729 _USBTEST	=	0xe6fa
-                    E6FB    730 _CT1	=	0xe6fb
-                    E6FC    731 _CT2	=	0xe6fc
-                    E6FD    732 _CT3	=	0xe6fd
-                    E6FE    733 _CT4	=	0xe6fe
-                    E740    734 _EP0BUF	=	0xe740
-                    E780    735 _EP1OUTBUF	=	0xe780
-                    E7C0    736 _EP1INBUF	=	0xe7c0
-                    F000    737 _EP2FIFOBUF	=	0xf000
-                    F400    738 _EP4FIFOBUF	=	0xf400
-                    F800    739 _EP6FIFOBUF	=	0xf800
-                    FC00    740 _EP8FIFOBUF	=	0xfc00
-                            741 ;--------------------------------------------------------
-                            742 ; absolute external ram data
-                            743 ;--------------------------------------------------------
-                            744 	.area XABS    (ABS,XDATA)
-                            745 ;--------------------------------------------------------
-                            746 ; external initialized ram data
-                            747 ;--------------------------------------------------------
-                            748 	.area HOME    (CODE)
-                            749 	.area GSINIT0 (CODE)
-                            750 	.area GSINIT1 (CODE)
-                            751 	.area GSINIT2 (CODE)
-                            752 	.area GSINIT3 (CODE)
-                            753 	.area GSINIT4 (CODE)
-                            754 	.area GSINIT5 (CODE)
-                            755 	.area GSINIT  (CODE)
-                            756 	.area GSFINAL (CODE)
-                            757 	.area CSEG    (CODE)
-                            758 ;--------------------------------------------------------
-                            759 ; global & static initialisations
-                            760 ;--------------------------------------------------------
-                            761 	.area HOME    (CODE)
-                            762 	.area GSINIT  (CODE)
-                            763 	.area GSFINAL (CODE)
-                            764 	.area GSINIT  (CODE)
-                            765 ;	usb_common.c:72: unsigned char	_usb_config = 0;
-   0000 75*00 00            766 	mov	__usb_config,#0x00
-                            767 ;	usb_common.c:73: unsigned char	_usb_alt_setting = 0;	// FIXME really 1/interface
-   0003 75*01 00            768 	mov	__usb_alt_setting,#0x00
-                            769 ;--------------------------------------------------------
-                            770 ; Home
-                            771 ;--------------------------------------------------------
-                            772 	.area HOME    (CODE)
-                            773 	.area HOME    (CODE)
-                            774 ;--------------------------------------------------------
-                            775 ; code
-                            776 ;--------------------------------------------------------
-                            777 	.area CSEG    (CODE)
-                            778 ;------------------------------------------------------------
-                            779 ;Allocation info for local variables in function 'setup_descriptors'
-                            780 ;------------------------------------------------------------
-                            781 ;------------------------------------------------------------
-                            782 ;	usb_common.c:81: setup_descriptors (void)
-                            783 ;	-----------------------------------------
-                            784 ;	 function setup_descriptors
-                            785 ;	-----------------------------------------
-   0000                     786 _setup_descriptors:
-                    0002    787 	ar2 = 0x02
-                    0003    788 	ar3 = 0x03
-                    0004    789 	ar4 = 0x04
-                    0005    790 	ar5 = 0x05
-                    0006    791 	ar6 = 0x06
-                    0007    792 	ar7 = 0x07
-                    0000    793 	ar0 = 0x00
-                    0001    794 	ar1 = 0x01
-                            795 ;	usb_common.c:83: if (USBCS & bmHSM){		// high speed mode
-   0000 90 E6 80            796 	mov	dptr,#_USBCS
-   0003 E0                  797 	movx	a, at dptr
-   0004 FA                  798 	mov	r2,a
-   0005 30 E7 19            799 	jnb	acc.7,00102$
-                            800 ;	usb_common.c:84: current_device_descr  = high_speed_device_descr;
-   0008 75*02r00            801 	mov	_current_device_descr,#_high_speed_device_descr
-   000B 75*03s00            802 	mov	(_current_device_descr + 1),#(_high_speed_device_descr >> 8)
-                            803 ;	usb_common.c:85: current_devqual_descr = high_speed_devqual_descr;
-   000E 75*04r00            804 	mov	_current_devqual_descr,#_high_speed_devqual_descr
-   0011 75*05s00            805 	mov	(_current_devqual_descr + 1),#(_high_speed_devqual_descr >> 8)
-                            806 ;	usb_common.c:86: current_config_descr  = high_speed_config_descr;
-   0014 75*06r00            807 	mov	_current_config_descr,#_high_speed_config_descr
-   0017 75*07s00            808 	mov	(_current_config_descr + 1),#(_high_speed_config_descr >> 8)
-                            809 ;	usb_common.c:87: other_config_descr    = full_speed_config_descr;
-   001A 75*08r00            810 	mov	_other_config_descr,#_full_speed_config_descr
-   001D 75*09s00            811 	mov	(_other_config_descr + 1),#(_full_speed_config_descr >> 8)
-   0020 22                  812 	ret
-   0021                     813 00102$:
-                            814 ;	usb_common.c:90: current_device_descr  = full_speed_device_descr;
-   0021 75*02r00            815 	mov	_current_device_descr,#_full_speed_device_descr
-   0024 75*03s00            816 	mov	(_current_device_descr + 1),#(_full_speed_device_descr >> 8)
-                            817 ;	usb_common.c:91: current_devqual_descr = full_speed_devqual_descr;
-   0027 75*04r00            818 	mov	_current_devqual_descr,#_full_speed_devqual_descr
-   002A 75*05s00            819 	mov	(_current_devqual_descr + 1),#(_full_speed_devqual_descr >> 8)
-                            820 ;	usb_common.c:92: current_config_descr  = full_speed_config_descr;
-   002D 75*06r00            821 	mov	_current_config_descr,#_full_speed_config_descr
-   0030 75*07s00            822 	mov	(_current_config_descr + 1),#(_full_speed_config_descr >> 8)
-                            823 ;	usb_common.c:93: other_config_descr    = high_speed_config_descr;
-   0033 75*08r00            824 	mov	_other_config_descr,#_high_speed_config_descr
-   0036 75*09s00            825 	mov	(_other_config_descr + 1),#(_high_speed_config_descr >> 8)
-   0039 22                  826 	ret
-                            827 ;------------------------------------------------------------
-                            828 ;Allocation info for local variables in function 'isr_SUDAV'
-                            829 ;------------------------------------------------------------
-                            830 ;------------------------------------------------------------
-                            831 ;	usb_common.c:103: isr_SUDAV (void) interrupt
-                            832 ;	-----------------------------------------
-                            833 ;	 function isr_SUDAV
-                            834 ;	-----------------------------------------
-   003A                     835 _isr_SUDAV:
-                            836 ;	usb_common.c:105: clear_usb_irq ();
-   003A 53 91 EF            837 	anl	_EXIF,#0xEF
-   003D 75 A1 00            838 	mov	_INT2CLR,#0x00
-                            839 ;	usb_common.c:106: _usb_got_SUDAV = 1;
-   0040 D2*00               840 	setb	__usb_got_SUDAV
-   0042 32                  841 	reti
-                            842 ;	eliminated unneeded push/pop psw
-                            843 ;	eliminated unneeded push/pop dpl
-                            844 ;	eliminated unneeded push/pop dph
-                            845 ;	eliminated unneeded push/pop b
-                            846 ;	eliminated unneeded push/pop acc
-                            847 ;------------------------------------------------------------
-                            848 ;Allocation info for local variables in function 'isr_USBRESET'
-                            849 ;------------------------------------------------------------
-                            850 ;------------------------------------------------------------
-                            851 ;	usb_common.c:111: isr_USBRESET (void) interrupt
-                            852 ;	-----------------------------------------
-                            853 ;	 function isr_USBRESET
-                            854 ;	-----------------------------------------
-   0043                     855 _isr_USBRESET:
-   0043 C0*00               856 	push	bits
-   0045 C0 E0               857 	push	acc
-   0047 C0 F0               858 	push	b
-   0049 C0 82               859 	push	dpl
-   004B C0 83               860 	push	dph
-   004D C0 02               861 	push	(0+2)
-   004F C0 03               862 	push	(0+3)
-   0051 C0 04               863 	push	(0+4)
-   0053 C0 05               864 	push	(0+5)
-   0055 C0 06               865 	push	(0+6)
-   0057 C0 07               866 	push	(0+7)
-   0059 C0 00               867 	push	(0+0)
-   005B C0 01               868 	push	(0+1)
-   005D C0 D0               869 	push	psw
-   005F 75 D0 00            870 	mov	psw,#0x00
-                            871 ;	usb_common.c:113: clear_usb_irq ();
-   0062 53 91 EF            872 	anl	_EXIF,#0xEF
-   0065 75 A1 00            873 	mov	_INT2CLR,#0x00
-                            874 ;	usb_common.c:114: setup_descriptors ();
-   0068 12s00r00            875 	lcall	_setup_descriptors
-   006B D0 D0               876 	pop	psw
-   006D D0 01               877 	pop	(0+1)
-   006F D0 00               878 	pop	(0+0)
-   0071 D0 07               879 	pop	(0+7)
-   0073 D0 06               880 	pop	(0+6)
-   0075 D0 05               881 	pop	(0+5)
-   0077 D0 04               882 	pop	(0+4)
-   0079 D0 03               883 	pop	(0+3)
-   007B D0 02               884 	pop	(0+2)
-   007D D0 83               885 	pop	dph
-   007F D0 82               886 	pop	dpl
-   0081 D0 F0               887 	pop	b
-   0083 D0 E0               888 	pop	acc
-   0085 D0*00               889 	pop	bits
-   0087 32                  890 	reti
-                            891 ;------------------------------------------------------------
-                            892 ;Allocation info for local variables in function 'isr_HIGHSPEED'
-                            893 ;------------------------------------------------------------
-                            894 ;------------------------------------------------------------
-                            895 ;	usb_common.c:118: isr_HIGHSPEED (void) interrupt
-                            896 ;	-----------------------------------------
-                            897 ;	 function isr_HIGHSPEED
-                            898 ;	-----------------------------------------
-   0088                     899 _isr_HIGHSPEED:
-   0088 C0*00               900 	push	bits
-   008A C0 E0               901 	push	acc
-   008C C0 F0               902 	push	b
-   008E C0 82               903 	push	dpl
-   0090 C0 83               904 	push	dph
-   0092 C0 02               905 	push	(0+2)
-   0094 C0 03               906 	push	(0+3)
-   0096 C0 04               907 	push	(0+4)
-   0098 C0 05               908 	push	(0+5)
-   009A C0 06               909 	push	(0+6)
-   009C C0 07               910 	push	(0+7)
-   009E C0 00               911 	push	(0+0)
-   00A0 C0 01               912 	push	(0+1)
-   00A2 C0 D0               913 	push	psw
-   00A4 75 D0 00            914 	mov	psw,#0x00
-                            915 ;	usb_common.c:120: clear_usb_irq ();
-   00A7 53 91 EF            916 	anl	_EXIF,#0xEF
-   00AA 75 A1 00            917 	mov	_INT2CLR,#0x00
-                            918 ;	usb_common.c:121: setup_descriptors ();
-   00AD 12s00r00            919 	lcall	_setup_descriptors
-   00B0 D0 D0               920 	pop	psw
-   00B2 D0 01               921 	pop	(0+1)
-   00B4 D0 00               922 	pop	(0+0)
-   00B6 D0 07               923 	pop	(0+7)
-   00B8 D0 06               924 	pop	(0+6)
-   00BA D0 05               925 	pop	(0+5)
-   00BC D0 04               926 	pop	(0+4)
-   00BE D0 03               927 	pop	(0+3)
-   00C0 D0 02               928 	pop	(0+2)
-   00C2 D0 83               929 	pop	dph
-   00C4 D0 82               930 	pop	dpl
-   00C6 D0 F0               931 	pop	b
-   00C8 D0 E0               932 	pop	acc
-   00CA D0*00               933 	pop	bits
-   00CC 32                  934 	reti
-                            935 ;------------------------------------------------------------
-                            936 ;Allocation info for local variables in function 'usb_install_handlers'
-                            937 ;------------------------------------------------------------
-                            938 ;------------------------------------------------------------
-                            939 ;	usb_common.c:125: usb_install_handlers (void)
-                            940 ;	-----------------------------------------
-                            941 ;	 function usb_install_handlers
-                            942 ;	-----------------------------------------
-   00CD                     943 _usb_install_handlers:
-                            944 ;	usb_common.c:127: setup_descriptors ();	    // ensure that they're set before use
-   00CD 12s00r00            945 	lcall	_setup_descriptors
-                            946 ;	usb_common.c:129: hook_uv (UV_SUDAV,     (unsigned short) isr_SUDAV);
-   00D0 75*00r3A            947 	mov	_hook_uv_PARM_2,#_isr_SUDAV
-   00D3 75*01s00            948 	mov	(_hook_uv_PARM_2 + 1),#(_isr_SUDAV >> 8)
-   00D6 75 82 00            949 	mov	dpl,#0x00
-   00D9 12s00r00            950 	lcall	_hook_uv
-                            951 ;	usb_common.c:130: hook_uv (UV_USBRESET,  (unsigned short) isr_USBRESET);
-   00DC 75*00r43            952 	mov	_hook_uv_PARM_2,#_isr_USBRESET
-   00DF 75*01s00            953 	mov	(_hook_uv_PARM_2 + 1),#(_isr_USBRESET >> 8)
-   00E2 75 82 10            954 	mov	dpl,#0x10
-   00E5 12s00r00            955 	lcall	_hook_uv
-                            956 ;	usb_common.c:131: hook_uv (UV_HIGHSPEED, (unsigned short) isr_HIGHSPEED);
-   00E8 75*00r88            957 	mov	_hook_uv_PARM_2,#_isr_HIGHSPEED
-   00EB 75*01s00            958 	mov	(_hook_uv_PARM_2 + 1),#(_isr_HIGHSPEED >> 8)
-   00EE 75 82 14            959 	mov	dpl,#0x14
-   00F1 12s00r00            960 	lcall	_hook_uv
-                            961 ;	usb_common.c:133: USBIE = bmSUDAV | bmURES | bmHSGRANT;
-   00F4 90 E6 5C            962 	mov	dptr,#_USBIE
-   00F7 74 31               963 	mov	a,#0x31
-   00F9 F0                  964 	movx	@dptr,a
-   00FA 22                  965 	ret
-                            966 ;------------------------------------------------------------
-                            967 ;Allocation info for local variables in function 'plausible_endpoint'
-                            968 ;------------------------------------------------------------
-                            969 ;ep                        Allocated to registers r2 
-                            970 ;------------------------------------------------------------
-                            971 ;	usb_common.c:140: plausible_endpoint (unsigned char ep)
-                            972 ;	-----------------------------------------
-                            973 ;	 function plausible_endpoint
-                            974 ;	-----------------------------------------
-   00FB                     975 _plausible_endpoint:
-                            976 ;	usb_common.c:142: ep &= ~0x80;	// ignore direction bit
-                            977 ;	usb_common.c:144: if (ep > 8)
-   00FB E5 82               978 	mov	a,dpl
-   00FD 54 7F               979 	anl	a,#0x7F
-   00FF FA                  980 	mov	r2,a
-   0100 24 F7               981 	add	a,#0xff - 0x08
-   0102 50 04               982 	jnc	00102$
-                            983 ;	usb_common.c:145: return 0;
-   0104 75 82 00            984 	mov	dpl,#0x00
-   0107 22                  985 	ret
-   0108                     986 00102$:
-                            987 ;	usb_common.c:147: if (ep == 1)
-   0108 BA 01 04            988 	cjne	r2,#0x01,00104$
-                            989 ;	usb_common.c:148: return 1;
-   010B 75 82 01            990 	mov	dpl,#0x01
-   010E 22                  991 	ret
-   010F                     992 00104$:
-                            993 ;	usb_common.c:150: return (ep & 0x1) == 0;	// must be even
-   010F 53 02 01            994 	anl	ar2,#0x01
-   0112 E4                  995 	clr	a
-   0113 BA 00 01            996 	cjne	r2,#0x00,00112$
-   0116 04                  997 	inc	a
-   0117                     998 00112$:
-   0117 F5 82               999 	mov	dpl,a
-   0119 22                 1000 	ret
-                           1001 ;------------------------------------------------------------
-                           1002 ;Allocation info for local variables in function 'epcs'
-                           1003 ;------------------------------------------------------------
-                           1004 ;ep                        Allocated to registers r2 
-                           1005 ;------------------------------------------------------------
-                           1006 ;	usb_common.c:157: epcs (unsigned char ep)
-                           1007 ;	-----------------------------------------
-                           1008 ;	 function epcs
-                           1009 ;	-----------------------------------------
-   011A                    1010 _epcs:
-   011A AA 82              1011 	mov	r2,dpl
-                           1012 ;	usb_common.c:159: if (ep == 0x01)		// ep1 has different in and out CS regs
-   011C BA 01 0C           1013 	cjne	r2,#0x01,00102$
-                           1014 ;	usb_common.c:160: return EP1OUTCS;
-   011F 90 E6 A1           1015 	mov	dptr,#_EP1OUTCS
-   0122 E0                 1016 	movx	a, at dptr
-   0123 FB                 1017 	mov	r3,a
-   0124 7C 00              1018 	mov	r4,#0x00
-   0126 8B 82              1019 	mov	dpl,r3
-   0128 8C 83              1020 	mov	dph,r4
-   012A 22                 1021 	ret
-   012B                    1022 00102$:
-                           1023 ;	usb_common.c:162: if (ep == 0x81)
-   012B BA 81 0C           1024 	cjne	r2,#0x81,00104$
-                           1025 ;	usb_common.c:163: return EP1INCS;
-   012E 90 E6 A2           1026 	mov	dptr,#_EP1INCS
-   0131 E0                 1027 	movx	a, at dptr
-   0132 FB                 1028 	mov	r3,a
-   0133 7C 00              1029 	mov	r4,#0x00
-   0135 8B 82              1030 	mov	dpl,r3
-   0137 8C 83              1031 	mov	dph,r4
-   0139 22                 1032 	ret
-   013A                    1033 00104$:
-                           1034 ;	usb_common.c:165: ep &= ~0x80;			// ignore direction bit
-   013A 53 02 7F           1035 	anl	ar2,#0x7F
-                           1036 ;	usb_common.c:167: if (ep == 0x00)		// ep0
-   013D EA                 1037 	mov	a,r2
-   013E 70 0C              1038 	jnz	00106$
-                           1039 ;	usb_common.c:168: return EP0CS;
-   0140 90 E6 A0           1040 	mov	dptr,#_EP0CS
-   0143 E0                 1041 	movx	a, at dptr
-   0144 FB                 1042 	mov	r3,a
-   0145 7C 00              1043 	mov	r4,#0x00
-   0147 8B 82              1044 	mov	dpl,r3
-   0149 8C 83              1045 	mov	dph,r4
-   014B 22                 1046 	ret
-   014C                    1047 00106$:
-                           1048 ;	usb_common.c:170: return EP2CS + (ep >> 1);	// 2, 4, 6, 8 are consecutive
-   014C 90 E6 A3           1049 	mov	dptr,#_EP2CS
-   014F E0                 1050 	movx	a, at dptr
-   0150 FB                 1051 	mov	r3,a
-   0151 7C 00              1052 	mov	r4,#0x00
-   0153 EA                 1053 	mov	a,r2
-   0154 C3                 1054 	clr	c
-   0155 13                 1055 	rrc	a
-   0156 FA                 1056 	mov	r2,a
-   0157 7D 00              1057 	mov	r5,#0x00
-   0159 EA                 1058 	mov	a,r2
-   015A 2B                 1059 	add	a,r3
-   015B FB                 1060 	mov	r3,a
-   015C ED                 1061 	mov	a,r5
-   015D 3C                 1062 	addc	a,r4
-   015E 8B 82              1063 	mov	dpl,r3
-   0160 F5 83              1064 	mov	dph,a
-   0162 22                 1065 	ret
-                           1066 ;------------------------------------------------------------
-                           1067 ;Allocation info for local variables in function 'usb_handle_setup_packet'
-                           1068 ;------------------------------------------------------------
-                           1069 ;p                         Allocated to registers r2 r3 
-                           1070 ;__00060000                Allocated to registers r2 r3 
-                           1071 ;__00050001                Allocated to registers r2 r3 
-                           1072 ;------------------------------------------------------------
-                           1073 ;	usb_common.c:174: usb_handle_setup_packet (void)
-                           1074 ;	-----------------------------------------
-                           1075 ;	 function usb_handle_setup_packet
-                           1076 ;	-----------------------------------------
-   0163                    1077 _usb_handle_setup_packet:
-                           1078 ;	usb_common.c:176: _usb_got_SUDAV = 0;
-   0163 C2*00              1079 	clr	__usb_got_SUDAV
-                           1080 ;	usb_common.c:180: switch (bRequestType & bmRT_TYPE_MASK){
-   0165 90 E6 B8           1081 	mov	dptr,#_SETUPDAT
-   0168 E0                 1082 	movx	a, at dptr
-   0169 FA                 1083 	mov	r2,a
-   016A 53 02 60           1084 	anl	ar2,#0x60
-   016D BA 00 02           1085 	cjne	r2,#0x00,00206$
-   0170 80 28              1086 	sjmp	00106$
-   0172                    1087 00206$:
-   0172 BA 20 02           1088 	cjne	r2,#0x20,00207$
-   0175 80 0D              1089 	sjmp	00102$
-   0177                    1090 00207$:
-   0177 BA 40 02           1091 	cjne	r2,#0x40,00208$
-   017A 80 0E              1092 	sjmp	00103$
-   017C                    1093 00208$:
-   017C BA 60 02           1094 	cjne	r2,#0x60,00209$
-   017F 80 03              1095 	sjmp	00210$
-   0181                    1096 00209$:
-   0181 02s04r1C           1097 	ljmp	00175$
-   0184                    1098 00210$:
-                           1099 ;	usb_common.c:183: case bmRT_TYPE_RESERVED:
-   0184                    1100 00102$:
-                           1101 ;	usb_common.c:184: fx2_stall_ep0 ();		// we don't handle these.  indicate error
-   0184 12s00r00           1102 	lcall	_fx2_stall_ep0
-                           1103 ;	usb_common.c:185: break;
-   0187 02s04r1C           1104 	ljmp	00175$
-                           1105 ;	usb_common.c:187: case bmRT_TYPE_VENDOR:
-   018A                    1106 00103$:
-                           1107 ;	usb_common.c:191: if (!app_vendor_cmd ())	
-   018A 12s00r00           1108 	lcall	_app_vendor_cmd
-   018D E5 82              1109 	mov	a,dpl
-   018F 60 03              1110 	jz	00211$
-   0191 02s04r1C           1111 	ljmp	00175$
-   0194                    1112 00211$:
-                           1113 ;	usb_common.c:192: fx2_stall_ep0 ();
-   0194 12s00r00           1114 	lcall	_fx2_stall_ep0
-                           1115 ;	usb_common.c:193: break;
-   0197 02s04r1C           1116 	ljmp	00175$
-                           1117 ;	usb_common.c:195: case bmRT_TYPE_STD:
-   019A                    1118 00106$:
-                           1119 ;	usb_common.c:198: if ((bRequestType & bmRT_DIR_MASK) == bmRT_DIR_IN){
-   019A 90 E6 B8           1120 	mov	dptr,#_SETUPDAT
-   019D E0                 1121 	movx	a, at dptr
-   019E FA                 1122 	mov	r2,a
-   019F 53 02 80           1123 	anl	ar2,#0x80
-   01A2 BA 80 02           1124 	cjne	r2,#0x80,00212$
-   01A5 80 03              1125 	sjmp	00213$
-   01A7                    1126 00212$:
-   01A7 02s03r1D           1127 	ljmp	00173$
-   01AA                    1128 00213$:
-                           1129 ;	usb_common.c:204: switch (bRequest){
-   01AA 90 E6 B9           1130 	mov	dptr,#(_SETUPDAT + 0x0001)
-   01AD E0                 1131 	movx	a, at dptr
-   01AE FA                 1132 	mov	r2,a
-   01AF BA 00 03           1133 	cjne	r2,#0x00,00214$
-   01B2 02s02r9B           1134 	ljmp	00128$
-   01B5                    1135 00214$:
-   01B5 BA 06 02           1136 	cjne	r2,#0x06,00215$
-   01B8 80 35              1137 	sjmp	00109$
-   01BA                    1138 00215$:
-   01BA BA 08 02           1139 	cjne	r2,#0x08,00216$
-   01BD 80 08              1140 	sjmp	00107$
-   01BF                    1141 00216$:
-   01BF BA 0A 02           1142 	cjne	r2,#0x0A,00217$
-   01C2 80 17              1143 	sjmp	00108$
-   01C4                    1144 00217$:
-   01C4 02s03r17           1145 	ljmp	00138$
-                           1146 ;	usb_common.c:206: case RQ_GET_CONFIG:
-   01C7                    1147 00107$:
-                           1148 ;	usb_common.c:207: EP0BUF[0] = _usb_config;	// FIXME app should handle
-   01C7 90 E7 40           1149 	mov	dptr,#_EP0BUF
-   01CA E5*00              1150 	mov	a,__usb_config
-   01CC F0                 1151 	movx	@dptr,a
-                           1152 ;	usb_common.c:208: EP0BCH = 0;
-   01CD 90 E6 8A           1153 	mov	dptr,#_EP0BCH
-   01D0 E4                 1154 	clr	a
-   01D1 F0                 1155 	movx	@dptr,a
-                           1156 ;	usb_common.c:209: EP0BCL = 1;
-   01D2 90 E6 8B           1157 	mov	dptr,#_EP0BCL
-   01D5 74 01              1158 	mov	a,#0x01
-   01D7 F0                 1159 	movx	@dptr,a
-                           1160 ;	usb_common.c:210: break;
-   01D8 02s04r1C           1161 	ljmp	00175$
-                           1162 ;	usb_common.c:214: case RQ_GET_INTERFACE:
-   01DB                    1163 00108$:
-                           1164 ;	usb_common.c:215: EP0BUF[0] = _usb_alt_setting;	// FIXME app should handle
-   01DB 90 E7 40           1165 	mov	dptr,#_EP0BUF
-   01DE E5*01              1166 	mov	a,__usb_alt_setting
-   01E0 F0                 1167 	movx	@dptr,a
-                           1168 ;	usb_common.c:216: EP0BCH = 0;
-   01E1 90 E6 8A           1169 	mov	dptr,#_EP0BCH
-   01E4 E4                 1170 	clr	a
-   01E5 F0                 1171 	movx	@dptr,a
-                           1172 ;	usb_common.c:217: EP0BCL = 1;
-   01E6 90 E6 8B           1173 	mov	dptr,#_EP0BCL
-   01E9 74 01              1174 	mov	a,#0x01
-   01EB F0                 1175 	movx	@dptr,a
-                           1176 ;	usb_common.c:218: break;
-   01EC 02s04r1C           1177 	ljmp	00175$
-                           1178 ;	usb_common.c:222: case RQ_GET_DESCR:
-   01EF                    1179 00109$:
-                           1180 ;	usb_common.c:223: switch (wValueH){
-   01EF 90 E6 BB           1181 	mov	dptr,#(_SETUPDAT + 0x0003)
-   01F2 E0                 1182 	movx	a, at dptr
-   01F3 FA                 1183 	mov	r2,a
-   01F4 BA 01 02           1184 	cjne	r2,#0x01,00218$
-   01F7 80 17              1185 	sjmp	00110$
-   01F9                    1186 00218$:
-   01F9 BA 02 02           1187 	cjne	r2,#0x02,00219$
-   01FC 80 38              1188 	sjmp	00114$
-   01FE                    1189 00219$:
-   01FE BA 03 02           1190 	cjne	r2,#0x03,00220$
-   0201 80 59              1191 	sjmp	00122$
-   0203                    1192 00220$:
-   0203 BA 06 02           1193 	cjne	r2,#0x06,00221$
-   0206 80 1B              1194 	sjmp	00111$
-   0208                    1195 00221$:
-   0208 BA 07 02           1196 	cjne	r2,#0x07,00222$
-   020B 80 3C              1197 	sjmp	00119$
-   020D                    1198 00222$:
-   020D 02s02r95           1199 	ljmp	00126$
-                           1200 ;	usb_common.c:225: case DT_DEVICE:
-   0210                    1201 00110$:
-                           1202 ;	usb_common.c:226: SUDPTRH = MSB (current_device_descr);
-   0210 AA*02              1203 	mov	r2,_current_device_descr
-   0212 AB*03              1204 	mov	r3,(_current_device_descr + 1)
-   0214 90 E6 B3           1205 	mov	dptr,#_SUDPTRH
-   0217 EB                 1206 	mov	a,r3
-   0218 F0                 1207 	movx	@dptr,a
-                           1208 ;	usb_common.c:227: SUDPTRL = LSB (current_device_descr);
-   0219 7B 00              1209 	mov	r3,#0x00
-   021B 90 E6 B4           1210 	mov	dptr,#_SUDPTRL
-   021E EA                 1211 	mov	a,r2
-   021F F0                 1212 	movx	@dptr,a
-                           1213 ;	usb_common.c:228: break;
-   0220 02s04r1C           1214 	ljmp	00175$
-                           1215 ;	usb_common.c:230: case DT_DEVQUAL:
-   0223                    1216 00111$:
-                           1217 ;	usb_common.c:231: SUDPTRH = MSB (current_devqual_descr);
-   0223 AA*04              1218 	mov	r2,_current_devqual_descr
-   0225 AB*05              1219 	mov	r3,(_current_devqual_descr + 1)
-   0227 90 E6 B3           1220 	mov	dptr,#_SUDPTRH
-   022A EB                 1221 	mov	a,r3
-   022B F0                 1222 	movx	@dptr,a
-                           1223 ;	usb_common.c:232: SUDPTRL = LSB (current_devqual_descr);
-   022C 7B 00              1224 	mov	r3,#0x00
-   022E 90 E6 B4           1225 	mov	dptr,#_SUDPTRL
-   0231 EA                 1226 	mov	a,r2
-   0232 F0                 1227 	movx	@dptr,a
-                           1228 ;	usb_common.c:233: break;
-   0233 02s04r1C           1229 	ljmp	00175$
-                           1230 ;	usb_common.c:237: fx2_stall_ep0 ();
-   0236                    1231 00114$:
-                           1232 ;	usb_common.c:239: SUDPTRH = MSB (current_config_descr);
-   0236 AA*06              1233 	mov	r2,_current_config_descr
-   0238 AB*07              1234 	mov	r3,(_current_config_descr + 1)
-   023A 90 E6 B3           1235 	mov	dptr,#_SUDPTRH
-   023D EB                 1236 	mov	a,r3
-   023E F0                 1237 	movx	@dptr,a
-                           1238 ;	usb_common.c:240: SUDPTRL = LSB (current_config_descr);
-   023F 7B 00              1239 	mov	r3,#0x00
-   0241 90 E6 B4           1240 	mov	dptr,#_SUDPTRL
-   0244 EA                 1241 	mov	a,r2
-   0245 F0                 1242 	movx	@dptr,a
-                           1243 ;	usb_common.c:242: break;
-   0246 02s04r1C           1244 	ljmp	00175$
-                           1245 ;	usb_common.c:246: fx2_stall_ep0 ();
-   0249                    1246 00119$:
-                           1247 ;	usb_common.c:248: SUDPTRH = MSB (other_config_descr);
-   0249 AA*08              1248 	mov	r2,_other_config_descr
-   024B AB*09              1249 	mov	r3,(_other_config_descr + 1)
-   024D 90 E6 B3           1250 	mov	dptr,#_SUDPTRH
-   0250 EB                 1251 	mov	a,r3
-   0251 F0                 1252 	movx	@dptr,a
-                           1253 ;	usb_common.c:249: SUDPTRL = LSB (other_config_descr);
-   0252 7B 00              1254 	mov	r3,#0x00
-   0254 90 E6 B4           1255 	mov	dptr,#_SUDPTRL
-   0257 EA                 1256 	mov	a,r2
-   0258 F0                 1257 	movx	@dptr,a
-                           1258 ;	usb_common.c:251: break;
-   0259 02s04r1C           1259 	ljmp	00175$
-                           1260 ;	usb_common.c:253: case DT_STRING:
-   025C                    1261 00122$:
-                           1262 ;	usb_common.c:254: if (wValueL >= nstring_descriptors)
-   025C 90 E6 BA           1263 	mov	dptr,#(_SETUPDAT + 0x0002)
-   025F E0                 1264 	movx	a, at dptr
-   0260 FA                 1265 	mov	r2,a
-   0261 90s00r00           1266 	mov	dptr,#_nstring_descriptors
-   0264 E0                 1267 	movx	a, at dptr
-   0265 FB                 1268 	mov	r3,a
-   0266 C3                 1269 	clr	c
-   0267 EA                 1270 	mov	a,r2
-   0268 9B                 1271 	subb	a,r3
-   0269 40 06              1272 	jc	00124$
-                           1273 ;	usb_common.c:255: fx2_stall_ep0 ();
-   026B 12s00r00           1274 	lcall	_fx2_stall_ep0
-   026E 02s04r1C           1275 	ljmp	00175$
-   0271                    1276 00124$:
-                           1277 ;	usb_common.c:257: xdata char *p = string_descriptors[wValueL];
-   0271 90 E6 BA           1278 	mov	dptr,#(_SETUPDAT + 0x0002)
-   0274 E0                 1279 	movx	a, at dptr
-   0275 75 F0 02           1280 	mov	b,#0x02
-   0278 A4                 1281 	mul	ab
-   0279 24r00              1282 	add	a,#_string_descriptors
-   027B F5 82              1283 	mov	dpl,a
-   027D 74s00              1284 	mov	a,#(_string_descriptors >> 8)
-   027F 35 F0              1285 	addc	a,b
-   0281 F5 83              1286 	mov	dph,a
-   0283 E0                 1287 	movx	a, at dptr
-   0284 FA                 1288 	mov	r2,a
-   0285 A3                 1289 	inc	dptr
-   0286 E0                 1290 	movx	a, at dptr
-                           1291 ;	usb_common.c:258: SUDPTRH = MSB (p);
-   0287 90 E6 B3           1292 	mov	dptr,#_SUDPTRH
-   028A F0                 1293 	movx	@dptr,a
-                           1294 ;	usb_common.c:259: SUDPTRL = LSB (p);
-   028B 7B 00              1295 	mov	r3,#0x00
-   028D 90 E6 B4           1296 	mov	dptr,#_SUDPTRL
-   0290 EA                 1297 	mov	a,r2
-   0291 F0                 1298 	movx	@dptr,a
-                           1299 ;	usb_common.c:261: break;
-   0292 02s04r1C           1300 	ljmp	00175$
-                           1301 ;	usb_common.c:263: default:
-   0295                    1302 00126$:
-                           1303 ;	usb_common.c:264: fx2_stall_ep0 ();	// invalid request
-   0295 12s00r00           1304 	lcall	_fx2_stall_ep0
-                           1305 ;	usb_common.c:267: break;
-   0298 02s04r1C           1306 	ljmp	00175$
-                           1307 ;	usb_common.c:271: case RQ_GET_STATUS:
-   029B                    1308 00128$:
-                           1309 ;	usb_common.c:272: switch (bRequestType & bmRT_RECIP_MASK){
-   029B 90 E6 B8           1310 	mov	dptr,#_SETUPDAT
-   029E E0                 1311 	movx	a, at dptr
-   029F FA                 1312 	mov	r2,a
-   02A0 53 02 1F           1313 	anl	ar2,#0x1F
-   02A3 BA 00 02           1314 	cjne	r2,#0x00,00224$
-   02A6 80 0A              1315 	sjmp	00129$
-   02A8                    1316 00224$:
-   02A8 BA 01 02           1317 	cjne	r2,#0x01,00225$
-   02AB 80 1C              1318 	sjmp	00130$
-   02AD                    1319 00225$:
-                           1320 ;	usb_common.c:273: case bmRT_RECIP_DEVICE:
-   02AD BA 02 64           1321 	cjne	r2,#0x02,00135$
-   02B0 80 2C              1322 	sjmp	00131$
-   02B2                    1323 00129$:
-                           1324 ;	usb_common.c:274: EP0BUF[0] = bmGSDA_SELF_POWERED;	// FIXME app should handle
-   02B2 90 E7 40           1325 	mov	dptr,#_EP0BUF
-   02B5 74 01              1326 	mov	a,#0x01
-   02B7 F0                 1327 	movx	@dptr,a
-                           1328 ;	usb_common.c:275: EP0BUF[1] = 0;
-   02B8 90 E7 41           1329 	mov	dptr,#(_EP0BUF + 0x0001)
-                           1330 ;	usb_common.c:276: EP0BCH = 0;
-   02BB E4                 1331 	clr	a
-   02BC F0                 1332 	movx	@dptr,a
-   02BD 90 E6 8A           1333 	mov	dptr,#_EP0BCH
-   02C0 F0                 1334 	movx	@dptr,a
-                           1335 ;	usb_common.c:277: EP0BCL = 2;
-   02C1 90 E6 8B           1336 	mov	dptr,#_EP0BCL
-   02C4 74 02              1337 	mov	a,#0x02
-   02C6 F0                 1338 	movx	@dptr,a
-                           1339 ;	usb_common.c:278: break;
-                           1340 ;	usb_common.c:280: case bmRT_RECIP_INTERFACE:
-   02C7 80 4E              1341 	sjmp	00138$
-   02C9                    1342 00130$:
-                           1343 ;	usb_common.c:281: EP0BUF[0] = 0;
-   02C9 90 E7 40           1344 	mov	dptr,#_EP0BUF
-                           1345 ;	usb_common.c:282: EP0BUF[1] = 0;
-                           1346 ;	usb_common.c:283: EP0BCH = 0;
-   02CC E4                 1347 	clr	a
-   02CD F0                 1348 	movx	@dptr,a
-   02CE 90 E7 41           1349 	mov	dptr,#(_EP0BUF + 0x0001)
-   02D1 F0                 1350 	movx	@dptr,a
-   02D2 90 E6 8A           1351 	mov	dptr,#_EP0BCH
-   02D5 F0                 1352 	movx	@dptr,a
-                           1353 ;	usb_common.c:284: EP0BCL = 2;
-   02D6 90 E6 8B           1354 	mov	dptr,#_EP0BCL
-   02D9 74 02              1355 	mov	a,#0x02
-   02DB F0                 1356 	movx	@dptr,a
-                           1357 ;	usb_common.c:285: break;
-                           1358 ;	usb_common.c:287: case bmRT_RECIP_ENDPOINT:
-   02DC 80 39              1359 	sjmp	00138$
-   02DE                    1360 00131$:
-                           1361 ;	usb_common.c:288: if (plausible_endpoint (wIndexL)){
-   02DE 90 E6 BC           1362 	mov	dptr,#(_SETUPDAT + 0x0004)
-   02E1 E0                 1363 	movx	a, at dptr
-   02E2 F5 82              1364 	mov	dpl,a
-   02E4 12s00rFB           1365 	lcall	_plausible_endpoint
-   02E7 E5 82              1366 	mov	a,dpl
-   02E9 60 24              1367 	jz	00133$
-                           1368 ;	usb_common.c:289: EP0BUF[0] = *epcs (wIndexL) & bmEPSTALL;
-   02EB 90 E6 BC           1369 	mov	dptr,#(_SETUPDAT + 0x0004)
-   02EE E0                 1370 	movx	a, at dptr
-   02EF F5 82              1371 	mov	dpl,a
-   02F1 12s01r1A           1372 	lcall	_epcs
-   02F4 E0                 1373 	movx	a, at dptr
-   02F5 FA                 1374 	mov	r2,a
-   02F6 53 02 01           1375 	anl	ar2,#0x01
-   02F9 90 E7 40           1376 	mov	dptr,#_EP0BUF
-   02FC EA                 1377 	mov	a,r2
-   02FD F0                 1378 	movx	@dptr,a
-                           1379 ;	usb_common.c:290: EP0BUF[1] = 0;
-   02FE 90 E7 41           1380 	mov	dptr,#(_EP0BUF + 0x0001)
-                           1381 ;	usb_common.c:291: EP0BCH = 0;
-   0301 E4                 1382 	clr	a
-   0302 F0                 1383 	movx	@dptr,a
-   0303 90 E6 8A           1384 	mov	dptr,#_EP0BCH
-   0306 F0                 1385 	movx	@dptr,a
-                           1386 ;	usb_common.c:292: EP0BCL = 2;
-   0307 90 E6 8B           1387 	mov	dptr,#_EP0BCL
-   030A 74 02              1388 	mov	a,#0x02
-   030C F0                 1389 	movx	@dptr,a
-   030D 80 08              1390 	sjmp	00138$
-   030F                    1391 00133$:
-                           1392 ;	usb_common.c:295: fx2_stall_ep0 ();
-   030F 12s00r00           1393 	lcall	_fx2_stall_ep0
-                           1394 ;	usb_common.c:296: break;
-                           1395 ;	usb_common.c:298: default:
-   0312 80 03              1396 	sjmp	00138$
-   0314                    1397 00135$:
-                           1398 ;	usb_common.c:299: fx2_stall_ep0 ();
-   0314 12s00r00           1399 	lcall	_fx2_stall_ep0
-                           1400 ;	usb_common.c:306: default:
-   0317                    1401 00138$:
-                           1402 ;	usb_common.c:307: fx2_stall_ep0 ();
-   0317 12s00r00           1403 	lcall	_fx2_stall_ep0
-                           1404 ;	usb_common.c:309: }
-   031A 02s04r1C           1405 	ljmp	00175$
-   031D                    1406 00173$:
-                           1407 ;	usb_common.c:318: switch (bRequest){
-   031D 90 E6 B9           1408 	mov	dptr,#(_SETUPDAT + 0x0001)
-   0320 E0                 1409 	movx	a, at dptr
-   0321 FA                 1410 	mov  r2,a
-   0322 24 F4              1411 	add	a,#0xff - 0x0B
-   0324 50 03              1412 	jnc	00228$
-   0326 02s04r19           1413 	ljmp	00170$
-   0329                    1414 00228$:
-   0329 EA                 1415 	mov	a,r2
-   032A 2A                 1416 	add	a,r2
-   032B 2A                 1417 	add	a,r2
-   032C 90s03r30           1418 	mov	dptr,#00229$
-   032F 73                 1419 	jmp	@a+dptr
-   0330                    1420 00229$:
-   0330 02s04r19           1421 	ljmp	00170$
-   0333 02s03r66           1422 	ljmp	00142$
-   0336 02s03rE1           1423 	ljmp	00161$
-   0339 02s03rC2           1424 	ljmp	00154$
-   033C 02s04r19           1425 	ljmp	00170$
-   033F 02s04r19           1426 	ljmp	00168$
-   0342 02s04r19           1427 	ljmp	00170$
-   0345 02s04r19           1428 	ljmp	00169$
-   0348 02s04r19           1429 	ljmp	00170$
-   034B 02s03r54           1430 	ljmp	00140$
-   034E 02s04r19           1431 	ljmp	00170$
-   0351 02s03r5D           1432 	ljmp	00141$
-                           1433 ;	usb_common.c:320: case RQ_SET_CONFIG:
-   0354                    1434 00140$:
-                           1435 ;	usb_common.c:321: _usb_config = wValueL;		// FIXME app should handle
-   0354 90 E6 BA           1436 	mov	dptr,#(_SETUPDAT + 0x0002)
-   0357 E0                 1437 	movx	a, at dptr
-   0358 F5*00              1438 	mov	__usb_config,a
-                           1439 ;	usb_common.c:322: break;
-   035A 02s04r1C           1440 	ljmp	00175$
-                           1441 ;	usb_common.c:324: case RQ_SET_INTERFACE:
-   035D                    1442 00141$:
-                           1443 ;	usb_common.c:325: _usb_alt_setting = wValueL;	// FIXME app should handle
-   035D 90 E6 BA           1444 	mov	dptr,#(_SETUPDAT + 0x0002)
-   0360 E0                 1445 	movx	a, at dptr
-   0361 F5*01              1446 	mov	__usb_alt_setting,a
-                           1447 ;	usb_common.c:326: break;
-   0363 02s04r1C           1448 	ljmp	00175$
-                           1449 ;	usb_common.c:330: case RQ_CLEAR_FEATURE:
-   0366                    1450 00142$:
-                           1451 ;	usb_common.c:331: switch (bRequestType & bmRT_RECIP_MASK){
-   0366 90 E6 B8           1452 	mov	dptr,#_SETUPDAT
-   0369 E0                 1453 	movx	a, at dptr
-   036A FA                 1454 	mov	r2,a
-   036B 53 02 1F           1455 	anl	ar2,#0x1F
-   036E BA 00 02           1456 	cjne	r2,#0x00,00230$
-   0371 80 05              1457 	sjmp	00143$
-   0373                    1458 00230$:
-                           1459 ;	usb_common.c:333: case bmRT_RECIP_DEVICE:
-   0373 BA 02 47           1460 	cjne	r2,#0x02,00152$
-   0376 80 0A              1461 	sjmp	00147$
-   0378                    1462 00143$:
-                           1463 ;	usb_common.c:334: switch (wValueL){
-   0378 90 E6 BA           1464 	mov	dptr,#(_SETUPDAT + 0x0002)
-   037B E0                 1465 	movx	a, at dptr
-                           1466 ;	usb_common.c:337: fx2_stall_ep0 ();
-   037C 12s00r00           1467 	lcall	_fx2_stall_ep0
-                           1468 ;	usb_common.c:339: break;
-   037F 02s04r1C           1469 	ljmp	00175$
-                           1470 ;	usb_common.c:341: case bmRT_RECIP_ENDPOINT:
-   0382                    1471 00147$:
-                           1472 ;	usb_common.c:342: if (wValueL == FS_ENDPOINT_HALT && plausible_endpoint (wIndexL)){
-   0382 90 E6 BA           1473 	mov	dptr,#(_SETUPDAT + 0x0002)
-   0385 E0                 1474 	movx	a, at dptr
-   0386 70 30              1475 	jnz	00149$
-   0388 90 E6 BC           1476 	mov	dptr,#(_SETUPDAT + 0x0004)
-   038B E0                 1477 	movx	a, at dptr
-   038C F5 82              1478 	mov	dpl,a
-   038E 12s00rFB           1479 	lcall	_plausible_endpoint
-   0391 E5 82              1480 	mov	a,dpl
-   0393 60 23              1481 	jz	00149$
-                           1482 ;	usb_common.c:343: *epcs (wIndexL) &= ~bmEPSTALL;
-   0395 90 E6 BC           1483 	mov	dptr,#(_SETUPDAT + 0x0004)
-   0398 E0                 1484 	movx	a, at dptr
-   0399 F5 82              1485 	mov	dpl,a
-   039B 12s01r1A           1486 	lcall	_epcs
-   039E AA 82              1487 	mov	r2,dpl
-   03A0 AB 83              1488 	mov  r3,dph
-   03A2 E0                 1489 	movx	a, at dptr
-   03A3 FC                 1490 	mov	r4,a
-   03A4 53 04 FE           1491 	anl	ar4,#0xFE
-   03A7 8A 82              1492 	mov	dpl,r2
-   03A9 8B 83              1493 	mov	dph,r3
-   03AB EC                 1494 	mov	a,r4
-   03AC F0                 1495 	movx	@dptr,a
-                           1496 ;	usb_common.c:344: fx2_reset_data_toggle (wIndexL);
-   03AD 90 E6 BC           1497 	mov	dptr,#(_SETUPDAT + 0x0004)
-   03B0 E0                 1498 	movx	a, at dptr
-   03B1 F5 82              1499 	mov	dpl,a
-   03B3 12s00r00           1500 	lcall	_fx2_reset_data_toggle
-   03B6 80 64              1501 	sjmp	00175$
-   03B8                    1502 00149$:
-                           1503 ;	usb_common.c:347: fx2_stall_ep0 ();
-   03B8 12s00r00           1504 	lcall	_fx2_stall_ep0
-                           1505 ;	usb_common.c:348: break;
-                           1506 ;	usb_common.c:350: default:
-   03BB 80 5F              1507 	sjmp	00175$
-   03BD                    1508 00152$:
-                           1509 ;	usb_common.c:351: fx2_stall_ep0 ();
-   03BD 12s00r00           1510 	lcall	_fx2_stall_ep0
-                           1511 ;	usb_common.c:354: break;
-                           1512 ;	usb_common.c:358: case RQ_SET_FEATURE:
-   03C0 80 5A              1513 	sjmp	00175$
-   03C2                    1514 00154$:
-                           1515 ;	usb_common.c:359: switch (bRequestType & bmRT_RECIP_MASK){
-   03C2 90 E6 B8           1516 	mov	dptr,#_SETUPDAT
-   03C5 E0                 1517 	movx	a, at dptr
-   03C6 FA                 1518 	mov	r2,a
-   03C7 53 02 1F           1519 	anl	ar2,#0x1F
-   03CA BA 00 4F           1520 	cjne	r2,#0x00,00175$
-                           1521 ;	usb_common.c:362: switch (wValueL){
-   03CD 90 E6 BA           1522 	mov	dptr,#(_SETUPDAT + 0x0002)
-   03D0 E0                 1523 	movx	a, at dptr
-   03D1 FA                 1524 	mov	r2,a
-   03D2 BA 01 02           1525 	cjne	r2,#0x01,00236$
-   03D5 80 05              1526 	sjmp	00158$
-   03D7                    1527 00236$:
-   03D7 BA 02 02           1528 	cjne	r2,#0x02,00237$
-   03DA 80 40              1529 	sjmp	00175$
-   03DC                    1530 00237$:
-                           1531 ;	usb_common.c:368: default:
-   03DC                    1532 00158$:
-                           1533 ;	usb_common.c:369: fx2_stall_ep0 ();
-   03DC 12s00r00           1534 	lcall	_fx2_stall_ep0
-                           1535 ;	usb_common.c:373: break;
-                           1536 ;	usb_common.c:375: case bmRT_RECIP_ENDPOINT:
-   03DF 80 3B              1537 	sjmp	00175$
-   03E1                    1538 00161$:
-                           1539 ;	usb_common.c:376: switch (wValueL){
-   03E1 90 E6 BA           1540 	mov	dptr,#(_SETUPDAT + 0x0002)
-   03E4 E0                 1541 	movx	a, at dptr
-   03E5 FA                 1542 	mov	r2,a
-   03E6 70 2C              1543 	jnz	00166$
-                           1544 ;	usb_common.c:378: if (plausible_endpoint (wIndexL))
-   03E8 90 E6 BC           1545 	mov	dptr,#(_SETUPDAT + 0x0004)
-   03EB E0                 1546 	movx	a, at dptr
-   03EC F5 82              1547 	mov	dpl,a
-   03EE 12s00rFB           1548 	lcall	_plausible_endpoint
-   03F1 E5 82              1549 	mov	a,dpl
-   03F3 60 1A              1550 	jz	00164$
-                           1551 ;	usb_common.c:379: *epcs (wIndexL) |= bmEPSTALL;
-   03F5 90 E6 BC           1552 	mov	dptr,#(_SETUPDAT + 0x0004)
-   03F8 E0                 1553 	movx	a, at dptr
-   03F9 F5 82              1554 	mov	dpl,a
-   03FB 12s01r1A           1555 	lcall	_epcs
-   03FE AA 82              1556 	mov	r2,dpl
-   0400 AB 83              1557 	mov  r3,dph
-   0402 E0                 1558 	movx	a, at dptr
-   0403 FC                 1559 	mov	r4,a
-   0404 43 04 01           1560 	orl	ar4,#0x01
-   0407 8A 82              1561 	mov	dpl,r2
-   0409 8B 83              1562 	mov	dph,r3
-   040B EC                 1563 	mov	a,r4
-   040C F0                 1564 	movx	@dptr,a
-   040D 80 0D              1565 	sjmp	00175$
-   040F                    1566 00164$:
-                           1567 ;	usb_common.c:381: fx2_stall_ep0 ();
-   040F 12s00r00           1568 	lcall	_fx2_stall_ep0
-                           1569 ;	usb_common.c:382: break;
-                           1570 ;	usb_common.c:384: default:
-   0412 80 08              1571 	sjmp	00175$
-   0414                    1572 00166$:
-                           1573 ;	usb_common.c:385: fx2_stall_ep0 ();
-   0414 12s00r00           1574 	lcall	_fx2_stall_ep0
-                           1575 ;	usb_common.c:388: break;
-                           1576 ;	usb_common.c:392: case RQ_SET_ADDRESS:	// handled by fx2 hardware
-   0417 80 03              1577 	sjmp	00175$
-   0419                    1578 00168$:
-                           1579 ;	usb_common.c:393: case RQ_SET_DESCR:	// not implemented
-   0419                    1580 00169$:
-                           1581 ;	usb_common.c:394: default:
-   0419                    1582 00170$:
-                           1583 ;	usb_common.c:395: fx2_stall_ep0 ();
-   0419 12s00r00           1584 	lcall	_fx2_stall_ep0
-                           1585 ;	usb_common.c:401: }	// bmRT_TYPE_MASK
-   041C                    1586 00175$:
-                           1587 ;	usb_common.c:404: EP0CS |= bmHSNAK;
-   041C 90 E6 A0           1588 	mov	dptr,#_EP0CS
-   041F E0                 1589 	movx	a, at dptr
-   0420 44 80              1590 	orl	a,#0x80
-   0422 F0                 1591 	movx	@dptr,a
-   0423 22                 1592 	ret
-                           1593 	.area CSEG    (CODE)
-                           1594 	.area CONST   (CODE)
-                           1595 	.area CABS    (ABS,CODE)
diff --git a/firmware/GN3S_v2/lib/usb_common.rel b/firmware/GN3S_v2/lib/usb_common.rel
deleted file mode 100644
index b6006d1..0000000
--- a/firmware/GN3S_v2/lib/usb_common.rel
+++ /dev/null
@@ -1,839 +0,0 @@
-XH
-H 18 areas 15B global symbols
-M usb_common
-O -mmcs51 --model-small
-S _EP8FIFOCFG DefE61B
-S _EPIRQ DefE65F
-S _USBERRIE DefE662
-S _EP6CS DefE6A5
-S _GPIFHOLDAMOUNT DefE60C
-S _SBUF1 Def00C1
-S _EIEX6 Def00EC
-S _full_speed_device_descr Ref0000
-S _EP1INBC DefE68F
-S _EP8FIFOBCL DefE6B2
-S _DBUG DefE6F8
-S _B Def00F0
-S _EXEN2 Def00CB
-S _EPIE DefE65E
-S _WAKEUPCS DefE682
-S _EP1OUTBC DefE68D
-S _EP8CS DefE6A6
-S _EP2GPIFTRIG DefE6D4
-S _SP Def0081
-S _SCON0 Def0098
-S _AUTODAT1 Def009C
-S _EI2C Def00E9
-S _full_speed_devqual_descr Ref0000
-S _INT2IVEC DefE666
-S _AUTODAT2 Def009F
-S _SCON1 Def00C0
-S _SMOD1 Def00DF
-S _MICROFRAME DefE686
-S _SUDPTRCTL DefE6B5
-S _EP4GPIFTRIG DefE6DC
-S _EP2468STAT Def00AA
-S _OV Def00D2
-S _INT4IVEC DefE667
-S _GPIFSGLDATLNOX Def00BF
-S _T2CON Def00C8
-S _EP6GPIFTRIG DefE6E4
-S _ACC Def00E0
-S _string_descriptors Ref0000
-S _full_speed_config_descr Ref0000
-S _EP2FIFOBUF DefF000
-S _C_T2 Def00C9
-S _BREAKPT DefE605
-S _EP2FIFOPFH DefE630
-S _EP8GPIFTRIG DefE6EC
-S _AUTOPTRH2 Def009D
-S _SETUPDAT DefE6B8
-S _EP2GPIFFLGSEL DefE6D2
-S _EP4FIFOBUF DefF400
-S _EIPX4 Def00FA
-S _EP4FIFOPFH DefE632
-S _EP2ISOINPKTS DefE640
-S _GPIFREADYCFG DefE6F3
-S _EIPX5 Def00FB
-S _fx2_reset_data_toggle Ref0000
-S _EP4GPIFFLGSEL DefE6DA
-S _FLOWSTBHPERIOD DefE6CD
-S _EP6FIFOBUF DefF800
-S _EXIF Def0091
-S _RCLK Def00CD
-S _EIPX6 Def00FC
-S _EP2FIFOPFL DefE631
-S _EP6FIFOPFH DefE634
-S _EP4ISOINPKTS DefE641
-S _DPH1 Def0085
-S _AUTOPTRL2 Def009E
-S _EP6GPIFFLGSEL DefE6E2
-S _EP8FIFOBUF DefFC00
-S _TCLK Def00CC
-S _PI2C Def00F9
-S _EP4FIFOPFL DefE633
-S _EP8FIFOPFH DefE636
-S _EP6ISOINPKTS DefE642
-S _FNADDR DefE687
-S _EP8GPIFFLGSEL DefE6EA
-S _TESTCFG DefE6F9
-S _PCON Def0087
-S _P Def00D0
-S _GPIF_WAVE_DATA DefE400
-S _EP6FIFOPFL DefE635
-S _EP8ISOINPKTS DefE643
-S _I2CS DefE678
-S _DPL1 Def0084
-S _GPIFIRQ DefE661
-S _EP0BCH DefE68A
-S _EP01STAT Def00BA
-S _fx2_stall_ep0 Ref0000
-S _EP8FIFOPFL DefE637
-S _EP1INCS DefE6A2
-S _EIE Def00E8
-S _RESI Def00DC
-S _GPIFIE DefE660
-S _EP2BCH DefE690
-S _EP1OUTCS DefE6A1
-S _TCON Def0088
-S _TMOD Def0089
-S _OEA Def00B2
-S _EXF2 Def00CE
-S _EP0BCL DefE68B
-S _EP4BCH DefE694
-S _OEB Def00B3
-S _REN1 Def00C4
-S _EP2CFG DefE612
-S _EP2FIFOIRQ DefE651
-S _GPIFREADYSTAT DefE6F4
-S _OEC Def00B4
-S _EP2BCL DefE691
-S _EP6BCH DefE698
-S _OED Def00B5
-S _EP4CFG DefE613
-S _EP2FIFOIE DefE650
-S _EP4FIFOIRQ DefE653
-S _IOA Def0080
-S _OEE Def00B6
-S _EP4BCL DefE695
-S _EP8BCH DefE69C
-S _IOB Def0090
-S _PUSB Def00F8
-S _hook_uv Ref0000
-S _EP6CFG DefE614
-S _EP4FIFOIE DefE652
-S _EP6FIFOIRQ DefE655
-S _IOC Def00A0
-S _INTSETUP DefE668
-S _EP6BCL DefE699
-S _DPH Def0083
-S _IOD Def00B0
-S _EP8CFG DefE615
-S _EP6FIFOIE DefE654
-S _EP8FIFOIRQ DefE657
-S _USBFRAMEH DefE684
-S _IOE Def00B1
-S _RB81 Def00C2
-S _EP2AUTOINLENH DefE620
-S _EP8BCL DefE69D
-S _GPIFABORT DefE6F5
-S _INT2CLR Def00A1
-S _EIP Def00F8
-S _IE0 Def0089
-S _EP8FIFOIE DefE656
-S _IE1 Def008B
-S _TB81 Def00C3
-S _EP4AUTOINLENH DefE622
-S _DPL Def0082
-S _INT4CLR Def00A2
-S _AUTOPTRSETUP Def00AF
-S _RCAP2H Def00CB
-S _app_vendor_cmd Ref0000
-S _USBFRAMEL DefE685
-S _XGPIFSGLDATLX DefE6F1
-S _FLOWEQ0CTL DefE6C8
-S _FLOWSTB DefE6CB
-S _SM01 Def00C7
-S _INT6 Def00DB
-S _EP2AUTOINLENL DefE621
-S _EP6AUTOINLENH DefE624
-S _SUSPEND DefE681
-S _FLOWEQ1CTL DefE6C9
-S _EP0BUF DefE740
-S _SM11 Def00C6
-S _CP_RL2 Def00C8
-S _GPIFWFSELECT DefE6C0
-S _SM21 Def00C5
-S _EP4AUTOINLENL DefE623
-S _EP8AUTOINLENH DefE626
-S _RCAP2L Def00CA
-S _SEL Def0086
-S _AC Def00D6
-S _IFCONFIG DefE601
-S _IBNIRQ DefE659
-S _GPIFADRH DefE6C4
-S _XGPIFSGLDATH DefE6F0
-S _REN Def009C
-S _EP6AUTOINLENL DefE625
-S _NAKIRQ DefE65B
-S _FLOWLOGIC DefE6C7
-S _EA Def00AF
-S _FIFORESET DefE604
-S _IBNIE DefE658
-S _GPIFIDLECTL DefE6C2
-S _UDMACRCH DefE67D
-S _DPS Def0086
-S _EP8AUTOINLENL DefE627
-S _NAKIE DefE65A
-S _CT1 DefE6FB
-S _ES0 Def00AC
-S _FIFOPINPOLAR DefE609
-S _GPIFADRL DefE6C5
-S _EP2GPIFPFSTOP DefE6D3
-S _CT2 DefE6FC
-S _GPIFSGLDATLX Def00BE
-S _ET0 Def00A9
-S _ES1 Def00AE
-S _SUDPTRH DefE6B3
-S _USBTEST DefE6FA
-S _CT3 DefE6FD
-S _MPAGE Def0092
-S _TF0 Def008D
-S _ET1 Def00AB
-S _EP4GPIFPFSTOP DefE6DB
-S _UDMACRCL DefE67E
-S _CT4 DefE6FE
-S _EP24FIFOFLGS Def00AB
-S _TF1 Def008F
-S _ET2 Def00AD
-S _RES_WAVEDATA_END DefE480
-S _TH0 Def008C
-S _RB8 Def009A
-S _RI1 Def00C0
-S _TF2 Def00CF
-S _EP1INCFG DefE611
-S _TOGCTL DefE683
-S _EP6GPIFPFSTOP DefE6E3
-S _TH1 Def008D
-S _GPIFSGLDATH Def00BD
-S _IT0 Def0088
-S _EX0 Def00A8
-S _EP1OUTCFG DefE610
-S _SUDPTRL DefE6B4
-S _CKCON Def008E
-S _IE Def00A8
-S _TH2 Def00CD
-S _EICON Def00D8
-S _IT1 Def008A
-S _TB8 Def009B
-S _EX1 Def00AA
-S _TI1 Def00C1
-S _high_speed_device_descr Ref0000
-S _CLRERRCNT DefE665
-S _GPIFTCB0 DefE6D1
-S _EP8GPIFPFSTOP DefE6EB
-S _REVCTL DefE60B
-S _ERRCNTLIM DefE664
-S _GPIFTCB1 DefE6D0
-S _TL0 Def008A
-S _APTR1H Def009A
-S _SM0 Def009F
-S _high_speed_devqual_descr Ref0000
-S _UART230 DefE608
-S _GPIFTCB2 DefE6CF
-S _TL1 Def008B
-S _A0 Def0080
-S _SM1 Def009E
-S _GPIFTCB3 DefE6CE
-S _UDMACRCQUAL DefE67F
-S _TL2 Def00CC
-S _A1 Def0081
-S _SM2 Def009D
-S _FL Def00D1
-S _EP68FIFOFLGS Def00AC
-S _A2 Def0082
-S _PS0 Def00BC
-S _I2DAT DefE679
-S _APTR1L Def009B
-S _A3 Def0083
-S _D0 Def00B0
-S _PT0 Def00B9
-S _PS1 Def00BE
-S _high_speed_config_descr Ref0000
-S _BPADDRH DefE606
-S _A4 Def0084
-S _D1 Def00B1
-S _PT1 Def00BB
-S _RS0 Def00D3
-S _nstring_descriptors Ref0000
-S _USBIRQ DefE65D
-S _PORTACFG DefE670
-S _FLOWSTBEDGE DefE6CC
-S _A5 Def0085
-S _TR0 Def008C
-S _D2 Def00B2
-S _PT2 Def00BD
-S _RS1 Def00D4
-S _F0 Def00D5
-S _PINFLAGSAB DefE602
-S _EP2FIFOFLGS DefE6A7
-S _A6 Def0086
-S _TR1 Def008E
-S _D3 Def00B3
-S _USBIE DefE65C
-S _PORTCCFG DefE671
-S _EP2FIFOBCH DefE6AB
-S _A7 Def0087
-S _D4 Def00B4
-S _PX0 Def00B8
-S _TR2 Def00CA
-S _ERESI Def00DD
-S _EIUSB Def00E8
-S _BPADDRL DefE607
-S _EP4FIFOFLGS DefE6A8
-S _GPIFCTLCFG DefE6C3
-S _FLOWSTATE DefE6C6
-S _IP Def00B8
-S _D5 Def00B5
-S _PX1 Def00BA
-S _REVID DefE60A
-S _PORTECFG DefE672
-S _EP4FIFOBCH DefE6AD
-S _GPIFIDLECS DefE6C1
-S _FLOWHOLDOFF DefE6CA
-S _EP1INBUF DefE7C0
-S _PSW Def00D0
-S _D6 Def00B6
-S _hook_uv_PARM_2 Ref0000
-S _PINFLAGSCD DefE603
-S _EP2FIFOCFG DefE618
-S _XAUTODAT1 DefE67B
-S _EP0CS DefE6A0
-S _EP6FIFOFLGS DefE6A9
-S _EP1OUTBUF DefE780
-S _RI Def0098
-S _D7 Def00B7
-S _XAUTODAT2 DefE67C
-S _EP2FIFOBCL DefE6AC
-S _EP6FIFOBCH DefE6AF
-S _GPIFTRIG Def00BB
-S _CY Def00D7
-S _EP4FIFOCFG DefE619
-S _INPKTEND DefE648
-S _EP2CS DefE6A3
-S _EP8FIFOFLGS DefE6AA
-S _TI Def0099
-S _CPUCS DefE600
-S _OUTPKTEND DefE649
-S _I2CTL DefE67A
-S _EP4FIFOBCL DefE6AE
-S _EP8FIFOBCH DefE6B1
-S _XGPIFSGLDATLNOX DefE6F2
-S _EP6FIFOCFG DefE61A
-S _USBERRIRQ DefE663
-S _EP4CS DefE6A4
-S _EIEX4 Def00EA
-S _USBCS DefE680
-S _EP6FIFOBCL DefE6B0
-S _SBUF0 Def0099
-S _EIEX5 Def00EB
-A _CODE size 0 flags 0 addr 0
-A RSEG size 0 flags 0 addr 0
-A REG_BANK_0 size 8 flags 4 addr 0
-A BIT_BANK size 1 flags 4 addr 0
-A DSEG size A flags 0 addr 0
-S __usb_alt_setting Def0001
-S _other_config_descr Def0008
-S __usb_config Def0000
-S _current_device_descr Def0002
-S _current_devqual_descr Def0004
-S _current_config_descr Def0006
-A OSEG size 0 flags 4 addr 0
-A ISEG size 0 flags 0 addr 0
-A IABS size 0 flags 8 addr 0
-A BSEG size 2 flags 80 addr 0
-S __usb_rx_overrun Def0001
-S __usb_got_SUDAV Def0000
-A PSEG size 0 flags 50 addr 0
-A XSEG size 0 flags 40 addr 0
-A XABS size 0 flags 48 addr 0
-A HOME size 0 flags 20 addr 0
-A GSINIT0 size 0 flags 20 addr 0
-A GSINIT1 size 0 flags 20 addr 0
-A GSINIT2 size 0 flags 20 addr 0
-A GSINIT3 size 0 flags 20 addr 0
-A GSINIT4 size 0 flags 20 addr 0
-A GSINIT5 size 0 flags 20 addr 0
-A GSINIT size 6 flags 20 addr 0
-A GSFINAL size 0 flags 20 addr 0
-A CSEG size 424 flags 20 addr 0
-S _epcs Def011A
-S _usb_handle_setup_packet Def0163
-S _plausible_endpoint Def00FB
-S _usb_install_handlers Def00CD
-A CONST size 0 flags 20 addr 0
-A CABS size 0 flags 28 addr 0
-T 00 00
-R 00 00 00 02
-T 00 00
-R 00 00 00 03
-T 00 00
-R 00 00 00 03
-T 00 00
-R 00 00 00 04
-T 00 00
-R 00 00 00 04
-T 00 01
-R 00 00 00 04
-T 00 01
-R 00 00 00 04
-T 00 02
-R 00 00 00 04
-T 00 02
-R 00 00 00 04
-T 00 04
-R 00 00 00 04
-T 00 04
-R 00 00 00 04
-T 00 06
-R 00 00 00 04
-T 00 06
-R 00 00 00 04
-T 00 08
-R 00 00 00 04
-T 00 08
-R 00 00 00 04
-T 00 00
-R 00 00 00 08
-T 00 00
-R 00 00 00 08
-T 00 01
-R 00 00 00 08
-T 00 01
-R 00 00 00 08
-T 00 00 75 00 00 00 00 75 00 00 01 00
-R 00 00 00 13 F1 21 03 00 04 F1 21 08 00 04
-T 00 00
-R 00 00 00 15
-T 00 00 90 E6 80 E0 FA 30 E7 19 75 00 00 02
-R 00 00 00 15 F1 21 0B 00 04
-T 00 0A 00 00 00 75 00 00 03
-R 00 00 00 15 F1 03 02 00 E2 F1 21 06 00 04
-T 00 0D 00 00 00 75 00 00 04
-R 00 00 00 15 F1 83 02 00 E2 F1 21 06 00 04
-T 00 10 00 00 00 75 00 00 05
-R 00 00 00 15 F1 03 02 00 EC F1 21 06 00 04
-T 00 13 00 00 00 75 00 00 06
-R 00 00 00 15 F1 83 02 00 EC F1 21 06 00 04
-T 00 16 00 00 00 75 00 00 07
-R 00 00 00 15 F1 03 02 01 01 F1 21 06 00 04
-T 00 19 00 00 00 75 00 00 08
-R 00 00 00 15 F1 83 02 01 01 F1 21 06 00 04
-T 00 1C 00 00 00 75 00 00 09
-R 00 00 00 15 F1 03 02 00 26 F1 21 06 00 04
-T 00 1F 00 00 00 22
-R 00 00 00 15 F1 83 02 00 26
-T 00 21
-R 00 00 00 15
-T 00 21 75 00 00 02 00 00 00 75
-R 00 00 00 15 F1 21 03 00 04 F1 03 06 00 07
-T 00 25 00 00 03 00 00 00 75
-R 00 00 00 15 F1 21 02 00 04 F1 83 05 00 07
-T 00 28 00 00 04 00 00 00 75
-R 00 00 00 15 F1 21 02 00 04 F1 03 05 00 16
-T 00 2B 00 00 05 00 00 00 75
-R 00 00 00 15 F1 21 02 00 04 F1 83 05 00 16
-T 00 2E 00 00 06 00 00 00 75
-R 00 00 00 15 F1 21 02 00 04 F1 03 05 00 26
-T 00 31 00 00 07 00 00 00 75
-R 00 00 00 15 F1 21 02 00 04 F1 83 05 00 26
-T 00 34 00 00 08 00 00 00 75
-R 00 00 00 15 F1 21 02 00 04 F1 03 05 01 01
-T 00 37 00 00 09 00 00 00 22
-R 00 00 00 15 F1 21 02 00 04 F1 83 05 01 01
-T 00 3A
-R 00 00 00 15
-T 00 3A 53 91 EF 75 A1 00 D2 00 00 00 32
-R 00 00 00 15 F1 21 09 00 08
-T 00 43
-R 00 00 00 15
-T 00 43 C0 00 00 00 C0 E0 C0 F0 C0 82 C0 83 C0 02
-R 00 00 00 15 F1 21 03 00 03
-T 00 4F C0 03 C0 04 C0 05 C0 06 C0 07 C0 00 C0 01
-R 00 00 00 15
-T 00 5D C0 D0 75 D0 00 53 91 EF 75 A1 00 12 00 00
-R 00 00 00 15 00 0E 00 15
-T 00 6B D0 D0 D0 01 D0 00 D0 07 D0 06 D0 05 D0 04
-R 00 00 00 15
-T 00 79 D0 03 D0 02 D0 83 D0 82 D0 F0 D0 E0 D0
-R 00 00 00 15
-T 00 86 00 00 00 32
-R 00 00 00 15 F1 21 02 00 03
-T 00 88
-R 00 00 00 15
-T 00 88 C0 00 00 00 C0 E0 C0 F0 C0 82 C0 83 C0 02
-R 00 00 00 15 F1 21 03 00 03
-T 00 94 C0 03 C0 04 C0 05 C0 06 C0 07 C0 00 C0 01
-R 00 00 00 15
-T 00 A2 C0 D0 75 D0 00 53 91 EF 75 A1 00 12 00 00
-R 00 00 00 15 00 0E 00 15
-T 00 B0 D0 D0 D0 01 D0 00 D0 07 D0 06 D0 05 D0 04
-R 00 00 00 15
-T 00 BE D0 03 D0 02 D0 83 D0 82 D0 F0 D0 E0 D0
-R 00 00 00 15
-T 00 CB 00 00 00 32
-R 00 00 00 15 F1 21 02 00 03
-T 00 CD
-R 00 00 00 15
-T 00 CD 12 00 00 75 00 00 00
-R 00 00 00 15 00 03 00 15 F1 23 06 01 2E
-T 00 D2 00 00 3A 75 00 00 01
-R 00 00 00 15 F1 01 02 00 15 F1 23 06 01 2E
-T 00 D5 00 00 3A 75 82 00 12 00 00 75
-R 00 00 00 15 F1 81 02 00 15 02 09 00 75
-T 00 DD 00 00 00 00 00 43 75
-R 00 00 00 15 F1 23 02 01 2E F1 01 05 00 15
-T 00 E0 00 00 01 00 00 43 75 82 10 12
-R 00 00 00 15 F1 23 02 01 2E F1 81 05 00 15
-T 00 E6 00 00 75 00 00 00
-R 00 00 00 15 02 02 00 75 F1 23 05 01 2E
-T 00 EA 00 00 88 75 00 00 01
-R 00 00 00 15 F1 01 02 00 15 F1 23 06 01 2E
-T 00 ED 00 00 88 75 82 14 12 00 00 90 E6 5C 74 31
-R 00 00 00 15 F1 81 02 00 15 02 09 00 75
-T 00 F9 F0 22
-R 00 00 00 15
-T 00 FB
-R 00 00 00 15
-T 00 FB E5 82 54 7F FA 24 F7 50 04 75 82 00 22
-R 00 00 00 15
-T 01 08
-R 00 00 00 15
-T 01 08 BA 01 04 75 82 01 22
-R 00 00 00 15
-T 01 0F
-R 00 00 00 15
-T 01 0F 53 02 01 E4 BA 00 01 04
-R 00 00 00 15
-T 01 17
-R 00 00 00 15
-T 01 17 F5 82 22
-R 00 00 00 15
-T 01 1A
-R 00 00 00 15
-T 01 1A AA 82 BA 01 0C 90 E6 A1 E0 FB 7C 00 8B 82
-R 00 00 00 15
-T 01 28 8C 83 22
-R 00 00 00 15
-T 01 2B
-R 00 00 00 15
-T 01 2B BA 81 0C 90 E6 A2 E0 FB 7C 00 8B 82 8C 83
-R 00 00 00 15
-T 01 39 22
-R 00 00 00 15
-T 01 3A
-R 00 00 00 15
-T 01 3A 53 02 7F EA 70 0C 90 E6 A0 E0 FB 7C 00 8B
-R 00 00 00 15
-T 01 48 82 8C 83 22
-R 00 00 00 15
-T 01 4C
-R 00 00 00 15
-T 01 4C 90 E6 A3 E0 FB 7C 00 EA C3 13 FA 7D 00 EA
-R 00 00 00 15
-T 01 5A 2B FB ED 3C 8B 82 F5 83 22
-R 00 00 00 15
-T 01 63
-R 00 00 00 15
-T 01 63 C2 00 00 00 90 E6 B8 E0 FA 53 02 60 BA 00
-R 00 00 00 15 F1 21 03 00 08
-T 01 6F 02 80 28
-R 00 00 00 15
-T 01 72
-R 00 00 00 15
-T 01 72 BA 20 02 80 0D
-R 00 00 00 15
-T 01 77
-R 00 00 00 15
-T 01 77 BA 40 02 80 0E
-R 00 00 00 15
-T 01 7C
-R 00 00 00 15
-T 01 7C BA 60 02 80 03
-R 00 00 00 15
-T 01 81
-R 00 00 00 15
-T 01 81 02 04 1C
-R 00 00 00 15 00 03 00 15
-T 01 84
-R 00 00 00 15
-T 01 84
-R 00 00 00 15
-T 01 84 12 00 00 02 04 1C
-R 00 00 00 15 02 03 00 55 00 06 00 15
-T 01 8A
-R 00 00 00 15
-T 01 8A 12 00 00 E5 82 60 03 02 04 1C
-R 00 00 00 15 02 03 00 92 00 0A 00 15
-T 01 94
-R 00 00 00 15
-T 01 94 12 00 00 02 04 1C
-R 00 00 00 15 02 03 00 55 00 06 00 15
-T 01 9A
-R 00 00 00 15
-T 01 9A 90 E6 B8 E0 FA 53 02 80 BA 80 02 80 03
-R 00 00 00 15
-T 01 A7
-R 00 00 00 15
-T 01 A7 02 03 1D
-R 00 00 00 15 00 03 00 15
-T 01 AA
-R 00 00 00 15
-T 01 AA 90 E6 B9 E0 FA BA 00 03 02 02 9B
-R 00 00 00 15 00 0B 00 15
-T 01 B5
-R 00 00 00 15
-T 01 B5 BA 06 02 80 35
-R 00 00 00 15
-T 01 BA
-R 00 00 00 15
-T 01 BA BA 08 02 80 08
-R 00 00 00 15
-T 01 BF
-R 00 00 00 15
-T 01 BF BA 0A 02 80 17
-R 00 00 00 15
-T 01 C4
-R 00 00 00 15
-T 01 C4 02 03 17
-R 00 00 00 15 00 03 00 15
-T 01 C7
-R 00 00 00 15
-T 01 C7 90 E7 40 E5 00 00 00 F0 90 E6 8A E4 F0 90
-R 00 00 00 15 F1 21 06 00 04
-T 01 D3 E6 8B 74 01 F0 02 04 1C
-R 00 00 00 15 00 08 00 15
-T 01 DB
-R 00 00 00 15
-T 01 DB 90 E7 40 E5 00 00 01 F0 90 E6 8A E4 F0 90
-R 00 00 00 15 F1 21 06 00 04
-T 01 E7 E6 8B 74 01 F0 02 04 1C
-R 00 00 00 15 00 08 00 15
-T 01 EF
-R 00 00 00 15
-T 01 EF 90 E6 BB E0 FA BA 01 02 80 17
-R 00 00 00 15
-T 01 F9
-R 00 00 00 15
-T 01 F9 BA 02 02 80 38
-R 00 00 00 15
-T 01 FE
-R 00 00 00 15
-T 01 FE BA 03 02 80 59
-R 00 00 00 15
-T 02 03
-R 00 00 00 15
-T 02 03 BA 06 02 80 1B
-R 00 00 00 15
-T 02 08
-R 00 00 00 15
-T 02 08 BA 07 02 80 3C
-R 00 00 00 15
-T 02 0D
-R 00 00 00 15
-T 02 0D 02 02 95
-R 00 00 00 15 00 03 00 15
-T 02 10
-R 00 00 00 15
-T 02 10 AA 00 00 02 AB 00 00 03 90 E6 B3 EB F0 7B
-R 00 00 00 15 F1 21 03 00 04 F1 21 07 00 04
-T 02 1A 00 90 E6 B4 EA F0 02 04 1C
-R 00 00 00 15 00 09 00 15
-T 02 23
-R 00 00 00 15
-T 02 23 AA 00 00 04 AB 00 00 05 90 E6 B3 EB F0 7B
-R 00 00 00 15 F1 21 03 00 04 F1 21 07 00 04
-T 02 2D 00 90 E6 B4 EA F0 02 04 1C
-R 00 00 00 15 00 09 00 15
-T 02 36
-R 00 00 00 15
-T 02 36 AA 00 00 06 AB 00 00 07 90 E6 B3 EB F0 7B
-R 00 00 00 15 F1 21 03 00 04 F1 21 07 00 04
-T 02 40 00 90 E6 B4 EA F0 02 04 1C
-R 00 00 00 15 00 09 00 15
-T 02 49
-R 00 00 00 15
-T 02 49 AA 00 00 08 AB 00 00 09 90 E6 B3 EB F0 7B
-R 00 00 00 15 F1 21 03 00 04 F1 21 07 00 04
-T 02 53 00 90 E6 B4 EA F0 02 04 1C
-R 00 00 00 15 00 09 00 15
-T 02 5C
-R 00 00 00 15
-T 02 5C 90 E6 BA E0 FA 90 00 00 E0 FB C3 EA 9B 40
-R 00 00 00 15 02 08 01 07
-T 02 6A 06 12 00 00 02 04 1C
-R 00 00 00 15 02 04 00 55 00 07 00 15
-T 02 71
-R 00 00 00 15
-T 02 71 90 E6 BA E0 75 F0 02 A4 24 00 00 00 F5 82
-R 00 00 00 15 F1 03 0B 00 25
-T 02 7D 74 00 00 00 35 F0 F5 83 E0 FA A3 E0 90
-R 00 00 00 15 F1 83 03 00 25
-T 02 88 E6 B3 F0 7B 00 90 E6 B4 EA F0 02 04 1C
-R 00 00 00 15 00 0D 00 15
-T 02 95
-R 00 00 00 15
-T 02 95 12 00 00 02 04 1C
-R 00 00 00 15 02 03 00 55 00 06 00 15
-T 02 9B
-R 00 00 00 15
-T 02 9B 90 E6 B8 E0 FA 53 02 1F BA 00 02 80 0A
-R 00 00 00 15
-T 02 A8
-R 00 00 00 15
-T 02 A8 BA 01 02 80 1C
-R 00 00 00 15
-T 02 AD
-R 00 00 00 15
-T 02 AD BA 02 64 80 2C
-R 00 00 00 15
-T 02 B2
-R 00 00 00 15
-T 02 B2 90 E7 40 74 01 F0 90 E7 41 E4 F0 90 E6 8A
-R 00 00 00 15
-T 02 C0 F0 90 E6 8B 74 02 F0 80 4E
-R 00 00 00 15
-T 02 C9
-R 00 00 00 15
-T 02 C9 90 E7 40 E4 F0 90 E7 41 F0 90 E6 8A F0 90
-R 00 00 00 15
-T 02 D7 E6 8B 74 02 F0 80 39
-R 00 00 00 15
-T 02 DE
-R 00 00 00 15
-T 02 DE 90 E6 BC E0 F5 82 12 00 FB E5 82 60 24 90
-R 00 00 00 15 00 09 00 15
-T 02 EC E6 BC E0 F5 82 12 01 1A E0 FA 53 02 01 90
-R 00 00 00 15 00 08 00 15
-T 02 FA E7 40 EA F0 90 E7 41 E4 F0 90 E6 8A F0 90
-R 00 00 00 15
-T 03 08 E6 8B 74 02 F0 80 08
-R 00 00 00 15
-T 03 0F
-R 00 00 00 15
-T 03 0F 12 00 00 80 03
-R 00 00 00 15 02 03 00 55
-T 03 14
-R 00 00 00 15
-T 03 14 12 00 00
-R 00 00 00 15 02 03 00 55
-T 03 17
-R 00 00 00 15
-T 03 17 12 00 00 02 04 1C
-R 00 00 00 15 02 03 00 55 00 06 00 15
-T 03 1D
-R 00 00 00 15
-T 03 1D 90 E6 B9 E0 FA 24 F4 50 03 02 04 19
-R 00 00 00 15 00 0C 00 15
-T 03 29
-R 00 00 00 15
-T 03 29 EA 2A 2A 90 03 30 73
-R 00 00 00 15 00 06 00 15
-T 03 30
-R 00 00 00 15
-T 03 30 02 04 19 02 03 66 02
-R 00 00 00 15 00 03 00 15 00 06 00 15
-T 03 37 03 E1 02 03 C2 02
-R 00 00 00 15 00 02 00 15 00 05 00 15
-T 03 3D 04 19 02 04 19 02
-R 00 00 00 15 00 02 00 15 00 05 00 15
-T 03 43 04 19 02 04 19 02
-R 00 00 00 15 00 02 00 15 00 05 00 15
-T 03 49 04 19 02 03 54 02
-R 00 00 00 15 00 02 00 15 00 05 00 15
-T 03 4F 04 19 02 03 5D
-R 00 00 00 15 00 02 00 15 00 05 00 15
-T 03 54
-R 00 00 00 15
-T 03 54 90 E6 BA E0 F5 00 00 00 02 04 1C
-R 00 00 00 15 F1 21 07 00 04 00 0B 00 15
-T 03 5D
-R 00 00 00 15
-T 03 5D 90 E6 BA E0 F5 00 00 01 02 04 1C
-R 00 00 00 15 F1 21 07 00 04 00 0B 00 15
-T 03 66
-R 00 00 00 15
-T 03 66 90 E6 B8 E0 FA 53 02 1F BA 00 02 80 05
-R 00 00 00 15
-T 03 73
-R 00 00 00 15
-T 03 73 BA 02 47 80 0A
-R 00 00 00 15
-T 03 78
-R 00 00 00 15
-T 03 78 90 E6 BA E0 12 00 00 02 04 1C
-R 00 00 00 15 02 07 00 55 00 0A 00 15
-T 03 82
-R 00 00 00 15
-T 03 82 90 E6 BA E0 70 30 90 E6 BC E0 F5 82 12
-R 00 00 00 15
-T 03 8F 00 FB E5 82 60 23 90 E6 BC E0 F5 82 12
-R 00 00 00 15 00 02 00 15
-T 03 9C 01 1A AA 82 AB 83 E0 FC 53 04 FE 8A 82 8B
-R 00 00 00 15 00 02 00 15
-T 03 AA 83 EC F0 90 E6 BC E0 F5 82 12 00 00 80 64
-R 00 00 00 15 02 0C 00 35
-T 03 B8
-R 00 00 00 15
-T 03 B8 12 00 00 80 5F
-R 00 00 00 15 02 03 00 55
-T 03 BD
-R 00 00 00 15
-T 03 BD 12 00 00 80 5A
-R 00 00 00 15 02 03 00 55
-T 03 C2
-R 00 00 00 15
-T 03 C2 90 E6 B8 E0 FA 53 02 1F BA 00 4F 90 E6 BA
-R 00 00 00 15
-T 03 D0 E0 FA BA 01 02 80 05
-R 00 00 00 15
-T 03 D7
-R 00 00 00 15
-T 03 D7 BA 02 02 80 40
-R 00 00 00 15
-T 03 DC
-R 00 00 00 15
-T 03 DC
-R 00 00 00 15
-T 03 DC 12 00 00 80 3B
-R 00 00 00 15 02 03 00 55
-T 03 E1
-R 00 00 00 15
-T 03 E1 90 E6 BA E0 FA 70 2C 90 E6 BC E0 F5 82 12
-R 00 00 00 15
-T 03 EF 00 FB E5 82 60 1A 90 E6 BC E0 F5 82 12
-R 00 00 00 15 00 02 00 15
-T 03 FC 01 1A AA 82 AB 83 E0 FC 43 04 01 8A 82 8B
-R 00 00 00 15 00 02 00 15
-T 04 0A 83 EC F0 80 0D
-R 00 00 00 15
-T 04 0F
-R 00 00 00 15
-T 04 0F 12 00 00 80 08
-R 00 00 00 15 02 03 00 55
-T 04 14
-R 00 00 00 15
-T 04 14 12 00 00 80 03
-R 00 00 00 15 02 03 00 55
-T 04 19
-R 00 00 00 15
-T 04 19
-R 00 00 00 15
-T 04 19
-R 00 00 00 15
-T 04 19 12 00 00
-R 00 00 00 15 02 03 00 55
-T 04 1C
-R 00 00 00 15
-T 04 1C 90 E6 A0 E0 44 80 F0 22
-R 00 00 00 15
diff --git a/firmware/GN3S_v2/lib/usb_common.sym b/firmware/GN3S_v2/lib/usb_common.sym
deleted file mode 100644
index ec66b75..0000000
--- a/firmware/GN3S_v2/lib/usb_common.sym
+++ /dev/null
@@ -1,737 +0,0 @@
-
ASxxxx Assembler V01.70 + NoICE + SDCC mods + Flat24 Feb-1999  (Intel 8051), page 1.
-
-Symbol Table
-
-    A                                                              00D6 
-    AC                                                             00D6 
-    ACC                                                            00E0 
-    ACC.0                                                          00E0 
-    ACC.1                                                          00E1 
-    ACC.2                                                          00E2 
-    ACC.3                                                          00E3 
-    ACC.4                                                          00E4 
-    ACC.5                                                          00E5 
-    ACC.6                                                          00E6 
-    ACC.7                                                          00E7 
-    B                                                              00F0 
-    B.0                                                            00F0 
-    B.1                                                            00F1 
-    B.2                                                            00F2 
-    B.3                                                            00F3 
-    B.4                                                            00F4 
-    B.5                                                            00F5 
-    B.6                                                            00F6 
-    B.7                                                            00F7 
-    CPRL2                                                          00C8 
-    CT2                                                            00C9 
-    CY                                                             00D7 
-    DPH                                                            0083 
-    DPL                                                            0082 
-    EA                                                             00AF 
-    ES                                                             00AC 
-    ET0                                                            00A9 
-    ET1                                                            00AB 
-    ET2                                                            00AD 
-    EX0                                                            00A8 
-    EX1                                                            00AA 
-    EXEN2                                                          00CB 
-    EXF2                                                           00CE 
-    F0                                                             00D5 
-    IE                                                             00A8 
-    IE.0                                                           00A8 
-    IE.1                                                           00A9 
-    IE.2                                                           00AA 
-    IE.3                                                           00AB 
-    IE.4                                                           00AC 
-    IE.5                                                           00AD 
-    IE.7                                                           00AF 
-    IE0                                                            0089 
-    IE1                                                            008B 
-    INT0                                                           00B2 
-    INT1                                                           00B3 
-    IP                                                             00B8 
-    IP.0                                                           00B8 
-    IP.1                                                           00B9 
-    IP.2                                                           00BA 
-    IP.3                                                           00BB 
-    IP.4                                                           00BC 
-    IP.5                                                           00BD 
-    IT0                                                            0088 
-    IT1                                                            008A 
-    OV                                                             00D2 
-    P                                                              00D0 
-    P0                                                             0080 
-    P0.0                                                           0080 
-    P0.1                                                           0081 
-    P0.2                                                           0082 
-    P0.3                                                           0083 
-    P0.4                                                           0084 
-    P0.5                                                           0085 
-    P0.6                                                           0086 
-    P0.7                                                           0087 
-    P1                                                             0090 
-    P1.0                                                           0090 
-    P1.1                                                           0091 
-    P1.2                                                           0092 
-    P1.3                                                           0093 
-    P1.4                                                           0094 
-    P1.5                                                           0095 
-    P1.6                                                           0096 
-    P1.7                                                           0097 
-    P2                                                             00A0 
-    P2.0                                                           00A0 
-    P2.1                                                           00A1 
-    P2.2                                                           00A2 
-    P2.3                                                           00A3 
-    P2.4                                                           00A4 
-    P2.5                                                           00A5 
-    P2.6                                                           00A6 
-    P2.7                                                           00A7 
-    P3                                                             00B0 
-    P3.0                                                           00B0 
-    P3.1                                                           00B1 
-    P3.2                                                           00B2 
-    P3.3                                                           00B3 
-    P3.4                                                           00B4 
-    P3.5                                                           00B5 
-    P3.6                                                           00B6 
-    P3.7                                                           00B7 
-    PCON                                                           0087 
-    PS                                                             00BC 
-    PSW                                                            00D0 
-    PSW.0                                                          00D0 
-    PSW.1                                                          00D1 
-    PSW.2                                                          00D2 
-    PSW.3                                                          00D3 
-    PSW.4                                                          00D4 
-    PSW.5                                                          00D5 
-    PSW.6                                                          00D6 
-    PSW.7                                                          00D7 
-    PT0                                                            00B9 
-    PT1                                                            00BB 
-    PT2                                                            00BD 
-    PX0                                                            00B8 
-    PX1                                                            00BA 
-    RB8                                                            009A 
-    RCAP2H                                                         00CB 
-    RCAP2L                                                         00CA 
-    RCLK                                                           00CD 
-    REN                                                            009C 
-    RI                                                             0098 
-    RS0                                                            00D3 
-    RS1                                                            00D4 
-    RXD                                                            00B0 
-    SBUF                                                           0099 
-    SCON                                                           0098 
-    SCON.0                                                         0098 
-    SCON.1                                                         0099 
-    SCON.2                                                         009A 
-    SCON.3                                                         009B 
-    SCON.4                                                         009C 
-    SCON.5                                                         009D 
-    SCON.6                                                         009E 
-    SCON.7                                                         009F 
-    SM0                                                            009F 
-    SM1                                                            009E 
-    SM2                                                            009D 
-    SP                                                             0081 
-    T2CON                                                          00C8 
-    T2CON.0                                                        00C8 
-    T2CON.1                                                        00C9 
-    T2CON.2                                                        00CA 
-    T2CON.3                                                        00CB 
-    T2CON.4                                                        00CC 
-    T2CON.5                                                        00CD 
-    T2CON.6                                                        00CE 
-    T2CON.7                                                        00CF 
-    TB8                                                            009B 
-    TCLK                                                           00CC 
-    TCON                                                           0088 
-    TCON.0                                                         0088 
-    TCON.1                                                         0089 
-    TCON.2                                                         008A 
-    TCON.3                                                         008B 
-    TCON.4                                                         008C 
-    TCON.5                                                         008D 
-    TCON.6                                                         008E 
-    TCON.7                                                         008F 
-    TF0                                                            008D 
-    TF1                                                            008F 
-    TF2                                                            00CF 
-    TH0                                                            008C 
-    TH1                                                            008D 
-    TH2                                                            00CD 
-    TI                                                             0099 
-    TL0                                                            008A 
-    TL1                                                            008B 
-    TL2                                                            00CC 
-    TMOD                                                           0089 
-    TR0                                                            008C 
-    TR1                                                            008E 
-    TR2                                                            00CA 
-    TXD                                                            00B1 
-    _A0                                                         =  0080 G
-    _A1                                                         =  0081 G
-    _A2                                                         =  0082 G
-    _A3                                                         =  0083 G
-    _A4                                                         =  0084 G
-    _A5                                                         =  0085 G
-    _A6                                                         =  0086 G
-    _A7                                                         =  0087 G
-    _AC                                                         =  00D6 G
-    _ACC                                                        =  00E0 G
-    _APTR1H                                                     =  009A G
-    _APTR1L                                                     =  009B G
-    _AUTODAT1                                                   =  009C G
-    _AUTODAT2                                                   =  009F G
-    _AUTOPTRH2                                                  =  009D G
-    _AUTOPTRL2                                                  =  009E G
-    _AUTOPTRSETUP                                               =  00AF G
-    _B                                                          =  00F0 G
-    _BPADDRH                                                    =  E606 G
-    _BPADDRL                                                    =  E607 G
-    _BREAKPT                                                    =  E605 G
-    _CKCON                                                      =  008E G
-    _CLRERRCNT                                                  =  E665 G
-    _CPUCS                                                      =  E600 G
-    _CP_RL2                                                     =  00C8 G
-    _CT1                                                        =  E6FB G
-    _CT2                                                        =  E6FC G
-    _CT3                                                        =  E6FD G
-    _CT4                                                        =  E6FE G
-    _CY                                                         =  00D7 G
-    _C_T2                                                       =  00C9 G
-    _D0                                                         =  00B0 G
-    _D1                                                         =  00B1 G
-    _D2                                                         =  00B2 G
-    _D3                                                         =  00B3 G
-    _D4                                                         =  00B4 G
-    _D5                                                         =  00B5 G
-    _D6                                                         =  00B6 G
-    _D7                                                         =  00B7 G
-    _DBUG                                                       =  E6F8 G
-    _DPH                                                        =  0083 G
-    _DPH1                                                       =  0085 G
-    _DPL                                                        =  0082 G
-    _DPL1                                                       =  0084 G
-    _DPS                                                        =  0086 G
-    _EA                                                         =  00AF G
-    _EI2C                                                       =  00E9 G
-    _EICON                                                      =  00D8 G
-    _EIE                                                        =  00E8 G
-    _EIEX4                                                      =  00EA G
-    _EIEX5                                                      =  00EB G
-    _EIEX6                                                      =  00EC G
-    _EIP                                                        =  00F8 G
-    _EIPX4                                                      =  00FA G
-    _EIPX5                                                      =  00FB G
-    _EIPX6                                                      =  00FC G
-    _EIUSB                                                      =  00E8 G
-    _EP01STAT                                                   =  00BA G
-    _EP0BCH                                                     =  E68A G
-    _EP0BCL                                                     =  E68B G
-    _EP0BUF                                                     =  E740 G
-    _EP0CS                                                      =  E6A0 G
-    _EP1INBC                                                    =  E68F G
-    _EP1INBUF                                                   =  E7C0 G
-    _EP1INCFG                                                   =  E611 G
-    _EP1INCS                                                    =  E6A2 G
-    _EP1OUTBC                                                   =  E68D G
-    _EP1OUTBUF                                                  =  E780 G
-    _EP1OUTCFG                                                  =  E610 G
-    _EP1OUTCS                                                   =  E6A1 G
-    _EP2468STAT                                                 =  00AA G
-    _EP24FIFOFLGS                                               =  00AB G
-    _EP2AUTOINLENH                                              =  E620 G
-    _EP2AUTOINLENL                                              =  E621 G
-    _EP2BCH                                                     =  E690 G
-    _EP2BCL                                                     =  E691 G
-    _EP2CFG                                                     =  E612 G
-    _EP2CS                                                      =  E6A3 G
-    _EP2FIFOBCH                                                 =  E6AB G
-    _EP2FIFOBCL                                                 =  E6AC G
-    _EP2FIFOBUF                                                 =  F000 G
-    _EP2FIFOCFG                                                 =  E618 G
-    _EP2FIFOFLGS                                                =  E6A7 G
-    _EP2FIFOIE                                                  =  E650 G
-    _EP2FIFOIRQ                                                 =  E651 G
-    _EP2FIFOPFH                                                 =  E630 G
-    _EP2FIFOPFL                                                 =  E631 G
-    _EP2GPIFFLGSEL                                              =  E6D2 G
-    _EP2GPIFPFSTOP                                              =  E6D3 G
-    _EP2GPIFTRIG                                                =  E6D4 G
-    _EP2ISOINPKTS                                               =  E640 G
-    _EP4AUTOINLENH                                              =  E622 G
-    _EP4AUTOINLENL                                              =  E623 G
-    _EP4BCH                                                     =  E694 G
-    _EP4BCL                                                     =  E695 G
-    _EP4CFG                                                     =  E613 G
-    _EP4CS                                                      =  E6A4 G
-    _EP4FIFOBCH                                                 =  E6AD G
-    _EP4FIFOBCL                                                 =  E6AE G
-    _EP4FIFOBUF                                                 =  F400 G
-    _EP4FIFOCFG                                                 =  E619 G
-    _EP4FIFOFLGS                                                =  E6A8 G
-    _EP4FIFOIE                                                  =  E652 G
-    _EP4FIFOIRQ                                                 =  E653 G
-    _EP4FIFOPFH                                                 =  E632 G
-    _EP4FIFOPFL                                                 =  E633 G
-    _EP4GPIFFLGSEL                                              =  E6DA G
-    _EP4GPIFPFSTOP                                              =  E6DB G
-    _EP4GPIFTRIG                                                =  E6DC G
-    _EP4ISOINPKTS                                               =  E641 G
-    _EP68FIFOFLGS                                               =  00AC G
-    _EP6AUTOINLENH                                              =  E624 G
-    _EP6AUTOINLENL                                              =  E625 G
-    _EP6BCH                                                     =  E698 G
-    _EP6BCL                                                     =  E699 G
-    _EP6CFG                                                     =  E614 G
-    _EP6CS                                                      =  E6A5 G
-    _EP6FIFOBCH                                                 =  E6AF G
-    _EP6FIFOBCL                                                 =  E6B0 G
-    _EP6FIFOBUF                                                 =  F800 G
-    _EP6FIFOCFG                                                 =  E61A G
-    _EP6FIFOFLGS                                                =  E6A9 G
-    _EP6FIFOIE                                                  =  E654 G
-    _EP6FIFOIRQ                                                 =  E655 G
-    _EP6FIFOPFH                                                 =  E634 G
-    _EP6FIFOPFL                                                 =  E635 G
-    _EP6GPIFFLGSEL                                              =  E6E2 G
-    _EP6GPIFPFSTOP                                              =  E6E3 G
-    _EP6GPIFTRIG                                                =  E6E4 G
-    _EP6ISOINPKTS                                               =  E642 G
-    _EP8AUTOINLENH                                              =  E626 G
-    _EP8AUTOINLENL                                              =  E627 G
-    _EP8BCH                                                     =  E69C G
-    _EP8BCL                                                     =  E69D G
-    _EP8CFG                                                     =  E615 G
-    _EP8CS                                                      =  E6A6 G
-    _EP8FIFOBCH                                                 =  E6B1 G
-    _EP8FIFOBCL                                                 =  E6B2 G
-    _EP8FIFOBUF                                                 =  FC00 G
-    _EP8FIFOCFG                                                 =  E61B G
-    _EP8FIFOFLGS                                                =  E6AA G
-    _EP8FIFOIE                                                  =  E656 G
-    _EP8FIFOIRQ                                                 =  E657 G
-    _EP8FIFOPFH                                                 =  E636 G
-    _EP8FIFOPFL                                                 =  E637 G
-    _EP8GPIFFLGSEL                                              =  E6EA G
-    _EP8GPIFPFSTOP                                              =  E6EB G
-    _EP8GPIFTRIG                                                =  E6EC G
-    _EP8ISOINPKTS                                               =  E643 G
-    _EPIE                                                       =  E65E G
-    _EPIRQ                                                      =  E65F G
-    _ERESI                                                      =  00DD G
-    _ERRCNTLIM                                                  =  E664 G
-    _ES0                                                        =  00AC G
-    _ES1                                                        =  00AE G
-    _ET0                                                        =  00A9 G
-    _ET1                                                        =  00AB G
-    _ET2                                                        =  00AD G
-    _EX0                                                        =  00A8 G
-    _EX1                                                        =  00AA G
-    _EXEN2                                                      =  00CB G
-    _EXF2                                                       =  00CE G
-    _EXIF                                                       =  0091 G
-    _F0                                                         =  00D5 G
-    _FIFOPINPOLAR                                               =  E609 G
-    _FIFORESET                                                  =  E604 G
-    _FL                                                         =  00D1 G
-    _FLOWEQ0CTL                                                 =  E6C8 G
-    _FLOWEQ1CTL                                                 =  E6C9 G
-    _FLOWHOLDOFF                                                =  E6CA G
-    _FLOWLOGIC                                                  =  E6C7 G
-    _FLOWSTATE                                                  =  E6C6 G
-    _FLOWSTB                                                    =  E6CB G
-    _FLOWSTBEDGE                                                =  E6CC G
-    _FLOWSTBHPERIOD                                             =  E6CD G
-    _FNADDR                                                     =  E687 G
-    _GPIFABORT                                                  =  E6F5 G
-    _GPIFADRH                                                   =  E6C4 G
-    _GPIFADRL                                                   =  E6C5 G
-    _GPIFCTLCFG                                                 =  E6C3 G
-    _GPIFHOLDAMOUNT                                             =  E60C G
-    _GPIFIDLECS                                                 =  E6C1 G
-    _GPIFIDLECTL                                                =  E6C2 G
-    _GPIFIE                                                     =  E660 G
-    _GPIFIRQ                                                    =  E661 G
-    _GPIFREADYCFG                                               =  E6F3 G
-    _GPIFREADYSTAT                                              =  E6F4 G
-    _GPIFSGLDATH                                                =  00BD G
-    _GPIFSGLDATLNOX                                             =  00BF G
-    _GPIFSGLDATLX                                               =  00BE G
-    _GPIFTCB0                                                   =  E6D1 G
-    _GPIFTCB1                                                   =  E6D0 G
-    _GPIFTCB2                                                   =  E6CF G
-    _GPIFTCB3                                                   =  E6CE G
-    _GPIFTRIG                                                   =  00BB G
-    _GPIFWFSELECT                                               =  E6C0 G
-    _GPIF_WAVE_DATA                                             =  E400 G
-    _I2CS                                                       =  E678 G
-    _I2CTL                                                      =  E67A G
-    _I2DAT                                                      =  E679 G
-    _IBNIE                                                      =  E658 G
-    _IBNIRQ                                                     =  E659 G
-    _IE                                                         =  00A8 G
-    _IE0                                                        =  0089 G
-    _IE1                                                        =  008B G
-    _IFCONFIG                                                   =  E601 G
-    _INPKTEND                                                   =  E648 G
-    _INT2CLR                                                    =  00A1 G
-    _INT2IVEC                                                   =  E666 G
-    _INT4CLR                                                    =  00A2 G
-    _INT4IVEC                                                   =  E667 G
-    _INT6                                                       =  00DB G
-    _INTSETUP                                                   =  E668 G
-    _IOA                                                        =  0080 G
-    _IOB                                                        =  0090 G
-    _IOC                                                        =  00A0 G
-    _IOD                                                        =  00B0 G
-    _IOE                                                        =  00B1 G
-    _IP                                                         =  00B8 G
-    _IT0                                                        =  0088 G
-    _IT1                                                        =  008A G
-    _MICROFRAME                                                 =  E686 G
-    _MPAGE                                                      =  0092 G
-    _NAKIE                                                      =  E65A G
-    _NAKIRQ                                                     =  E65B G
-    _OEA                                                        =  00B2 G
-    _OEB                                                        =  00B3 G
-    _OEC                                                        =  00B4 G
-    _OED                                                        =  00B5 G
-    _OEE                                                        =  00B6 G
-    _OUTPKTEND                                                  =  E649 G
-    _OV                                                         =  00D2 G
-    _P                                                          =  00D0 G
-    _PCON                                                       =  0087 G
-    _PI2C                                                       =  00F9 G
-    _PINFLAGSAB                                                 =  E602 G
-    _PINFLAGSCD                                                 =  E603 G
-    _PORTACFG                                                   =  E670 G
-    _PORTCCFG                                                   =  E671 G
-    _PORTECFG                                                   =  E672 G
-    _PS0                                                        =  00BC G
-    _PS1                                                        =  00BE G
-    _PSW                                                        =  00D0 G
-    _PT0                                                        =  00B9 G
-    _PT1                                                        =  00BB G
-    _PT2                                                        =  00BD G
-    _PUSB                                                       =  00F8 G
-    _PX0                                                        =  00B8 G
-    _PX1                                                        =  00BA G
-    _RB8                                                        =  009A G
-    _RB81                                                       =  00C2 G
-    _RCAP2H                                                     =  00CB G
-    _RCAP2L                                                     =  00CA G
-    _RCLK                                                       =  00CD G
-    _REN                                                        =  009C G
-    _REN1                                                       =  00C4 G
-    _RESI                                                       =  00DC G
-    _RES_WAVEDATA_END                                           =  E480 G
-    _REVCTL                                                     =  E60B G
-    _REVID                                                      =  E60A G
-    _RI                                                         =  0098 G
-    _RI1                                                        =  00C0 G
-    _RS0                                                        =  00D3 G
-    _RS1                                                        =  00D4 G
-    _SBUF0                                                      =  0099 G
-    _SBUF1                                                      =  00C1 G
-    _SCON0                                                      =  0098 G
-    _SCON1                                                      =  00C0 G
-    _SEL                                                        =  0086 G
-    _SETUPDAT                                                   =  E6B8 G
-    _SM0                                                        =  009F G
-    _SM01                                                       =  00C7 G
-    _SM1                                                        =  009E G
-    _SM11                                                       =  00C6 G
-    _SM2                                                        =  009D G
-    _SM21                                                       =  00C5 G
-    _SMOD1                                                      =  00DF G
-    _SP                                                         =  0081 G
-    _SUDPTRCTL                                                  =  E6B5 G
-    _SUDPTRH                                                    =  E6B3 G
-    _SUDPTRL                                                    =  E6B4 G
-    _SUSPEND                                                    =  E681 G
-    _T2CON                                                      =  00C8 G
-    _TB8                                                        =  009B G
-    _TB81                                                       =  00C3 G
-    _TCLK                                                       =  00CC G
-    _TCON                                                       =  0088 G
-    _TESTCFG                                                    =  E6F9 G
-    _TF0                                                        =  008D G
-    _TF1                                                        =  008F G
-    _TF2                                                        =  00CF G
-    _TH0                                                        =  008C G
-    _TH1                                                        =  008D G
-    _TH2                                                        =  00CD G
-    _TI                                                         =  0099 G
-    _TI1                                                        =  00C1 G
-    _TL0                                                        =  008A G
-    _TL1                                                        =  008B G
-    _TL2                                                        =  00CC G
-    _TMOD                                                       =  0089 G
-    _TOGCTL                                                     =  E683 G
-    _TR0                                                        =  008C G
-    _TR1                                                        =  008E G
-    _TR2                                                        =  00CA G
-    _UART230                                                    =  E608 G
-    _UDMACRCH                                                   =  E67D G
-    _UDMACRCL                                                   =  E67E G
-    _UDMACRCQUAL                                                =  E67F G
-    _USBCS                                                      =  E680 G
-    _USBERRIE                                                   =  E662 G
-    _USBERRIRQ                                                  =  E663 G
-    _USBFRAMEH                                                  =  E684 G
-    _USBFRAMEL                                                  =  E685 G
-    _USBIE                                                      =  E65C G
-    _USBIRQ                                                     =  E65D G
-    _USBTEST                                                    =  E6FA G
-    _WAKEUPCS                                                   =  E682 G
-    _XAUTODAT1                                                  =  E67B G
-    _XAUTODAT2                                                  =  E67C G
-    _XGPIFSGLDATH                                               =  E6F0 G
-    _XGPIFSGLDATLNOX                                            =  E6F2 G
-    _XGPIFSGLDATLX                                              =  E6F1 G
-  4 __usb_alt_setting                                              0001 GR
-  4 __usb_config                                                   0000 GR
-  8 __usb_got_SUDAV                                                0000 GR
-  8 __usb_rx_overrun                                               0001 GR
-    _app_vendor_cmd                                                **** GX
-  4 _current_config_descr                                          0006 GR
-  4 _current_device_descr                                          0002 GR
-  4 _current_devqual_descr                                         0004 GR
- 15 _epcs                                                          011A GR
-    _full_speed_config_descr                                       **** GX
-    _full_speed_device_descr                                       **** GX
-    _full_speed_devqual_descr                                      **** GX
-    _fx2_reset_data_toggle                                         **** GX
-    _fx2_stall_ep0                                                 **** GX
-    _high_speed_config_descr                                       **** GX
-    _high_speed_device_descr                                       **** GX
-    _high_speed_devqual_descr                                      **** GX
-    _hook_uv                                                       **** GX
-    _hook_uv_PARM_2                                                **** GX
- 15 _isr_HIGHSPEED                                                 0088 R
- 15 _isr_SUDAV                                                     003A R
- 15 _isr_USBRESET                                                  0043 R
-    _nstring_descriptors                                           **** GX
-  4 _other_config_descr                                            0008 GR
- 15 _plausible_endpoint                                            00FB GR
- 15 _setup_descriptors                                             0000 R
-    _string_descriptors                                            **** GX
- 15 _usb_handle_setup_packet                                       0163 GR
- 15 _usb_install_handlers                                          00CD GR
-    a                                                              00D6 
-    ac                                                             00D6 
-    acc                                                            00E0 
-    acc.0                                                          00E0 
-    acc.1                                                          00E1 
-    acc.2                                                          00E2 
-    acc.3                                                          00E3 
-    acc.4                                                          00E4 
-    acc.5                                                          00E5 
-    acc.6                                                          00E6 
-    acc.7                                                          00E7 
-    ar0                                                         =  0000 
-    ar1                                                         =  0001 
-    ar2                                                         =  0002 
-    ar3                                                         =  0003 
-    ar4                                                         =  0004 
-    ar5                                                         =  0005 
-    ar6                                                         =  0006 
-    ar7                                                         =  0007 
-    b                                                              00F0 
-    b.0                                                            00F0 
-    b.1                                                            00F1 
-    b.2                                                            00F2 
-    b.3                                                            00F3 
-    b.4                                                            00F4 
-    b.5                                                            00F5 
-    b.6                                                            00F6 
-    b.7                                                            00F7 
-  3 b0                                                          =  8000 R
-  3 b1                                                          =  8100 R
-  3 b2                                                          =  8200 R
-  3 b3                                                          =  8300 R
-  3 b4                                                          =  8400 R
-  3 b5                                                          =  8500 R
-  3 b6                                                          =  8600 R
-  3 b7                                                          =  8700 R
-  3 bits                                                           0000 R
-    cprl2                                                          00C8 
-    ct2                                                            00C9 
-    cy                                                             00D7 
-    dph                                                            0083 
-    dpl                                                            0082 
-    ea                                                             00AF 
-    es                                                             00AC 
-    et0                                                            00A9 
-    et1                                                            00AB 
-    et2                                                            00AD 
-    ex0                                                            00A8 
-    ex1                                                            00AA 
-    exen2                                                          00CB 
-    exf2                                                           00CE 
-    f0                                                             00D5 
-    ie                                                             00A8 
-    ie.0                                                           00A8 
-    ie.1                                                           00A9 
-    ie.2                                                           00AA 
-    ie.3                                                           00AB 
-    ie.4                                                           00AC 
-    ie.5                                                           00AD 
-    ie.7                                                           00AF 
-    ie0                                                            0089 
-    ie1                                                            008B 
-    int0                                                           00B2 
-    int1                                                           00B3 
-    ip                                                             00B8 
-    ip.0                                                           00B8 
-    ip.1                                                           00B9 
-    ip.2                                                           00BA 
-    ip.3                                                           00BB 
-    ip.4                                                           00BC 
-    ip.5                                                           00BD 
-    it0                                                            0088 
-    it1                                                            008A 
-    ov                                                             00D2 
-    p                                                              00D0 
-    p0                                                             0080 
-    p0.0                                                           0080 
-    p0.1                                                           0081 
-    p0.2                                                           0082 
-    p0.3                                                           0083 
-    p0.4                                                           0084 
-    p0.5                                                           0085 
-    p0.6                                                           0086 
-    p0.7                                                           0087 
-    p1                                                             0090 
-    p1.0                                                           0090 
-    p1.1                                                           0091 
-    p1.2                                                           0092 
-    p1.3                                                           0093 
-    p1.4                                                           0094 
-    p1.5                                                           0095 
-    p1.6                                                           0096 
-    p1.7                                                           0097 
-    p2                                                             00A0 
-    p2.0                                                           00A0 
-    p2.1                                                           00A1 
-    p2.2                                                           00A2 
-    p2.3                                                           00A3 
-    p2.4                                                           00A4 
-    p2.5                                                           00A5 
-    p2.6                                                           00A6 
-    p2.7                                                           00A7 
-    p3                                                             00B0 
-    p3.0                                                           00B0 
-    p3.1                                                           00B1 
-    p3.2                                                           00B2 
-    p3.3                                                           00B3 
-    p3.4                                                           00B4 
-    p3.5                                                           00B5 
-    p3.6                                                           00B6 
-    p3.7                                                           00B7 
-    pcon                                                           0087 
-    ps                                                             00BC 
-    psw                                                            00D0 
-    psw.0                                                          00D0 
-    psw.1                                                          00D1 
-    psw.2                                                          00D2 
-    psw.3                                                          00D3 
-    psw.4                                                          00D4 
-    psw.5                                                          00D5 
-    psw.6                                                          00D6 
-    psw.7                                                          00D7 
-    pt0                                                            00B9 
-    pt1                                                            00BB 
-    pt2                                                            00BD 
-    px0                                                            00B8 
-    px1                                                            00BA 
-    rb8                                                            009A 
-    rcap2h                                                         00CB 
-    rcap2l                                                         00CA 
-    rclk                                                           00CD 
-    ren                                                            009C 
-    ri                                                             0098 
-    rs0                                                            00D3 
-    rs1                                                            00D4 
-    rxd                                                            00B0 
-    sbuf                                                           0099 
-    scon                                                           0098 
-    scon.0                                                         0098 
-    scon.1                                                         0099 
-    scon.2                                                         009A 
-    scon.3                                                         009B 
-    scon.4                                                         009C 
-    scon.5                                                         009D 
-    scon.6                                                         009E 
-    scon.7                                                         009F 
-    sm0                                                            009F 
-    sm1                                                            009E 
-    sm2                                                            009D 
-    sp                                                             0081 
-    t2con                                                          00C8 
-    t2con.0                                                        00C8 
-    t2con.1                                                        00C9 
-    t2con.2                                                        00CA 
-    t2con.3                                                        00CB 
-    t2con.4                                                        00CC 
-    t2con.5                                                        00CD 
-    t2con.6                                                        00CE 
-    t2con.7                                                        00CF 
-    tb8                                                            009B 
-    tclk                                                           00CC 
-    tcon                                                           0088 
-    tcon.0                                                         0088 
-    tcon.1                                                         0089 
-    tcon.2                                                         008A 
-    tcon.3                                                         008B 
-    tcon.4                                                         008C 
-    tcon.5                                                         008D 
-    tcon.6                                                         008E 
-    tcon.7                                                         008F 
-    tf0                                                            008D 
-    tf1                                                            008F 
-    tf2                                                            00CF 
-    th0                                                            008C 
-    th1                                                            008D 
-    th2                                                            00CD 
-    ti                                                             0099 
-    tl0                                                            008A 
-    tl1                                                            008B 
-    tl2                                                            00CC 
-    tmod                                                           0089 
-    tr0                                                            008C 
-    tr1                                                            008E 
-    tr2                                                            00CA 
-    txd                                                            00B1 
-
-
ASxxxx Assembler V01.70 + NoICE + SDCC mods + Flat24 Feb-1999  (Intel 8051), page 2.
-
-Area Table
-
-   0 _CODE                                                                              size    0   flags 0
-   1 RSEG                                                                               size    0   flags 0
-   2 REG_BANK_0                                                                         size    8   flags 4
-   3 BIT_BANK                                                                           size    1   flags 4
-   4 DSEG                                                                               size    A   flags 0
-   5 OSEG                                                                               size    0   flags 4
-   6 ISEG                                                                               size    0   flags 0
-   7 IABS                                                                               size    0   flags 8
-   8 BSEG                                                                               size    2   flags 80
-   9 PSEG                                                                               size    0   flags 50
-   A XSEG                                                                               size    0   flags 40
-   B XABS                                                                               size    0   flags 48
-   C HOME                                                                               size    0   flags 20
-   D GSINIT0                                                                            size    0   flags 20
-   E GSINIT1                                                                            size    0   flags 20
-   F GSINIT2                                                                            size    0   flags 20
-  10 GSINIT3                                                                            size    0   flags 20
-  11 GSINIT4                                                                            size    0   flags 20
-  12 GSINIT5                                                                            size    0   flags 20
-  13 GSINIT                                                                             size    6   flags 20
-  14 GSFINAL                                                                            size    0   flags 20
-  15 CSEG                                                                               size  424   flags 20
-  16 CONST                                                                              size    0   flags 20
-  17 CABS                                                                               size    0   flags 28
diff --git a/firmware/GN3S_v2/src/Makefile b/firmware/GN3S_v2/src/Makefile
deleted file mode 100644
index 854ed31..0000000
--- a/firmware/GN3S_v2/src/Makefile
+++ /dev/null
@@ -1,23 +0,0 @@
-INCLUDES=-I../include
-CC=sdcc -mmcs51 --no-xinit-opt
-
-all: 	firmware install clean
-
-firmware: gn3s_main.c usrp_common.c init_gpif.c gn3s_gpif.c gn3s_se4120.c
-	$(CC) $(INCLUDES) -c gn3s_main.c -o gn3s_main.rel
-	$(CC) $(INCLUDES) -c usrp_common.c -o usrp_common.rel
-	$(CC) $(INCLUDES) -c init_gpif.c -o init_gpif.rel
-	$(CC) $(INCLUDES) -c gn3s_gpif.c -o gn3s_gpif.rel
-	$(CC) $(INCLUDES) -c gn3s_se4120.c -o gn3s_se4110.rel
-	$(CC) $(INCLUDES) -c eeprom.c -o eeprom.rel
-	asx8051 -plosgff vectors.a51
-	asx8051 -plosgff usb_descriptors.a51
-	asx8051 -plosgff _startup.a51
-	$(CC) $(INCLUDES) --code-loc 0x0000 --code-size 0x1800 --xram-loc 0x1800 --xram-size 0x0800 -Wl '-b USBDESCSEG = 0xE000' -L ../lib libfx2.lib -o gn3s_firmware.ihx vectors.rel gn3s_main.rel usrp_common.rel init_gpif.rel gn3s_gpif.rel gn3s_se4110.rel eeprom.rel usb_descriptors.rel _startup.rel
-
-install:
-	cp gn3s_firmware.ihx ../bin/
-	@rm gn3s_firmware.ihx
-
-clean: 
-	rm -f *.ihx *.rel *.rst *.lnk *.lst *.map *.asm *.sym *.mem
diff --git a/firmware/GN3S_v2/src/_startup.a51 b/firmware/GN3S_v2/src/_startup.a51
deleted file mode 100644
index 0bffbbe..0000000
--- a/firmware/GN3S_v2/src/_startup.a51
+++ /dev/null
@@ -1,80 +0,0 @@
-;;; -*- asm -*-
-;;;
-;;; Copyright 2003,2004 Free Software Foundation, Inc.
-;;; 
-;;; This file is part of GNU Radio
-;;; 
-;;; GNU Radio 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, or (at your option)
-;;; any later version.
-;;; 
-;;; GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
-;;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;;; Boston, MA 02111-1307, USA.
-
-    
-;;; The default external memory initialization provided by sdcc is not
-;;; appropriate to the FX2.  This is derived from the sdcc code, but uses 
-;;; the FX2 specific _MPAGE sfr.
-
-
-	;; .area XISEG   (XDATA)  ; the initialized external data area
-	;; .area XINIT   (CODE)	  ; the code space consts to init XISEG
-	.area XSEG    (XDATA)	  ; zero initialized xdata
-	.area USBDESCSEG (XDATA)  ; usb descriptors
-
-	
-	.area CSEG    (CODE)
-
-	;; sfr that sets upper address byte of MOVX using @r0 or @r1
-	_MPAGE	=	0x0092
-
-__sdcc_external_startup::
-	;; This system is now compiled with the --no-xinit-opt 
-	;; which means that any initialized XDATA is handled
-	;; inline by code in the GSINIT segs emitted for each file.
-	;; 
-	;; We zero XSEG and all of the internal ram to ensure 
-	;; a known good state for uninitialized variables.
-
-;	_mcs51_genRAMCLEAR() start
-	mov	r0,#l_XSEG
-	mov	a,r0
-	orl	a,#(l_XSEG >> 8)
-	jz	00002$
-	mov	r1,#((l_XSEG + 255) >> 8)
-	mov	dptr,#s_XSEG
-	clr     a
-	
-00001$:	movx	@dptr,a
-	inc	dptr
-	djnz	r0,00001$
-	djnz	r1,00001$
-	
-	;; We're about to clear internal memory.  This will overwrite
-	;; the stack which contains our return address.
-	;; Pop our return address into DPH, DPL
-00002$:	pop	dph
-	pop	dpl
-	
-	;; R0 and A contain 0.  This loop will execute 256 times.
-	;; 
-	;; FWIW the first iteration writes direct address 0x00,
-	;; which is the location of r0.  We get lucky, we're 
-	;; writing the correct value (0)
-	
-00003$:	mov	@r0,a
-	djnz	r0,00003$
-
-	push	dpl		; restore our return address
-	push	dph
-
-	mov	dpl,#0		; indicate that data init is still required
-	ret
diff --git a/firmware/GN3S_v2/src/edit-gpif b/firmware/GN3S_v2/src/edit-gpif
deleted file mode 100644
index c507f50..0000000
--- a/firmware/GN3S_v2/src/edit-gpif
+++ /dev/null
@@ -1,114 +0,0 @@
-#!/usr/bin/env python
-# -*- Python -*-
-#
-# Copyright 2003 Free Software Foundation, Inc.
-# 
-# This file is part of GNU Radio
-# 
-# GNU Radio 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, or (at your option)
-# any later version.
-# 
-# GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-# 
-
-
-# Edit the gpif.c file generated by the Cypress GPIF Designer Tool and
-# produce usrp_gpif.c, and usrp_gpif_inline.h, files suitable for our
-# uses.
-
-import re
-import string
-import sys
-
-def check_flow_state (line, flow_state_dict):
-    mo = re.match (r'/\* Wave (\d) FlowStates \*/ (.*),', line)
-    if mo:
-        wave = int (mo.group (1))
-        data = mo.group (2)
-        split = data.split (',', 8)
-        v = map (lambda x : int (x, 16), split)
-        # print "%s, %s" % (wave, data)
-        # print "split: ", split
-        # print "v    : ", v
-        flow_state_dict[wave] = v
-
-
-def delta (xseq, yseq):
-    # set subtraction
-    z = []
-    for x in xseq:
-        if x not in yseq:
-            z.append (x)
-    return z
-    
-
-def write_define (output, name, pairs):
-    output.write ('#define %s()\t\\\n' % name)
-    output.write ('do {\t\t\t\t\t\\\n')
-    for reg, val in pairs:
-        output.write ('%14s = 0x%02x;\t\t\t\\\n' % (reg, val))
-    output.write ('} while (0)\n\n')
-    
-def write_inlines (output, dict):
-    regs = ['FLOWSTATE', 'FLOWLOGIC', 'FLOWEQ0CTL', 'FLOWEQ1CTL', 'FLOWHOLDOFF',
-            'FLOWSTB', 'FLOWSTBEDGE', 'FLOWSTBHPERIOD', 'GPIFHOLDAMOUNT']
-
-    READ_FLOW_STATE = 2
-    WRITE_FLOW_STATE = 3
-
-    read_info = zip (regs, dict[READ_FLOW_STATE])
-    write_info = zip (regs, dict[WRITE_FLOW_STATE])
-    
-    output.write ('''/*
- * Machine generated by "edit-gpif".  Do not edit by hand.
- */
-
-''')
-    write_define (output, 'setup_flowstate_common', read_info)
-    write_define (output, 'setup_flowstate_read', delta (read_info, write_info))
-    write_define (output, 'setup_flowstate_write', delta (write_info, read_info))
-    
-
-def edit_gpif (input_name, output_name, inline_name):
-    input = open (input_name, 'r')
-    output = open (output_name, 'w')
-    inline = open (inline_name, 'w')
-    flow_state_dict = {}
-
-    output.write ('''/*
- * Machine generated by "edit-gpif".  Do not edit by hand.
- */
-
-''')
-    
-    while 1:
-        line = input.readline ()
-        line = string.replace (line, '\r','')
-        line = re.sub (r' *$', r'', line)
-
-        check_flow_state (line, flow_state_dict)
-
-        line = re.sub (r'#include', r'// #include', line)
-        line = re.sub (r'xdata ', r'', line)
-        if re.search (r'GpifInit', line):
-            break
-        
-        output.write (line)
-
-    output.close ()
-    write_inlines (inline, flow_state_dict)
-    inline.close ()
-
-
-# gpif.c usrp_gpif.c usrp_gpif_inline.h
-edit_gpif (sys.argv[1], sys.argv[2], sys.argv[3])
diff --git a/firmware/GN3S_v2/src/eeprom.c b/firmware/GN3S_v2/src/eeprom.c
deleted file mode 100644
index 3566aa9..0000000
--- a/firmware/GN3S_v2/src/eeprom.c
+++ /dev/null
@@ -1,239 +0,0 @@
-//-----------------------------------------------------------------------------
-//   File:      eeprom.c
-//   Contents:   EEPROM update firmware source.  (Write only)
-//
-//   indent 3.  NO TABS!
-//
-//   Copyright (c) 2002 Cypress Semiconductor
-//
-// $Workfile: eeprom.c $
-// $Date: 9/07/05 2:54p $
-// $Revision: 1 $
-//-----------------------------------------------------------------------------
-//#include "fx2.h"
-#include "fx2regs.h"
-#include "eeprom.h"
-
-///////////////////////////////////////////////////////////////////////////////////////
-
-// Write up to one page of data to the EEPROM.
-// Returns 0 on success, 1 on failure
-// Normally called within a while() loop so that errors are retried:
-// while (EEPROMWritePage(....))
-//    ;
-BYTE EEPROMWritePage(WORD addr, BYTE xdata * ptr, BYTE len)
-{
-    BYTE i;
-    BYTE retval;
-
-    //EEPROM_DISABLE_WRITE_PROTECT();
-
-    // Make sure the i2c interface is idle
-    EEWaitForStop();
-    
-    // write the START bit and i2c device address
-    EEStartAndAddr();
-    
-    if(EEWaitForAck())
-    {
-        retval = 1;
-        goto EXIT_WP;
-    }
-
-    // write the eeprom offset
-    if (DB_Addr)
-    {
-        I2DAT = MSB(addr);
-        if(EEWaitForAck())
-        {
-            retval = 1;
-            goto EXIT_WP;
-        }
-    }
-    I2DAT = LSB(addr);
-    if(EEWaitForAck())
-    {
-        retval = 1;
-        goto EXIT_WP;
-    }
-
-    // Write the data Page
-    for (i = 0; i < len; i++)
-    {
-        I2DAT = *ptr++;
-        if(EEWaitForDone())
-        {
-            retval = 1;
-            goto EXIT_WP;
-        }
-    }	
-    I2CS |= bmSTOP;
-    WaitForEEPROMWrite();
-
-    retval = 0;
-
-EXIT_WP:            
-    EEPROM_ENABLE_WRITE_PROTECT();
-    return(retval);
-}
-
-void EEStartAndAddr()
-{
-      I2CS = bmSTART;
-      I2DAT = I2C_Addr << 1;
-}
-
-// 0x2e in assembly, less than 0x20 with compiler optimization!!
-void WaitForEEPROMWrite()
-{
-   EEWaitForStop();
-waitForBusy:
-	EEStartAndAddr();
-
-   EEWaitForDone();
-   I2CS |= bmSTOP;	//	; Set the STOP bit
-   EEWaitForStop();
-
-   if (!(I2CS & bmACK))  // If no ACK, try again.
-      goto waitForBusy;
-}
-
-void EEWaitForStop()
-{
-   // Data should not be written to I2CS or I2DAT until the STOP bit returns low.
-   while (I2CS & bmSTOP)
-      ;
-}
-
-// Returns 0 on success, 1 on failure
-BYTE EEPROMRead(WORD addr, BYTE length, BYTE xdata *buf)
-{
-   BYTE i;
-
-   // Make sure the i2c interface is idle
-   EEWaitForStop();
-   
-   // write the START bit and i2c device address
-   EEStartAndAddr();
-
-   if(EEWaitForAck())
-      return(1);
-
-   // write the eeprom offset
-   if (DB_Addr)
-      {
-      I2DAT = MSB(addr);
-      if(EEWaitForAck())
-         return(1);
-      }
-   I2DAT = LSB(addr);
-   if(EEWaitForAck())
-      return(1);
-
-   I2CS = bmSTART;
-
-   // send the read command
-   I2DAT = (I2C_Addr << 1) | 1;
-   if(EEWaitForDone())
-      return(1);
-
-   // read dummy byte
-   i = I2DAT;
-   if(EEWaitForDone())
-      return(1);
-
-   for (i=0; i < (length - 1); i++)
-   {
-      *(buf+i) = I2DAT;
-      if(EEWaitForDone())
-         return(1);
-   }
-   
-   I2CS = bmLASTRD;
-   if(EEWaitForDone())
-      return(1);
-
-   *(buf+i) = I2DAT;
-   if(EEWaitForDone())
-      return(1);
-
-   I2CS = bmSTOP;
-
-   i = I2DAT;
-   return(0);
-}
-
-// Return 0 for ok, 1 for error
-BYTE EEWaitForDone()
-{
-   BYTE i;
-
-   while (!((i = I2CS) & 1))  // Poll the done bit
-      ;
-   if (i & bmBERR)
-      return 1;
-   else
-      return 0;
-}
-
-// Return 0 for ok, 1 for error
-// Same as wait for done, but checks for ACK as well
-BYTE EEWaitForAck()
-{
-   BYTE i;
-
-   while (!((i = I2CS) & 1))  // Poll the done bit
-      ;
-   if (i & bmBERR)
-      return 1;
-   else if (!(i & bmACK))
-      return 1;
-   else
-      return 0;
-}
-
-
-// Determine the page size supported by the EEPROM.  All of the EEPROMS we use
-// (Atmel, Xicor and Microchip) will wrap their page address pointer if the page
-// buffer is overrun.  We write 128 incrementing bytes to the EEPROM.  We then
-// read the block back.  If location 0 is right, the page size is 128.
-// If location 0 is wrong, it directly provides a mask for the page size.
-// For example, if the page size is 4, location 0 will contain 0x7c
-BYTE EEPROMGetPageSize()
-{
-      #define MAX_PAGE_SIZE 64
-      BYTE xdata testData[MAX_PAGE_SIZE];
-      BYTE xdata saveData[MAX_PAGE_SIZE];
-      BYTE i;
-      BYTE retval;
-
-      if (!DB_Addr)
-         return(1);
-
-      EEPROMRead(0, MAX_PAGE_SIZE, saveData);
-      for (i = 0; i < MAX_PAGE_SIZE; i++)
-         {
-         testData[i] = i;
-         }
-      EEPROMWritePage(0, testData, MAX_PAGE_SIZE);
-      for (i = 0; i < MAX_PAGE_SIZE; i++)
-         {
-         testData[i] = ~i;
-         }
-      EEPROMRead(0, MAX_PAGE_SIZE, testData);
-      i = testData[0];
-      if (i & 1)
-         retval = 1;       // Couldn't read back large EEPROM.  Assume page size 1.
-      else
-         {
-         i = (MAX_PAGE_SIZE-1) ^ i;
-         i++;
-         retval = i;
-         }
-
-      for (i = 0; i < MAX_PAGE_SIZE; i+= retval)
-         EEPROMWritePage(i, saveData, retval);         
-
-      return(retval);
-}
-
diff --git a/firmware/GN3S_v2/src/gn3s_gpif.c b/firmware/GN3S_v2/src/gn3s_gpif.c
deleted file mode 100644
index b4750e4..0000000
--- a/firmware/GN3S_v2/src/gn3s_gpif.c
+++ /dev/null
@@ -1,206 +0,0 @@
-/*
- * Machine generated by "edit-gpif".  Do not edit by hand.
- */
-
-// This program configures the General Programmable Interface (GPIF) for FX2.
-// Please do not modify sections of text which are marked as "DO NOT EDIT ...".
-//
-// DO NOT EDIT ...
-// GPIF Initialization
-// Interface Timing      Async
-// Internal Ready Init   IntRdy=1
-// CTL Out Tristate-able Binary
-// SingleWrite WF Select     1
-// SingleRead WF Select      0
-// FifoWrite WF Select       3
-// FifoRead WF Select        2
-// Data Bus Idle Drive   Tristate
-// END DO NOT EDIT
-
-// DO NOT EDIT ...
-// GPIF Wave Names
-// Wave 0   = Single R
-// Wave 1   = Single W
-// Wave 2   = FIFO Rea
-// Wave 3   = FIFO Wri
-
-// GPIF Ctrl Outputs   Level
-// CTL 0    = BOGUS    CMOS
-// CTL 1    = CTL1     CMOS
-// CTL 2    = CTL2     CMOS
-// CTL 3    = CTL3     CMOS
-// CTL 4    = CTL4     CMOS
-// CTL 5    = CTL5     CMOS
-
-// GPIF Rdy Inputs
-// RDY0     = ADC_CLK
-// RDY1     = RDY1
-// RDY2     = RDY2
-// RDY3     = RDY3
-// RDY4     = RDY4
-// RDY5     = TCXpire
-// FIFOFlag = FIFOFlag
-// IntReady = IntReady
-// END DO NOT EDIT
-// DO NOT EDIT ...
-//
-// GPIF Waveform 0: Single R
-//
-// Interval     0         1         2         3         4         5         6     Idle (7)
-//          _________ _________ _________ _________ _________ _________ _________ _________
-//
-// AddrMode Same Val  Same Val  Same Val  Same Val  Same Val  Same Val  Same Val
-// DataMode NO Data   NO Data   NO Data   NO Data   NO Data   NO Data   NO Data
-// NextData SameData  SameData  SameData  SameData  SameData  SameData  SameData
-// Int Trig No Int    No Int    No Int    No Int    No Int    No Int    No Int
-// IF/Wait  Wait 1    Wait 1    Wait 1    Wait 1    Wait 1    Wait 1    Wait 1
-//   Term A
-//   LFunc
-//   Term B
-// Branch1
-// Branch0
-// Re-Exec
-// Sngl/CRC Default   Default   Default   Default   Default   Default   Default
-// BOGUS        0         0         0         0         0         0         0         0
-// CTL1         0         0         0         0         0         0         0         0
-// CTL2         0         0         0         0         0         0         0         0
-// CTL3         0         0         0         0         0         0         0         0
-// CTL4         0         0         0         0         0         0         0         0
-// CTL5         0         0         0         0         0         0         0         0
-//
-// END DO NOT EDIT
-// DO NOT EDIT ...
-//
-// GPIF Waveform 1: Single W
-//
-// Interval     0         1         2         3         4         5         6     Idle (7)
-//          _________ _________ _________ _________ _________ _________ _________ _________
-//
-// AddrMode Same Val  Same Val  Same Val  Same Val  Same Val  Same Val  Same Val
-// DataMode NO Data   NO Data   NO Data   NO Data   NO Data   NO Data   NO Data
-// NextData SameData  SameData  SameData  SameData  SameData  SameData  SameData
-// Int Trig No Int    No Int    No Int    No Int    No Int    No Int    No Int
-// IF/Wait  Wait 1    Wait 1    Wait 1    Wait 1    Wait 1    Wait 1    Wait 1
-//   Term A
-//   LFunc
-//   Term B
-// Branch1
-// Branch0
-// Re-Exec
-// Sngl/CRC Default   Default   Default   Default   Default   Default   Default
-// BOGUS        0         0         0         0         0         0         0         0
-// CTL1         0         0         0         0         0         0         0         0
-// CTL2         0         0         0         0         0         0         0         0
-// CTL3         0         0         0         0         0         0         0         0
-// CTL4         0         0         0         0         0         0         0         0
-// CTL5         0         0         0         0         0         0         0         0
-//
-// END DO NOT EDIT
-// DO NOT EDIT ...
-//
-// GPIF Waveform 2: FIFO Rea
-//
-// Interval     0         1         2         3         4         5         6     Idle (7)
-//          _________ _________ _________ _________ _________ _________ _________ _________
-//
-// AddrMode Same Val  Same Val  Same Val  Same Val  Same Val  Same Val  Same Val
-// DataMode Activate  Activate  Activate  Activate  Activate  Activate  Activate
-// NextData SameData  SameData  SameData  SameData  SameData  SameData  SameData
-// Int Trig No Int    No Int    No Int    No Int    No Int    No Int    No Int
-// IF/Wait  IF        Wait 1    Wait 1    Wait 1    Wait 1    Wait 1    Wait 1
-//   Term A FIFOFlag
-//   LFunc  AND
-//   Term B FIFOFlag
-// Branch1  ThenIdle
-// Branch0  Else 0
-// Re-Exec  No
-// Sngl/CRC Default   Default   Default   Default   Default   Default   Default
-// BOGUS        0         0         0         0         0         0         0         0
-// CTL1         0         0         0         0         0         0         0         0
-// CTL2         0         0         0         0         0         0         0         0
-// CTL3         0         0         0         0         0         0         0         0
-// CTL4         0         0         0         0         0         0         0         0
-// CTL5         0         0         0         0         0         0         0         0
-//
-// END DO NOT EDIT
-// DO NOT EDIT ...
-//
-// GPIF Waveform 3: FIFO Wri
-//
-// Interval     0         1         2         3         4         5         6     Idle (7)
-//          _________ _________ _________ _________ _________ _________ _________ _________
-//
-// AddrMode Same Val  Same Val  Same Val  Same Val  Same Val  Same Val  Same Val
-// DataMode Activate  Activate  Activate  Activate  Activate  Activate  Activate
-// NextData SameData  SameData  SameData  SameData  SameData  SameData  SameData
-// Int Trig No Int    No Int    No Int    No Int    No Int    No Int    No Int
-// IF/Wait  IF        Wait 1    Wait 1    Wait 1    Wait 1    Wait 1    Wait 1
-//   Term A FIFOFlag
-//   LFunc  AND
-//   Term B FIFOFlag
-// Branch1  ThenIdle
-// Branch0  Else 0
-// Re-Exec  No
-// Sngl/CRC Default   Default   Default   Default   Default   Default   Default
-// BOGUS        0         0         0         0         0         0         0         0
-// CTL1         0         0         0         0         0         0         0         0
-// CTL2         0         0         0         0         0         0         0         0
-// CTL3         0         0         0         0         0         0         0         0
-// CTL4         0         0         0         0         0         0         0         0
-// CTL5         0         0         0         0         0         0         0         0
-//
-// END DO NOT EDIT
-
-// GPIF Program Code
-
-// DO NOT EDIT ...
-// #include "fx2.h"
-// #include "fx2regs.h"
-// #include "fx2sdly.h"     // SYNCDELAY macro
-// END DO NOT EDIT
-
-// DO NOT EDIT ...
-const char WaveData[128] =
-{
-// Wave 0
-/* LenBr */ 0x01,     0x01,     0x01,     0x01,     0x01,     0x01,     0x01,     0x07,
-/* Opcode*/ 0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,
-/* Output*/ 0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,
-/* LFun  */ 0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x3F,
-// Wave 1
-/* LenBr */ 0x01,     0x01,     0x01,     0x01,     0x01,     0x01,     0x01,     0x07,
-/* Opcode*/ 0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,
-/* Output*/ 0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,
-/* LFun  */ 0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x3F,
-// Wave 2
-/* LenBr */ 0x38,     0x01,     0x01,     0x01,     0x01,     0x01,     0x01,     0x07,
-/* Opcode*/ 0x03,     0x02,     0x02,     0x02,     0x02,     0x02,     0x02,     0x00,
-/* Output*/ 0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,
-/* LFun  */ 0x36,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x3F,
-// Wave 3
-/* LenBr */ 0x38,     0x01,     0x01,     0x01,     0x01,     0x01,     0x01,     0x07,
-/* Opcode*/ 0x03,     0x02,     0x02,     0x02,     0x02,     0x02,     0x02,     0x00,
-/* Output*/ 0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,
-/* LFun  */ 0x36,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x3F,
-};
-// END DO NOT EDIT
-
-// DO NOT EDIT ...
-const char FlowStates[36] =
-{
-/* Wave 0 FlowStates */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-/* Wave 1 FlowStates */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-/* Wave 2 FlowStates */ 0x80,0xED,0x00,0x00,0x00,0x00,0x03,0x02,0x00,
-/* Wave 3 FlowStates */ 0x80,0xEE,0x00,0x00,0x00,0x00,0x03,0x02,0x00,
-};
-// END DO NOT EDIT
-
-// DO NOT EDIT ...
-const char InitData[7] =
-{
-/* Regs  */ 0xA0,0x00,0x00,0x00,0xAE,0x4E,0x00
-};
-// END DO NOT EDIT
-
-// TO DO: You may add additional code below.
-
diff --git a/firmware/GN3S_v2/src/gn3s_main.adb b/firmware/GN3S_v2/src/gn3s_main.adb
deleted file mode 100644
index 0e8dc1e..0000000
--- a/firmware/GN3S_v2/src/gn3s_main.adb
+++ /dev/null
@@ -1 +0,0 @@
-M:gn3s_main
diff --git a/firmware/GN3S_v2/src/gn3s_main.c b/firmware/GN3S_v2/src/gn3s_main.c
deleted file mode 100644
index 927b654..0000000
--- a/firmware/GN3S_v2/src/gn3s_main.c
+++ /dev/null
@@ -1,344 +0,0 @@
-/* 
- * Code from: USRP - Universal Software Radio Peripheral (GNU Radio) 
- * 
- * Initial modifications by: 
- * 
- * Stephan Esterhuizen, Aerospace Engineering Sciences 
- * University of Colorado at Boulder 
- * Boulder CO, USA 
- *  
- * Further modifications for use with the SiGe USB module to accompany 
- * the textbook: "A Software-Defined GPS and Galileo Receiver: A 
- * Single-Frequency Approach" by Kai Borre, Dennis Akos, et.al. by: 
- * 
- * Marcus Junered, GNSS Research Group 
- * Lulea University of Technology 
- * Lulea, Sweden  
- * 
- * http://ccar.colorado.edu/gnss
- * 
- * --------------------------------------------------------------------- 
- * 
- * GN3S - GNSS IF Streamer for Windows 
- * Copyright (C) 2006 Marcus Junered 
- * 
- * 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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
- */ 
-
-
-#include "gn3s_main.h"
-
-
-BYTE	DB_Addr;	// Dual Byte Address stat
-BYTE	I2C_Addr;	// I2C address
-
-volatile WORD guardTick = 0;
-volatile WORD guardCnt = 0;
-
-// Set the page size to 0, so we know to calculate it on an EEPROM write
-BYTE EE_Page_Size = 0;	
-
-
-void main(void) {
-  init_usrp();
-  init_gpif();
-  init_se4110();
-  
-  TD_Init();	// Init fucntion for A9 vendor commands
-
-  EA = 0;	// disable all interrupts
-
-  setup_autovectors();
-  usb_install_handlers();
-    
-  EIEX4 = 1;   	      	// disable INT4 FIXME
-  EA = 1;           	// global interrupt enable
-
-  fx2_renumerate();	// simulates disconnect / reconnect
-
- // enable_se4110();
-  program_3w();
-  //Javi: disable capture filesize limitation
-  //hook_timer_tick((unsigned int)guardC);
- 
-  main_loop();
-}
-
-
-
-static 
-void get_ep0_data(void)
-{
-    EP0BCL = 0;	// arm EP0 for OUT xfer.  This sets the
-                // busy bit
-
-    // wait for busy to clear
-    while (EP0CS & bmEPBUSY);
-}
-
-
-/*
- * Handle our "Vendor Extension" commands on endpoint 0.
- * If we handle this one, return non-zero.
- */
-unsigned char
-app_vendor_cmd(void)
-{
-  WORD addr, len, bc;
-  WORD i;
-
-  if (bRequestType == VRT_VENDOR_IN) {
-
-	// ///////////////////////////////
-	// handle the IN requests
-	// ///////////////////////////////
-
-	switch (bRequest) {
-
-	case VRQ_GET_STATUS:
-	  switch (wIndexL) {
-
-	  case GS_RX_OVERRUN:
-		EP0BUF[0] = GPIFIDLECS>>7;
-		EP0BCH = 0;
-		EP0BCL = 1;
-		break;
-	  case GS_TX_UNDERRUN:
-		EP0BUF[0] = GPIFIDLECS>>7;
-		EP0BCH = 0;
-		EP0BCL = 1;
-		break;
-
-	  default:
-		return 0;
-	  }
-	  break;
-
-	case VRQ_DB_FX:
-	  DB_Addr = 0x01;	//TPM: need to assert double byte
-	  I2C_Addr |= 0x01;	//TPM: need to assert double byte
-	  // NOTE: This case falls through !
-	case VRQ_RAM:
-	case VRQ_EEPROM:
-	  addr = SETUPDAT[2];	// Get address and length
-	  addr |= SETUPDAT[3] << 8;
-	  len = SETUPDAT[6];
-	  len |= SETUPDAT[7] << 8;
-	  
-	  while(len)	// Move requested data through EP0IN 
-	    {	      	// one packet at a time.
-
-	      while(EP0CS & bmEPBUSY);
-
-	      if(len < EP0BUFF_SIZE)
-		bc = len;
-	      else
-		bc = EP0BUFF_SIZE;
-
-	      // Is this a RAM upload ?
-	      if(SETUPDAT[1] == VRQ_RAM)
-		{
-		  for(i=0; i<bc; i++)
-		    *(EP0BUF+i) = *((BYTE xdata *)addr+i);
-		}
-	      else
-		{
-		  for(i=0; i<bc; i++)
-		    *(EP0BUF+i) = 0xcd;
-		  EEPROMRead(addr,(WORD)bc,(WORD)EP0BUF);
-		}
-
-	      EP0BCH = 0;
-	      EP0BCL = (BYTE)bc; // Arm endpoint with # bytes to transfer
-
-	      addr += bc;
-	      len -= bc;
-
-	    }
-	  break;
-
-	default:
-	  return 0;
-	}
-  }
-
-  else if (bRequestType == VRT_VENDOR_OUT) {
-
-    // ///////////////////////////////
-    // handle the OUT requests
-    // ///////////////////////////////
-
-    switch (bRequest) {
-
-      /* Start/Stop transfer */
-    case VRQ_XFER:
-
-      /* start transfer */
-      if (wValueL) {
-        setup_flowstate_common();
-        SYNCDELAY;
-        GPIFABORT =0xff; SYNCDELAY;
-
-        GPIFTRIG = 0; SYNCDELAY;
-
-        setup_flowstate_read(); SYNCDELAY;
-        /* Stop transfer */
-        /* Zero out FIFO */
-        FIFORESET = bmNAKALL;SYNCDELAY;
-        FIFORESET = 2;SYNCDELAY;
-        FIFORESET = 6;SYNCDELAY;
-        FIFORESET = 0;SYNCDELAY;
-
-	/* Start transfer */
-        GPIFTRIG = bmGPIF_EP6_START | bmGPIF_READ; SYNCDELAY; 
-        guardCnt = GUARD;
-      }
-
-      /* stop transfer */
-      else {
-	GPIFTRIG = 0; SYNCDELAY;
-	GPIFABORT =0xff; SYNCDELAY;
-
-	/* Clear fifo */
-	FIFORESET = bmNAKALL;SYNCDELAY;
-	FIFORESET = 2;SYNCDELAY;
-	FIFORESET = 6;SYNCDELAY;
-	FIFORESET = 0;SYNCDELAY;
-    guardCnt = 0;
-      }
-
-      break;
-
-    case VRQ_DB_FX:
-      DB_Addr = 0x01;		//TPM: need to assert double byte
-      I2C_Addr |= 0x01;		//TPM: need to assert double byte
-      // NOTE: This case falls through !
-    case VRQ_RAM:
-    case VRQ_EEPROM:
-      addr = SETUPDAT[2];	// Get address and length
-      addr |= SETUPDAT[3] << 8;
-      len = SETUPDAT[6];
-      len |= SETUPDAT[7] << 8;
-      
-      // calculate the page size if we haven't already.
-      // THIS IS A DESTRUCTIVE CALL - WILL ERASE THE EEPROM
-      if (!EE_Page_Size)
-	EE_Page_Size = EEPROMGetPageSize();	// Initialize EEPROM variables
-      
-      while(len)	// Move new data through EP0OUT 
-	{		// one packet at a time.
-	  // Arm endpoint - do it here to clear (after sud avail)
-	  EP0BCH = 0;
-	  EP0BCL = 0; // Clear bytecount to allow new data in; also stops NAKing
-	  
-	  while(EP0CS & bmEPBUSY);
-	  
-	  bc = EP0BCL; // Get the new bytecount
-	      
-	  // Is this a RAM download ?
-	  if(SETUPDAT[1] == VRQ_RAM)
-	    {
-	      for(i=0; i<bc; i++)
-		*((BYTE xdata *)addr+i) = *(EP0BUF+i);
-	    }	
-	  else
-	    {
-	      for (i = 0; i < bc; )
-		{
-		  // This write is normally one page long.  Two special cases:
-		  // Starting from a non-page aligned address (addr & (EE_Page_Size - 1)) != 0
-		  // Less than a page left
-		  BYTE pageSize = EE_Page_Size;
-
-		  if (EE_Page_Size != 1)
-		    {
-		      if (((addr+i) & (EE_Page_Size - 1)) != 0)
-			pageSize = EE_Page_Size - ((addr+i) & (EE_Page_Size - 1));
-		      if (bc-i < pageSize)
-			pageSize = bc-i;
-		    }
-
-		  EEPROMWritePage(addr+i, EP0BUF+i, pageSize);
-		  i+= pageSize;
-		}
-	    }
-
-	  addr += bc;
-	  len -= bc;
-	}
-      break;
-
-    default:
-      return 0;
-    }
-  }
-  else
-    return 0;	// invalid bRequestType
-
-  return 1;
-}
-
-
-void guardC(void) interrupt {
-	if(guardCnt)
-		guardTick = 1;
-    clear_timer_irq();
-}
-
-static void main_loop(void) 
-{
-  setup_flowstate_common();
-  SYNCDELAY;	
-
-
-  while (1) {
-    // We don't do much, GPIF is running on autopilot
-
-    if (_usb_got_SUDAV) {
-      usb_handle_setup_packet();
-      _usb_got_SUDAV = 0;
-    }
-    
-   //Javi: Disable capture filesize limitation 
-   /*
-    if (guardTick && guardCnt) {
-      guardTick = 0;
-			
-      if(!(--guardCnt)) {
-        GPIFTRIG = 0; SYNCDELAY;
-        GPIFABORT =0xff; SYNCDELAY;
-        FIFORESET = bmNAKALL;SYNCDELAY;
-        FIFORESET = 2;SYNCDELAY;
-        FIFORESET = 6;SYNCDELAY;
-        FIFORESET = 0;SYNCDELAY;
-      }
-    }
-   */
-
-  }
-}
-
-void TD_Init(void)	// Called once at startup
-{
-  //Rwuen = TRUE;	// Enable remote-wakeup
-  // Set the page size to 0, so we know to calculate it on an EEPROM write
-  EE_Page_Size = 0;           
-
-  // Determine I2C boot eeprom device address; addr = 0x0 for 8 bit addr eeproms (24LC00)
-  I2C_Addr = SERIAL_ADDR | ((I2CS & 0x10) >> 4); // addr=0x01 for 16 bit addr eeprom (LC65)
-  
-  // Indicate if it is a dual byte address part (BOOL)
-  DB_Addr = (I2C_Addr & 0x01); // ID1 is 16 bit addr bit - set by rocker sw or jumper
-}
diff --git a/firmware/GN3S_v2/src/gn3s_se4120.c b/firmware/GN3S_v2/src/gn3s_se4120.c
deleted file mode 100644
index ffb108d..0000000
--- a/firmware/GN3S_v2/src/gn3s_se4120.c
+++ /dev/null
@@ -1,114 +0,0 @@
-/* 
- * Code from: USRP - Universal Software Radio Peripheral (GNU Radio) 
- * 
- * Initial modifications by: 
- * 
- * Stephan Esterhuizen, Aerospace Engineering Sciences 
- * University of Colorado at Boulder 
- * Boulder CO, USA 
- *  
- * Further modifications for use with the SiGe USB module to accompany 
- * the textbook: "A Software-Defined GPS and Galileo Receiver: A 
- * Single-Frequency Approach" by Kai Borre, Dennis Akos, et.al. by: 
- * 
- * Marcus Junered, GNSS Research Group 
- * Lulea University of Technology 
- * Lulea, Sweden  
- * junered at ltu.se 
- * 
- *Futher modified for usage with a new frontend PCB 
- * by Oscar Isoz GNSS Research Group 
- * Lulea University of Technology 
- * Lulea, Sweden 
- * --------------------------------------------------------------------- 
- * 
- * GN3S - GNSS IF Streamer for Windows 
- * Copyright (C) 2006 Marcus Junered 
- * 
- * 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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
- */ 
- 
- 
-#include "gn3s_se4110.h"
-
-static unsigned short idx = 0;
-
-
-char init_se4110(void)
-{
-
-  /* D1,D5-D7 are inputs */
-IOD = 0xff;
-OED = 0xff;  
- // OED = 0x1D; 	// Set Port D as outputs, except ADC_DOUT 
-
-  /* Set all "config" ports */
-  A0 = 1; 	
-  A1 = 0; 	
-  A2 = 0; 	
-  A3 = 1; 	
-  A4 = 0;	
-  A5 = 0;	
-  A7 = 1; 	
-  
-  OEA = 0xBF; 	// Set Port A as output
-
-  return 0;
-}
-
-
-short fifo_status() {
-  return idx;
-}
-
-
-
-char program_3w(void) 
-{
-  char i;
-  char by0, by1;
-	by0 =0x18;
-	by1 =0xA4;
-
-  OEA = 0xFF;
-
-  A3 = 0;
-
-  A0 = 0;
-
-    for (i=7; i>=0; i--) {
-      A1 = (by1 >> i) & 0x1;
-      A2 = 1;
-      A2 = 0;
-    }
-
-
-  /* Latch Enable */
-  A0 = 1;
-  A0 = 0;
-
-    for (i=7; i>=0; i--) {
-      A1 = (by0 >> i) & 0x1;
-      A2 = 1;
-      A2 = 0;
-    }
-  
-  /* Latch Enable */
-  A0 = 1;
-
-  OEA = 0xB9;
-
-  return 0;
-}
diff --git a/firmware/GN3S_v2/src/gpif.c b/firmware/GN3S_v2/src/gpif.c
deleted file mode 100644
index c4053f1..0000000
--- a/firmware/GN3S_v2/src/gpif.c
+++ /dev/null
@@ -1,292 +0,0 @@
-// This program configures the General Programmable Interface (GPIF) for FX2.     
-// Please do not modify sections of text which are marked as "DO NOT EDIT ...". 
-//                                                                                
-// DO NOT EDIT ...                  
-// GPIF Initialization              
-// Interface Timing      Async        
-// Internal Ready Init   IntRdy=1     
-// CTL Out Tristate-able Binary       
-// SingleWrite WF Select     1     
-// SingleRead WF Select      0     
-// FifoWrite WF Select       3     
-// FifoRead WF Select        2     
-// Data Bus Idle Drive   Tristate     
-// END DO NOT EDIT                  
-                                    
-// DO NOT EDIT ...       
-// GPIF Wave Names       
-// Wave 0   = Single R     
-// Wave 1   = Single W     
-// Wave 2   = FIFO Rea     
-// Wave 3   = FIFO Wri     
-                         
-// GPIF Ctrl Outputs   Level   
-// CTL 0    = BOGUS    CMOS        
-// CTL 1    = CTL1     CMOS        
-// CTL 2    = CTL2     CMOS        
-// CTL 3    = CTL3     CMOS        
-// CTL 4    = CTL4     CMOS        
-// CTL 5    = CTL5     CMOS        
-                               
-// GPIF Rdy Inputs         
-// RDY0     = ADC_CLK        
-// RDY1     = RDY1           
-// RDY2     = RDY2           
-// RDY3     = RDY3           
-// RDY4     = RDY4           
-// RDY5     = TCXpire        
-// FIFOFlag = FIFOFlag       
-// IntReady = IntReady       
-// END DO NOT EDIT         
-// DO NOT EDIT ...                                                                         
-//                                                                                         
-// GPIF Waveform 0: Single R                                                                
-//                                                                                         
-// Interval     0         1         2         3         4         5         6     Idle (7) 
-//          _________ _________ _________ _________ _________ _________ _________ _________
-//                                                                                         
-// AddrMode Same Val  Same Val  Same Val  Same Val  Same Val  Same Val  Same Val           
-// DataMode NO Data   NO Data   NO Data   NO Data   NO Data   NO Data   NO Data            
-// NextData SameData  SameData  SameData  SameData  SameData  SameData  SameData           
-// Int Trig No Int    No Int    No Int    No Int    No Int    No Int    No Int             
-// IF/Wait  Wait 1    Wait 1    Wait 1    Wait 1    Wait 1    Wait 1    Wait 1             
-//   Term A                                                                                
-//   LFunc                                                                                 
-//   Term B                                                                                
-// Branch1                                                                                 
-// Branch0                                                                                 
-// Re-Exec                                                                                 
-// Sngl/CRC Default   Default   Default   Default   Default   Default   Default            
-// BOGUS        0         0         0         0         0         0         0         0    
-// CTL1         0         0         0         0         0         0         0         0    
-// CTL2         0         0         0         0         0         0         0         0    
-// CTL3         0         0         0         0         0         0         0         0    
-// CTL4         0         0         0         0         0         0         0         0    
-// CTL5         0         0         0         0         0         0         0         0    
-//                     
-// END DO NOT EDIT     
-// DO NOT EDIT ...                                                                         
-//                                                                                         
-// GPIF Waveform 1: Single W                                                                
-//                                                                                         
-// Interval     0         1         2         3         4         5         6     Idle (7) 
-//          _________ _________ _________ _________ _________ _________ _________ _________
-//                                                                                         
-// AddrMode Same Val  Same Val  Same Val  Same Val  Same Val  Same Val  Same Val           
-// DataMode NO Data   NO Data   NO Data   NO Data   NO Data   NO Data   NO Data            
-// NextData SameData  SameData  SameData  SameData  SameData  SameData  SameData           
-// Int Trig No Int    No Int    No Int    No Int    No Int    No Int    No Int             
-// IF/Wait  Wait 1    Wait 1    Wait 1    Wait 1    Wait 1    Wait 1    Wait 1             
-//   Term A                                                                                
-//   LFunc                                                                                 
-//   Term B                                                                                
-// Branch1                                                                                 
-// Branch0                                                                                 
-// Re-Exec                                                                                 
-// Sngl/CRC Default   Default   Default   Default   Default   Default   Default            
-// BOGUS        0         0         0         0         0         0         0         0    
-// CTL1         0         0         0         0         0         0         0         0    
-// CTL2         0         0         0         0         0         0         0         0    
-// CTL3         0         0         0         0         0         0         0         0    
-// CTL4         0         0         0         0         0         0         0         0    
-// CTL5         0         0         0         0         0         0         0         0    
-//                     
-// END DO NOT EDIT     
-// DO NOT EDIT ...                                                                         
-//                                                                                         
-// GPIF Waveform 2: FIFO Rea                                                                
-//                                                                                         
-// Interval     0         1         2         3         4         5         6     Idle (7) 
-//          _________ _________ _________ _________ _________ _________ _________ _________
-//                                                                                         
-// AddrMode Same Val  Same Val  Same Val  Same Val  Same Val  Same Val  Same Val           
-// DataMode Activate  Activate  Activate  Activate  Activate  Activate  Activate           
-// NextData SameData  SameData  SameData  SameData  SameData  SameData  SameData           
-// Int Trig No Int    No Int    No Int    No Int    No Int    No Int    No Int             
-// IF/Wait  IF        Wait 1    Wait 1    Wait 1    Wait 1    Wait 1    Wait 1             
-//   Term A FIFOFlag                                                                       
-//   LFunc  AND                                                                            
-//   Term B FIFOFlag                                                                       
-// Branch1  ThenIdle                                                                       
-// Branch0  Else 0                                                                         
-// Re-Exec  No                                                                             
-// Sngl/CRC Default   Default   Default   Default   Default   Default   Default            
-// BOGUS        0         0         0         0         0         0         0         0    
-// CTL1         0         0         0         0         0         0         0         0    
-// CTL2         0         0         0         0         0         0         0         0    
-// CTL3         0         0         0         0         0         0         0         0    
-// CTL4         0         0         0         0         0         0         0         0    
-// CTL5         0         0         0         0         0         0         0         0    
-//                     
-// END DO NOT EDIT     
-// DO NOT EDIT ...                                                                         
-//                                                                                         
-// GPIF Waveform 3: FIFO Wri                                                                
-//                                                                                         
-// Interval     0         1         2         3         4         5         6     Idle (7) 
-//          _________ _________ _________ _________ _________ _________ _________ _________
-//                                                                                         
-// AddrMode Same Val  Same Val  Same Val  Same Val  Same Val  Same Val  Same Val           
-// DataMode Activate  Activate  Activate  Activate  Activate  Activate  Activate           
-// NextData SameData  SameData  SameData  SameData  SameData  SameData  SameData           
-// Int Trig No Int    No Int    No Int    No Int    No Int    No Int    No Int             
-// IF/Wait  IF        Wait 1    Wait 1    Wait 1    Wait 1    Wait 1    Wait 1             
-//   Term A FIFOFlag                                                                       
-//   LFunc  AND                                                                            
-//   Term B FIFOFlag                                                                       
-// Branch1  ThenIdle                                                                       
-// Branch0  Else 0                                                                         
-// Re-Exec  No                                                                             
-// Sngl/CRC Default   Default   Default   Default   Default   Default   Default            
-// BOGUS        0         0         0         0         0         0         0         0    
-// CTL1         0         0         0         0         0         0         0         0    
-// CTL2         0         0         0         0         0         0         0         0    
-// CTL3         0         0         0         0         0         0         0         0    
-// CTL4         0         0         0         0         0         0         0         0    
-// CTL5         0         0         0         0         0         0         0         0    
-//                     
-// END DO NOT EDIT     
-                                              
-// GPIF Program Code                          
-                                              
-// DO NOT EDIT ...                            
-#include "fx2.h"                            
-#include "fx2regs.h"                        
-#include "fx2sdly.h"     // SYNCDELAY macro 
-// END DO NOT EDIT                            
-                                              
-// DO NOT EDIT ...                     
-const char xdata WaveData[128] =     
-{                                      
-// Wave 0 
-/* LenBr */ 0x01,     0x01,     0x01,     0x01,     0x01,     0x01,     0x01,     0x07,
-/* Opcode*/ 0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,
-/* Output*/ 0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,
-/* LFun  */ 0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x3F,
-// Wave 1 
-/* LenBr */ 0x01,     0x01,     0x01,     0x01,     0x01,     0x01,     0x01,     0x07,
-/* Opcode*/ 0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,
-/* Output*/ 0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,
-/* LFun  */ 0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x3F,
-// Wave 2 
-/* LenBr */ 0x38,     0x01,     0x01,     0x01,     0x01,     0x01,     0x01,     0x07,
-/* Opcode*/ 0x03,     0x02,     0x02,     0x02,     0x02,     0x02,     0x02,     0x00,
-/* Output*/ 0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,
-/* LFun  */ 0x36,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x3F,
-// Wave 3 
-/* LenBr */ 0x38,     0x01,     0x01,     0x01,     0x01,     0x01,     0x01,     0x07,
-/* Opcode*/ 0x03,     0x02,     0x02,     0x02,     0x02,     0x02,     0x02,     0x00,
-/* Output*/ 0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,
-/* LFun  */ 0x36,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x3F,
-};                     
-// END DO NOT EDIT     
-                       
-// DO NOT EDIT ...                     
-const char xdata FlowStates[36] =   
-{                                      
-/* Wave 0 FlowStates */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-/* Wave 1 FlowStates */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-/* Wave 2 FlowStates */ 0x80,0xED,0x00,0x00,0x00,0x00,0x03,0x02,0x00,
-/* Wave 3 FlowStates */ 0x80,0xEE,0x00,0x00,0x00,0x00,0x03,0x02,0x00,
-};                     
-// END DO NOT EDIT     
-                       
-// DO NOT EDIT ...                                               
-const char xdata InitData[7] =                                   
-{                                                                
-/* Regs  */ 0xA0,0x00,0x00,0x00,0xAE,0x4E,0x00     
-};                                                               
-// END DO NOT EDIT                                               
-                                                                 
-// TO DO: You may add additional code below.
-
-void GpifInit( void )
-{
-  BYTE i;
- 
-  // Registers which require a synchronization delay, see section 15.14
-  // FIFORESET        FIFOPINPOLAR
-  // INPKTEND         OUTPKTEND
-  // EPxBCH:L         REVCTL
-  // GPIFTCB3         GPIFTCB2
-  // GPIFTCB1         GPIFTCB0
-  // EPxFIFOPFH:L     EPxAUTOINLENH:L
-  // EPxFIFOCFG       EPxGPIFFLGSEL
-  // PINFLAGSxx       EPxFIFOIRQ
-  // EPxFIFOIE        GPIFIRQ
-  // GPIFIE           GPIFADRH:L
-  // UDMACRCH:L       EPxGPIFTRIG
-  // GPIFTRIG
-  
-  // Note: The pre-REVE EPxGPIFTCH/L register are affected, as well...
-  //      ...these have been replaced by GPIFTC[B3:B0] registers
- 
-  // 8051 doesn't have access to waveform memories 'til
-  // the part is in GPIF mode.
- 
-  IFCONFIG = 0xAE;
-  // IFCLKSRC=1   , FIFOs executes on internal clk source
-  // xMHz=1       , 48MHz internal clk rate
-  // IFCLKOE=0    , Don't drive IFCLK pin signal at 48MHz
-  // IFCLKPOL=0   , Don't invert IFCLK pin signal from internal clk
-  // ASYNC=1      , master samples asynchronous
-  // GSTATE=1     , Drive GPIF states out on PORTE[2:0], debug WF
-  // IFCFG[1:0]=10, FX2 in GPIF master mode
- 
-  GPIFABORT = 0xFF;  // abort any waveforms pending
- 
-  GPIFREADYCFG = InitData[ 0 ];
-  GPIFCTLCFG = InitData[ 1 ];
-  GPIFIDLECS = InitData[ 2 ];
-  GPIFIDLECTL = InitData[ 3 ];
-  GPIFWFSELECT = InitData[ 5 ];
-  GPIFREADYSTAT = InitData[ 6 ];
- 
-  // use dual autopointer feature... 
-  AUTOPTRSETUP = 0x07;          // inc both pointers, 
-                                // ...warning: this introduces pdata hole(s)
-                                // ...at E67B (XAUTODAT1) and E67C (XAUTODAT2)
-  
-  // source
-  AUTOPTRH1 = MSB( &WaveData );
-  AUTOPTRL1 = LSB( &WaveData );
-  
-  // destination
-  AUTOPTRH2 = 0xE4;
-  AUTOPTRL2 = 0x00;
- 
-  // transfer
-  for ( i = 0x00; i < 128; i++ )
-  {
-    EXTAUTODAT2 = EXTAUTODAT1;
-  }
- 
-// Configure GPIF Address pins, output initial value,
-  PORTCCFG = 0xFF;    // [7:0] as alt. func. GPIFADR[7:0]
-  OEC = 0xFF;         // and as outputs
-  PORTECFG |= 0x80;   // [8] as alt. func. GPIFADR[8]
-  OEE |= 0x80;        // and as output
- 
-// ...OR... tri-state GPIFADR[8:0] pins
-//  PORTCCFG = 0x00;  // [7:0] as port I/O
-//  OEC = 0x00;       // and as inputs
-//  PORTECFG &= 0x7F; // [8] as port I/O
-//  OEE &= 0x7F;      // and as input
- 
-// GPIF address pins update when GPIFADRH/L written
-  SYNCDELAY;                    // 
-  GPIFADRH = 0x00;    // bits[7:1] always 0
-  SYNCDELAY;                    // 
-  GPIFADRL = 0x00;    // point to PERIPHERAL address 0x0000
- 
-// Configure GPIF FlowStates registers for Wave 0 of WaveData
-  FLOWSTATE = FlowStates[ 0 ];
-  FLOWLOGIC = FlowStates[ 1 ];
-  FLOWEQ0CTL = FlowStates[ 2 ];
-  FLOWEQ1CTL = FlowStates[ 3 ];
-  FLOWHOLDOFF = FlowStates[ 4 ];
-  FLOWSTB = FlowStates[ 5 ];
-  FLOWSTBEDGE = FlowStates[ 6 ];
-  FLOWSTBHPERIOD = FlowStates[ 7 ];
-}
- 
diff --git a/firmware/GN3S_v2/src/gpif.gpf b/firmware/GN3S_v2/src/gpif.gpf
deleted file mode 100644
index 131d0ff..0000000
Binary files a/firmware/GN3S_v2/src/gpif.gpf and /dev/null differ
diff --git a/firmware/GN3S_v2/src/init_gpif.c b/firmware/GN3S_v2/src/init_gpif.c
deleted file mode 100644
index 3480410..0000000
--- a/firmware/GN3S_v2/src/init_gpif.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * USRP - Universal Software Radio Peripheral
- *
- * Copyright (C) 2003 Free Software Foundation, Inc.
- *
- * 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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-
-#include "usrp_common.h"
-
-// These are the tables generated by the Cypress GPIF Designer
-
-extern const char WaveData[128];
-extern const char FlowStates[36];
-extern const char InitData[7];
-
-// The tool is kind of screwed up, in that it doesn't configure some
-// of the ports correctly.  We just use their tables and handle the
-// initialization ourselves.  They also declare that their static
-// initialized data is in xdata, which screws us too.
-
-void
-init_gpif(void)
-{
-    // we've already setup IFCONFIG before calling this...
-
-    GPIFABORT = 0xFF;           // abort any waveforms pending
-    SYNCDELAY;
-
-    GPIFREADYCFG = InitData[0];
-    GPIFCTLCFG = InitData[1];
-    GPIFIDLECS = InitData[2];
-    GPIFIDLECTL = InitData[3];
-    // Hmmm, what's InitData[ 4 ] ...
-    GPIFWFSELECT = InitData[5];
-    // GPIFREADYSTAT = InitData[ 6 ]; // I think this register is read
-    // only...
-
-    {
-        BYTE            i;
-
-        for (i = 0; i < 128; i++) {
-            GPIF_WAVE_DATA[i] = WaveData[i];
-        }
-    }
-
-    FLOWSTATE = 0;              /* ensure it's off */
-}
diff --git a/firmware/GN3S_v2/src/readme.txt b/firmware/GN3S_v2/src/readme.txt
deleted file mode 100644
index 9c43ec1..0000000
--- a/firmware/GN3S_v2/src/readme.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-
- - please note that modifying/enabling firmware can result in an inoperable board, proceed with caution
diff --git a/firmware/GN3S_v2/src/tags b/firmware/GN3S_v2/src/tags
deleted file mode 100644
index bdbb6c9..0000000
--- a/firmware/GN3S_v2/src/tags
+++ /dev/null
@@ -1,3004 +0,0 @@
-!_TAG_FILE_FORMAT	2	/extended format; --format=1 will not append ;" to lines/
-!_TAG_FILE_SORTED	1	/0=unsorted, 1=sorted, 2=foldcase/
-!_TAG_PROGRAM_AUTHOR	Darren Hiebert	/dhiebert at users.sourceforge.net/
-!_TAG_PROGRAM_NAME	Exuberant Ctags	//
-!_TAG_PROGRAM_URL	http://ctags.sourceforge.net	/official site/
-!_TAG_PROGRAM_VERSION	5.5.4	//
-AC	../include/fx2regs.h	/^         sbit at 0xD0+6 AC;$/;"	v
-ACC	../include/fx2regs.h	/^sfr at 0xE0 ACC;$/;"	v
-ALLOCATE_EXTERN	../include/fx2regs.h	41;"	d
-ALLOCATE_EXTERN	../include/radar_rev1_regs.h	31;"	d
-APTR1H	../include/fx2regs.h	/^sfr at 0x9A APTR1H;$/;"	v
-APTR1L	../include/fx2regs.h	/^sfr at 0x9B APTR1L;$/;"	v
-AUTODAT1	../include/fx2regs.h	/^sfr at 0x9C AUTODAT1; $/;"	v
-AUTODAT2	../include/fx2regs.h	/^sfr at 0x9F AUTODAT2;$/;"	v
-AUTOPTRH1	../include/fx2regs.h	396;"	d
-AUTOPTRH2	../include/fx2regs.h	/^sfr at 0x9D AUTOPTRH2;$/;"	v
-AUTOPTRL1	../include/fx2regs.h	397;"	d
-AUTOPTRL2	../include/fx2regs.h	/^sfr at 0x9E AUTOPTRL2; $/;"	v
-AUTOPTRSETUP	../include/fx2regs.h	/^sfr at 0xAF AUTOPTRSETUP;$/;"	v
-B	../include/fx2regs.h	/^sfr at 0xF0 B;$/;"	v
-BPADDRH	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE606) volatile BYTE BPADDRH           ;  \/\/ Breakpoint Address H$/;"	v
-BPADDRL	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE607) volatile BYTE BPADDRL           ;  \/\/ Breakpoint Address L$/;"	v
-BREAKPT	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE605) volatile BYTE BREAKPT           ;  \/\/ Breakpoint$/;"	v
-BYTE	../include/fx2regs.h	/^typedef unsigned char BYTE;$/;"	t
-CC	../lib/Makefile	/^CC=sdcc -mmcs51 --no-xinit-opt$/;"	m
-CC	../src/Makefile	/^CC=sdcc -mmcs51 --no-xinit-opt$/;"	m
-CKCON	../include/fx2regs.h	/^sfr at 0x8E CKCON;$/;"	v
-CLRERRCNT	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE665) volatile BYTE CLRERRCNT         ;  \/\/ Clear Error Counter EC[3..0]$/;"	v
-CPUCS	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE600) volatile BYTE CPUCS             ;  \/\/ Control & Status$/;"	v
-CP_RL2	../include/fx2regs.h	/^	 sbit at 0xC8+0 CP_RL2;$/;"	v
-CT1	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6FB) volatile BYTE CT1               ;  \/\/ Chirp Test--Override$/;"	v
-CT2	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6FC) volatile BYTE CT2               ;  \/\/ Chirp Test--FSM$/;"	v
-CT3	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6FD) volatile BYTE CT3               ;  \/\/ Chirp Test--Control Signals$/;"	v
-CT4	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6FE) volatile BYTE CT4               ;  \/\/ Chirp Test--Inputs$/;"	v
-CY	../include/fx2regs.h	/^         sbit at 0xD0+7 CY;$/;"	v
-C_T2	../include/fx2regs.h	/^	 sbit at 0xC8+1 C_T2;$/;"	v
-DBUG	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6F8) volatile BYTE DBUG              ;  \/\/ Debug$/;"	v
-DPH	../include/fx2regs.h	/^sfr at 0x83 DPH;$/;"	v
-DPH1	../include/fx2regs.h	/^sfr at 0x85 DPH1;$/;"	v
-DPL	../include/fx2regs.h	/^sfr at 0x82 DPL;$/;"	v
-DPL1	../include/fx2regs.h	/^sfr at 0x84 DPL1;$/;"	v
-DPS	../include/fx2regs.h	/^sfr at 0x86 DPS;$/;"	v
-DT_CONFIG	../include/usb_requests.h	68;"	d
-DT_DEVICE	../include/usb_requests.h	67;"	d
-DT_DEVQUAL	../include/usb_requests.h	72;"	d
-DT_ENDPOINT	../include/usb_requests.h	71;"	d
-DT_INTERFACE	../include/usb_requests.h	70;"	d
-DT_INTERFACE_POWER	../include/usb_requests.h	74;"	d
-DT_OTHER_SPEED	../include/usb_requests.h	73;"	d
-DT_STRING	../include/usb_requests.h	69;"	d
-EA	../include/fx2regs.h	/^         sbit at 0xA8+7 EA;$/;"	v
-EI2C	../include/fx2regs.h	/^         sbit at 0xE8+1 EI2C;$/;"	v
-EICON	../include/fx2regs.h	/^sfr at 0xD8 EICON; \/\/ Was WDCON in DS80C320 EICON; Bit Values differ from Reg320$/;"	v
-EIE	../include/fx2regs.h	/^sfr at 0xE8 EIE; \/\/ EIE Bit Values differ from Reg320$/;"	v
-EIEX4	../include/fx2regs.h	/^         sbit at 0xE8+2 EIEX4;$/;"	v
-EIEX5	../include/fx2regs.h	/^         sbit at 0xE8+3 EIEX5;$/;"	v
-EIEX6	../include/fx2regs.h	/^         sbit at 0xE8+4 EIEX6;$/;"	v
-EIP	../include/fx2regs.h	/^sfr at 0xF8 EIP; \/\/ EIP Bit Values differ from Reg320$/;"	v
-EIPX4	../include/fx2regs.h	/^         sbit at 0xF8+2 EIPX4;$/;"	v
-EIPX5	../include/fx2regs.h	/^         sbit at 0xF8+3 EIPX5;$/;"	v
-EIPX6	../include/fx2regs.h	/^         sbit at 0xF8+4 EIPX6;$/;"	v
-EIUSB	../include/fx2regs.h	/^         sbit at 0xE8+0 EIUSB;$/;"	v
-EP01STAT	../include/fx2regs.h	/^sfr at 0xBA EP01STAT;$/;"	v
-EP0BCH	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE68A) volatile BYTE EP0BCH            ;  \/\/ Endpoint 0 Byte Count H$/;"	v
-EP0BCL	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE68B) volatile BYTE EP0BCL            ;  \/\/ Endpoint 0 Byte Count L$/;"	v
-EP0BUF	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE740) volatile BYTE EP0BUF[64]        ;  \/\/ EP0 IN-OUT buffer$/;"	v
-EP0CS	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6A0) volatile BYTE EP0CS             ;  \/\/ Endpoint  Control and Status$/;"	v
-EP1INBC	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE68F) volatile BYTE EP1INBC           ;  \/\/ Endpoint 1 IN Byte Count$/;"	v
-EP1INBUF	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE7C0) volatile BYTE EP1INBUF[64]      ;  \/\/ EP1-IN buffer$/;"	v
-EP1INCFG	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE611) volatile BYTE EP1INCFG          ;  \/\/ Endpoint 1-IN Configuration$/;"	v
-EP1INCS	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6A2) volatile BYTE EP1INCS           ;  \/\/ Endpoint 1 IN Control and Status$/;"	v
-EP1OUTBC	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE68D) volatile BYTE EP1OUTBC          ;  \/\/ Endpoint 1 OUT Byte Count$/;"	v
-EP1OUTBUF	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE780) volatile BYTE EP1OUTBUF[64]     ;  \/\/ EP1-OUT buffer$/;"	v
-EP1OUTCFG	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE610) volatile BYTE EP1OUTCFG         ;  \/\/ Endpoint 1-OUT Configuration$/;"	v
-EP1OUTCS	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6A1) volatile BYTE EP1OUTCS          ;  \/\/ Endpoint 1 OUT Control and Status$/;"	v
-EP2468STAT	../include/fx2regs.h	/^sfr at 0xAA EP2468STAT;$/;"	v
-EP24FIFOFLGS	../include/fx2regs.h	/^sfr at 0xAB EP24FIFOFLGS;$/;"	v
-EP2AUTOINLENH	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE620) volatile BYTE EP2AUTOINLENH     ;  \/\/ Endpoint 2 Packet Length H (IN only)$/;"	v
-EP2AUTOINLENL	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE621) volatile BYTE EP2AUTOINLENL     ;  \/\/ Endpoint 2 Packet Length L (IN only)$/;"	v
-EP2BCH	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE690) volatile BYTE EP2BCH            ;  \/\/ Endpoint 2 Byte Count H$/;"	v
-EP2BCL	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE691) volatile BYTE EP2BCL            ;  \/\/ Endpoint 2 Byte Count L$/;"	v
-EP2CFG	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE612) volatile BYTE EP2CFG            ;  \/\/ Endpoint 2 Configuration$/;"	v
-EP2CS	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6A3) volatile BYTE EP2CS             ;  \/\/ Endpoint 2 Control and Status$/;"	v
-EP2FIFOBCH	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6AB) volatile BYTE EP2FIFOBCH        ;  \/\/ EP2 FIFO total byte count H$/;"	v
-EP2FIFOBCL	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6AC) volatile BYTE EP2FIFOBCL        ;  \/\/ EP2 FIFO total byte count L$/;"	v
-EP2FIFOBUF	../include/fx2regs.h	/^EXTERN xdata _AT_(0xF000) volatile BYTE EP2FIFOBUF[1024]  ;  \/\/ 512\/1024-byte EP2 buffer (IN or OUT)$/;"	v
-EP2FIFOCFG	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE618) volatile BYTE EP2FIFOCFG        ;  \/\/ Endpoint 2 FIFO configuration$/;"	v
-EP2FIFOFLGS	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6A7) volatile BYTE EP2FIFOFLGS       ;  \/\/ Endpoint 2 Flags$/;"	v
-EP2FIFOIE	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE650) volatile BYTE EP2FIFOIE         ;  \/\/ Endpoint 2 Flag Interrupt Enable$/;"	v
-EP2FIFOIRQ	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE651) volatile BYTE EP2FIFOIRQ        ;  \/\/ Endpoint 2 Flag Interrupt Request$/;"	v
-EP2FIFOPFH	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE630) volatile BYTE EP2FIFOPFH        ;  \/\/ EP2 Programmable Flag trigger H$/;"	v
-EP2FIFOPFL	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE631) volatile BYTE EP2FIFOPFL        ;  \/\/ EP2 Programmable Flag trigger L$/;"	v
-EP2GPIFFLGSEL	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6D2) volatile BYTE EP2GPIFFLGSEL     ;  \/\/ EP2 GPIF Flag select$/;"	v
-EP2GPIFPFSTOP	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6D3) volatile BYTE EP2GPIFPFSTOP     ;  \/\/ Stop GPIF EP2 transaction on prog. flag$/;"	v
-EP2GPIFTCH	../include/fx2regs.h	233;"	d
-EP2GPIFTCL	../include/fx2regs.h	234;"	d
-EP2GPIFTRIG	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6D4) volatile BYTE EP2GPIFTRIG       ;  \/\/ EP2 FIFO Trigger$/;"	v
-EP2ISOINPKTS	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE640) volatile BYTE EP2ISOINPKTS      ;  \/\/ EP2 (if ISO) IN Packets per frame (1-3)$/;"	v
-EP4AUTOINLENH	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE622) volatile BYTE EP4AUTOINLENH     ;  \/\/ Endpoint 4 Packet Length H (IN only)$/;"	v
-EP4AUTOINLENL	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE623) volatile BYTE EP4AUTOINLENL     ;  \/\/ Endpoint 4 Packet Length L (IN only)$/;"	v
-EP4BCH	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE694) volatile BYTE EP4BCH            ;  \/\/ Endpoint 4 Byte Count H$/;"	v
-EP4BCL	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE695) volatile BYTE EP4BCL            ;  \/\/ Endpoint 4 Byte Count L$/;"	v
-EP4CFG	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE613) volatile BYTE EP4CFG            ;  \/\/ Endpoint 4 Configuration$/;"	v
-EP4CS	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6A4) volatile BYTE EP4CS             ;  \/\/ Endpoint 4 Control and Status$/;"	v
-EP4FIFOBCH	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6AD) volatile BYTE EP4FIFOBCH        ;  \/\/ EP4 FIFO total byte count H$/;"	v
-EP4FIFOBCL	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6AE) volatile BYTE EP4FIFOBCL        ;  \/\/ EP4 FIFO total byte count L$/;"	v
-EP4FIFOBUF	../include/fx2regs.h	/^EXTERN xdata _AT_(0xF400) volatile BYTE EP4FIFOBUF[1024]  ;  \/\/ 512 byte EP4 buffer (IN or OUT)$/;"	v
-EP4FIFOCFG	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE619) volatile BYTE EP4FIFOCFG        ;  \/\/ Endpoint 4 FIFO configuration$/;"	v
-EP4FIFOFLGS	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6A8) volatile BYTE EP4FIFOFLGS       ;  \/\/ Endpoint 4 Flags$/;"	v
-EP4FIFOIE	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE652) volatile BYTE EP4FIFOIE         ;  \/\/ Endpoint 4 Flag Interrupt Enable$/;"	v
-EP4FIFOIRQ	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE653) volatile BYTE EP4FIFOIRQ        ;  \/\/ Endpoint 4 Flag Interrupt Request$/;"	v
-EP4FIFOPFH	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE632) volatile BYTE EP4FIFOPFH        ;  \/\/ EP4 Programmable Flag trigger H$/;"	v
-EP4FIFOPFL	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE633) volatile BYTE EP4FIFOPFL        ;  \/\/ EP4 Programmable Flag trigger L$/;"	v
-EP4GPIFFLGSEL	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6DA) volatile BYTE EP4GPIFFLGSEL     ;  \/\/ EP4 GPIF Flag select$/;"	v
-EP4GPIFPFSTOP	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6DB) volatile BYTE EP4GPIFPFSTOP     ;  \/\/ Stop GPIF EP4 transaction on prog. flag$/;"	v
-EP4GPIFTCH	../include/fx2regs.h	235;"	d
-EP4GPIFTCL	../include/fx2regs.h	236;"	d
-EP4GPIFTRIG	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6DC) volatile BYTE EP4GPIFTRIG       ;  \/\/ EP4 FIFO Trigger$/;"	v
-EP4ISOINPKTS	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE641) volatile BYTE EP4ISOINPKTS      ;  \/\/ EP4 (if ISO) IN Packets per frame (1-3)$/;"	v
-EP68FIFOFLGS	../include/fx2regs.h	/^sfr at 0xAC EP68FIFOFLGS;$/;"	v
-EP6AUTOINLENH	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE624) volatile BYTE EP6AUTOINLENH     ;  \/\/ Endpoint 6 Packet Length H (IN only)$/;"	v
-EP6AUTOINLENL	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE625) volatile BYTE EP6AUTOINLENL     ;  \/\/ Endpoint 6 Packet Length L (IN only)$/;"	v
-EP6BCH	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE698) volatile BYTE EP6BCH            ;  \/\/ Endpoint 6 Byte Count H$/;"	v
-EP6BCL	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE699) volatile BYTE EP6BCL            ;  \/\/ Endpoint 6 Byte Count L$/;"	v
-EP6CFG	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE614) volatile BYTE EP6CFG            ;  \/\/ Endpoint 6 Configuration$/;"	v
-EP6CS	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6A5) volatile BYTE EP6CS             ;  \/\/ Endpoint 6 Control and Status$/;"	v
-EP6FIFOBCH	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6AF) volatile BYTE EP6FIFOBCH        ;  \/\/ EP6 FIFO total byte count H$/;"	v
-EP6FIFOBCL	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6B0) volatile BYTE EP6FIFOBCL        ;  \/\/ EP6 FIFO total byte count L$/;"	v
-EP6FIFOBUF	../include/fx2regs.h	/^EXTERN xdata _AT_(0xF800) volatile BYTE EP6FIFOBUF[1024]  ;  \/\/ 512\/1024-byte EP6 buffer (IN or OUT)$/;"	v
-EP6FIFOCFG	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE61A) volatile BYTE EP6FIFOCFG        ;  \/\/ Endpoint 6 FIFO configuration$/;"	v
-EP6FIFOFLGS	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6A9) volatile BYTE EP6FIFOFLGS       ;  \/\/ Endpoint 6 Flags$/;"	v
-EP6FIFOIE	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE654) volatile BYTE EP6FIFOIE         ;  \/\/ Endpoint 6 Flag Interrupt Enable$/;"	v
-EP6FIFOIRQ	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE655) volatile BYTE EP6FIFOIRQ        ;  \/\/ Endpoint 6 Flag Interrupt Request$/;"	v
-EP6FIFOPFH	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE634) volatile BYTE EP6FIFOPFH        ;  \/\/ EP6 Programmable Flag trigger H$/;"	v
-EP6FIFOPFL	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE635) volatile BYTE EP6FIFOPFL        ;  \/\/ EP6 Programmable Flag trigger L$/;"	v
-EP6GPIFFLGSEL	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6E2) volatile BYTE EP6GPIFFLGSEL     ;  \/\/ EP6 GPIF Flag select$/;"	v
-EP6GPIFPFSTOP	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6E3) volatile BYTE EP6GPIFPFSTOP     ;  \/\/ Stop GPIF EP6 transaction on prog. flag$/;"	v
-EP6GPIFTCH	../include/fx2regs.h	237;"	d
-EP6GPIFTCL	../include/fx2regs.h	238;"	d
-EP6GPIFTRIG	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6E4) volatile BYTE EP6GPIFTRIG       ;  \/\/ EP6 FIFO Trigger$/;"	v
-EP6ISOINPKTS	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE642) volatile BYTE EP6ISOINPKTS      ;  \/\/ EP6 (if ISO) IN Packets per frame (1-3)$/;"	v
-EP8AUTOINLENH	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE626) volatile BYTE EP8AUTOINLENH     ;  \/\/ Endpoint 8 Packet Length H (IN only)$/;"	v
-EP8AUTOINLENL	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE627) volatile BYTE EP8AUTOINLENL     ;  \/\/ Endpoint 8 Packet Length L (IN only)$/;"	v
-EP8BCH	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE69C) volatile BYTE EP8BCH            ;  \/\/ Endpoint 8 Byte Count H$/;"	v
-EP8BCL	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE69D) volatile BYTE EP8BCL            ;  \/\/ Endpoint 8 Byte Count L$/;"	v
-EP8CFG	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE615) volatile BYTE EP8CFG            ;  \/\/ Endpoint 8 Configuration$/;"	v
-EP8CS	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6A6) volatile BYTE EP8CS             ;  \/\/ Endpoint 8 Control and Status$/;"	v
-EP8FIFOBCH	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6B1) volatile BYTE EP8FIFOBCH        ;  \/\/ EP8 FIFO total byte count H$/;"	v
-EP8FIFOBCL	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6B2) volatile BYTE EP8FIFOBCL        ;  \/\/ EP8 FIFO total byte count L$/;"	v
-EP8FIFOBUF	../include/fx2regs.h	/^EXTERN xdata _AT_(0xFC00) volatile BYTE EP8FIFOBUF[1024]  ;  \/\/ 512 byte EP8 buffer (IN or OUT)$/;"	v
-EP8FIFOCFG	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE61B) volatile BYTE EP8FIFOCFG        ;  \/\/ Endpoint 8 FIFO configuration$/;"	v
-EP8FIFOFLGS	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6AA) volatile BYTE EP8FIFOFLGS       ;  \/\/ Endpoint 8 Flags$/;"	v
-EP8FIFOIE	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE656) volatile BYTE EP8FIFOIE         ;  \/\/ Endpoint 8 Flag Interrupt Enable$/;"	v
-EP8FIFOIRQ	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE657) volatile BYTE EP8FIFOIRQ        ;  \/\/ Endpoint 8 Flag Interrupt Request$/;"	v
-EP8FIFOPFH	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE636) volatile BYTE EP8FIFOPFH        ;  \/\/ EP8 Programmable Flag trigger H$/;"	v
-EP8FIFOPFL	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE637) volatile BYTE EP8FIFOPFL        ;  \/\/ EP8 Programmable Flag trigger L$/;"	v
-EP8GPIFFLGSEL	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6EA) volatile BYTE EP8GPIFFLGSEL     ;  \/\/ EP8 GPIF Flag select$/;"	v
-EP8GPIFPFSTOP	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6EB) volatile BYTE EP8GPIFPFSTOP     ;  \/\/ Stop GPIF EP8 transaction on prog. flag$/;"	v
-EP8GPIFTCH	../include/fx2regs.h	239;"	d
-EP8GPIFTCL	../include/fx2regs.h	240;"	d
-EP8GPIFTRIG	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6EC) volatile BYTE EP8GPIFTRIG       ;  \/\/ EP8 FIFO Trigger$/;"	v
-EP8ISOINPKTS	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE643) volatile BYTE EP8ISOINPKTS      ;  \/\/ EP8 (if ISO) IN Packets per frame (1-3)$/;"	v
-EPIE	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE65E) volatile BYTE EPIE              ;  \/\/ Endpoint Interrupt Enables$/;"	v
-EPIRQ	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE65F) volatile BYTE EPIRQ             ;  \/\/ Endpoint Interrupt Requests$/;"	v
-ERESI	../include/fx2regs.h	/^         sbit at 0xD8+5 ERESI;$/;"	v
-ERRCNTLIM	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE664) volatile BYTE ERRCNTLIM         ;  \/\/ USB Error counter and limit$/;"	v
-ES0	../include/fx2regs.h	/^         sbit at 0xA8+4 ES0;$/;"	v
-ES1	../include/fx2regs.h	/^         sbit at 0xA8+6 ES1;$/;"	v
-ET0	../include/fx2regs.h	/^         sbit at 0xA8+1 ET0;$/;"	v
-ET1	../include/fx2regs.h	/^         sbit at 0xA8+3 ET1;$/;"	v
-ET2	../include/fx2regs.h	/^         sbit at 0xA8+5 ET2;$/;"	v
-EX0	../include/fx2regs.h	/^         sbit at 0xA8+0 EX0;$/;"	v
-EX1	../include/fx2regs.h	/^         sbit at 0xA8+2 EX1;$/;"	v
-EXEN2	../include/fx2regs.h	/^         sbit at 0xC8+3 EXEN2;$/;"	v
-EXF2	../include/fx2regs.h	/^         sbit at 0xC8+6 EXF2;$/;"	v
-EXIF	../include/fx2regs.h	/^sfr at 0x91 EXIF; \/\/ EXIF Bit Values differ from Reg320$/;"	v
-EXTAUTODAT1	../include/fx2regs.h	167;"	d
-EXTAUTODAT2	../include/fx2regs.h	168;"	d
-EXTERN	../include/fx2regs.h	305;"	d
-EXTERN	../include/fx2regs.h	65;"	d
-EXTERN	../include/fx2regs.h	68;"	d
-EXTERN	../include/radar_rev1_regs.h	34;"	d
-EXTERN	../include/radar_rev1_regs.h	37;"	d
-F0	../include/fx2regs.h	/^         sbit at 0xD0+5 F0;$/;"	v
-FALSE	../include/usrp_common.h	63;"	d
-FGV_EP2EF	../include/isr.h	113;"	d
-FGV_EP2FF	../include/isr.h	117;"	d
-FGV_EP2PF	../include/isr.h	109;"	d
-FGV_EP4EF	../include/isr.h	114;"	d
-FGV_EP4FF	../include/isr.h	118;"	d
-FGV_EP4PF	../include/isr.h	110;"	d
-FGV_EP6EF	../include/isr.h	115;"	d
-FGV_EP6FF	../include/isr.h	119;"	d
-FGV_EP6PF	../include/isr.h	111;"	d
-FGV_EP8EF	../include/isr.h	116;"	d
-FGV_EP8FF	../include/isr.h	120;"	d
-FGV_EP8PF	../include/isr.h	112;"	d
-FGV_GPIFDONE	../include/isr.h	121;"	d
-FGV_GPIFWF	../include/isr.h	122;"	d
-FGV_MAX	../include/isr.h	125;"	d
-FGV_MIN	../include/isr.h	124;"	d
-FIFOPINPOLAR	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE609) volatile BYTE FIFOPINPOLAR      ;  \/\/ FIFO polarities$/;"	v
-FIFORESET	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE604) volatile BYTE FIFORESET         ;  \/\/ Restore FIFOS to default state$/;"	v
-FL	../include/fx2regs.h	/^         sbit at 0xD0+1 FL;$/;"	v
-FLOWEQ0CTL	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6C8) volatile BYTE FLOWEQ0CTL        ; \/\/CTL states during active flow state$/;"	v
-FLOWEQ1CTL	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6C9) volatile BYTE FLOWEQ1CTL        ; \/\/CTL states during hold flow state$/;"	v
-FLOWHOLDOFF	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6CA) volatile BYTE FLOWHOLDOFF       ;$/;"	v
-FLOWLOGIC	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6C7) volatile BYTE FLOWLOGIC         ; \/\/Defines flow\/hold decision criteria$/;"	v
-FLOWSTATE	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6C6) volatile BYTE FLOWSTATE         ; \/\/Defines GPIF flow state$/;"	v
-FLOWSTB	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6CB) volatile BYTE FLOWSTB           ; \/\/CTL\/RDY Signal to use as master data strobe $/;"	v
-FLOWSTBEDGE	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6CC) volatile BYTE FLOWSTBEDGE       ; \/\/Defines active master strobe edge$/;"	v
-FLOWSTBHPERIOD	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6CD) volatile BYTE FLOWSTBHPERIOD    ; \/\/Half Period of output master strobe$/;"	v
-FL_BEGIN	../include/usrp_commands.h	60;"	d
-FL_END	../include/usrp_commands.h	62;"	d
-FL_XFER	../include/usrp_commands.h	61;"	d
-FNADDR	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE687) volatile BYTE FNADDR            ;  \/\/ USB Function address$/;"	v
-FS_DEV_REMOTE_WAKEUP	../include/usb_requests.h	79;"	d
-FS_ENDPOINT_HALT	../include/usb_requests.h	78;"	d
-FS_TEST_MODE	../include/usb_requests.h	80;"	d
-FX2REGS_H	../include/fx2regs.h	39;"	d
-FlowStates	../src/gpif.c	/^const char xdata FlowStates[36] =   $/;"	v
-FlowStates	../src/gpif2.c	/^const char xdata FlowStates[36] =   $/;"	v
-FlowStates	../src/radar_gpif.c	/^const char FlowStates[36] =$/;"	v
-FlowStates	../src/radar_gpif2.c	/^const char FlowStates[36] =$/;"	v
-GPIFABORT	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6F5) volatile BYTE GPIFABORT         ;  \/\/ Abort GPIF cycles$/;"	v
-GPIFADRH	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6C4) volatile BYTE GPIFADRH          ;  \/\/ GPIF Address H$/;"	v
-GPIFADRL	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6C5) volatile BYTE GPIFADRL          ;  \/\/ GPIF Address L$/;"	v
-GPIFCTLCFG	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6C3) volatile BYTE GPIFCTLCFG        ;  \/\/ CTL OUT pin drive$/;"	v
-GPIFHOLDAMOUNT	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE60C) volatile BYTE GPIFHOLDAMOUNT    ; \/\/Data delay shift $/;"	v
-GPIFIDLECS	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6C1) volatile BYTE GPIFIDLECS        ;  \/\/ GPIF Done, GPIF IDLE drive mode$/;"	v
-GPIFIDLECTL	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6C2) volatile BYTE GPIFIDLECTL       ;  \/\/ Inactive Bus, CTL states$/;"	v
-GPIFIE	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE660) volatile BYTE GPIFIE            ;  \/\/ GPIF Interrupt Enable$/;"	v
-GPIFIRQ	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE661) volatile BYTE GPIFIRQ           ;  \/\/ GPIF Interrupt Request$/;"	v
-GPIFREADYCFG	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6F3) volatile BYTE GPIFREADYCFG      ;  \/\/ Internal RDY,Sync\/Async, RDY5CFG$/;"	v
-GPIFREADYSTAT	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6F4) volatile BYTE GPIFREADYSTAT     ;  \/\/ RDY pin states$/;"	v
-GPIFSGLDATH	../include/fx2regs.h	/^sfr at 0xBD GPIFSGLDATH;$/;"	v
-GPIFSGLDATLNOX	../include/fx2regs.h	/^sfr at 0xBF GPIFSGLDATLNOX;$/;"	v
-GPIFSGLDATLX	../include/fx2regs.h	/^sfr at 0xBE GPIFSGLDATLX;$/;"	v
-GPIFTCB0	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6D1) volatile BYTE GPIFTCB0          ;  \/\/ GPIF Transaction Count Byte 0$/;"	v
-GPIFTCB1	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6D0) volatile BYTE GPIFTCB1          ;  \/\/ GPIF Transaction Count Byte 1$/;"	v
-GPIFTCB2	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6CF) volatile BYTE GPIFTCB2          ;  \/\/ GPIF Transaction Count Byte 2$/;"	v
-GPIFTCB3	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6CE) volatile BYTE GPIFTCB3          ;  \/\/ GPIF Transaction Count Byte 3$/;"	v
-GPIFTRIG	../include/fx2regs.h	/^sfr at 0xBB GPIFTRIG;$/;"	v
-GPIFWFSELECT	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6C0) volatile BYTE GPIFWFSELECT      ;  \/\/ Waveform Selector$/;"	v
-GPIF_WAVE_DATA	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE400) volatile BYTE GPIF_WAVE_DATA[128];$/;"	v
-GS_RX_OVERRUN	../include/usrp_commands.h	46;"	d
-GS_TX_UNDERRUN	../include/usrp_commands.h	45;"	d
-GpifInit	../src/gpif.c	/^void GpifInit( void )$/;"	f
-GpifInit	../src/gpif2.c	/^void GpifInit( void )$/;"	f
-I2CS	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE678) volatile BYTE I2CS              ;  \/\/ Control & Status$/;"	v
-I2CTL	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE67A) volatile BYTE I2CTL             ;  \/\/ I2C Control$/;"	v
-I2DAT	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE679) volatile BYTE I2DAT             ;  \/\/ Data$/;"	v
-IBNIE	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE658) volatile BYTE IBNIE             ;  \/\/ IN-BULK-NAK Interrupt Enable$/;"	v
-IBNIRQ	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE659) volatile BYTE IBNIRQ            ;  \/\/ IN-BULK-NAK interrupt Request$/;"	v
-IE	../include/fx2regs.h	/^sfr at 0xA8 IE;$/;"	v
-IE0	../include/fx2regs.h	/^         sbit at 0x88+1 IE0;$/;"	v
-IE1	../include/fx2regs.h	/^         sbit at 0x88+3 IE1;$/;"	v
-IFCONFIG	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE601) volatile BYTE IFCONFIG          ;  \/\/ Interface Configuration$/;"	v
-INCLUDES	../lib/Makefile	/^INCLUDES=-I..\/include\/$/;"	m
-INCLUDES	../src/Makefile	/^INCLUDES=-I..\/include\/$/;"	m
-INPKTEND	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE648) volatile BYTE INPKTEND          ;  \/\/ Force IN Packet End$/;"	v
-INT2CLR	../include/fx2regs.h	/^sfr at 0xA1 INT2CLR;$/;"	v
-INT2IVEC	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE666) volatile BYTE INT2IVEC          ;  \/\/ Interupt 2 (USB) Autovector$/;"	v
-INT4CLR	../include/fx2regs.h	/^sfr at 0xA2 INT4CLR;$/;"	v
-INT4IVEC	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE667) volatile BYTE INT4IVEC          ;  \/\/ Interupt 4 (FIFOS & GPIF) Autovector$/;"	v
-INT6	../include/fx2regs.h	/^         sbit at 0xD8+3 INT6;$/;"	v
-INTSETUP	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE668) volatile BYTE INTSETUP          ;  \/\/ Interrupt 2&4 Setup$/;"	v
-IOA	../include/fx2regs.h	/^sfr at 0x80 IOA;$/;"	v
-IOB	../include/fx2regs.h	/^sfr at 0x90 IOB;$/;"	v
-IOC	../include/fx2regs.h	/^sfr at 0xA0 IOC;$/;"	v
-IOD	../include/fx2regs.h	/^sfr at 0xB0 IOD;$/;"	v
-IOE	../include/fx2regs.h	/^sfr at 0xB1 IOE;$/;"	v
-IP	../include/fx2regs.h	/^sfr at 0xB8 IP;$/;"	v
-IT0	../include/fx2regs.h	/^         sbit at 0x88+0 IT0;$/;"	v
-IT1	../include/fx2regs.h	/^         sbit at 0x88+2 IT1;$/;"	v
-InitData	../src/gpif.c	/^const char xdata InitData[7] =                                   $/;"	v
-InitData	../src/gpif2.c	/^const char xdata InitData[7] =                                   $/;"	v
-InitData	../src/radar_gpif.c	/^const char InitData[7] =$/;"	v
-InitData	../src/radar_gpif2.c	/^const char InitData[7] =$/;"	v
-LED0_OFF	../include/radar_rev1_regs.h	/^xdata _AT_(0x8100) volatile unsigned char LED0_OFF;$/;"	v
-LED0_ON	../include/radar_rev1_regs.h	/^xdata _AT_(0x8000) volatile unsigned char LED0_ON;$/;"	v
-LED1_OFF	../include/radar_rev1_regs.h	/^xdata _AT_(0x9100) volatile unsigned char LED1_OFF;$/;"	v
-LED1_ON	../include/radar_rev1_regs.h	/^xdata _AT_(0x9000) volatile unsigned char LED1_ON;$/;"	v
-LED2_OFF	../include/radar_rev1_regs.h	/^xdata _AT_(0xA100) volatile unsigned char LED2_OFF;$/;"	v
-LED2_ON	../include/radar_rev1_regs.h	/^xdata _AT_(0xA000) volatile unsigned char LED2_ON;$/;"	v
-LED3_OFF	../include/radar_rev1_regs.h	/^xdata _AT_(0xB100) volatile unsigned char LED3_OFF;$/;"	v
-LED3_ON	../include/radar_rev1_regs.h	/^xdata _AT_(0xB000) volatile unsigned char LED3_ON;$/;"	v
-LJMP_OPCODE	../lib/isr.c	31;"	d	file:
-LSB	../lib/usb_common.c	49;"	d	file:
-MAX_EP0_PKTSIZE	../include/usrp_commands.h	25;"	d
-MICROFRAME	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE686) volatile BYTE MICROFRAME        ;  \/\/ Microframe count, 0-7$/;"	v
-MPAGE	../include/fx2regs.h	/^sfr at 0x92 MPAGE;$/;"	v
-MSB	../lib/usb_common.c	48;"	d	file:
-NAKIE	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE65A) volatile BYTE NAKIE             ;  \/\/ Endpoint Ping NAK interrupt Enable$/;"	v
-NAKIRQ	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE65B) volatile BYTE NAKIRQ            ;  \/\/ Endpoint Ping NAK interrupt Request$/;"	v
-NOP	../include/syncdelay.h	62;"	d
-OEA	../include/fx2regs.h	/^sfr at 0xB2 OEA;$/;"	v
-OEB	../include/fx2regs.h	/^sfr at 0xB3 OEB;$/;"	v
-OEC	../include/fx2regs.h	/^sfr at 0xB4 OEC;$/;"	v
-OED	../include/fx2regs.h	/^sfr at 0xB5 OED;$/;"	v
-OEE	../include/fx2regs.h	/^sfr at 0xB6 OEE;$/;"	v
-OUTPKTEND	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE649) volatile BYTE OUTPKTEND         ;  \/\/ Force OUT Packet End$/;"	v
-OV	../include/fx2regs.h	/^         sbit at 0xD0+2 OV;$/;"	v
-P	../include/fx2regs.h	/^         sbit at 0xD0+0 P;$/;"	v
-PCON	../include/fx2regs.h	/^sfr at 0x87 PCON;   \/*  PCON  *\/$/;"	v
-PI2C	../include/fx2regs.h	/^         sbit at 0xF8+1 PI2C;$/;"	v
-PINFLAGSAB	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE602) volatile BYTE PINFLAGSAB        ;  \/\/ FIFO FLAGA and FLAGB Assignments$/;"	v
-PINFLAGSCD	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE603) volatile BYTE PINFLAGSCD        ;  \/\/ FIFO FLAGC and FLAGD Assignments$/;"	v
-PORTACFG	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE670) volatile BYTE PORTACFG          ;  \/\/ I\/O PORTA Alternate Configuration$/;"	v
-PORTCCFG	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE671) volatile BYTE PORTCCFG          ;  \/\/ I\/O PORTC Alternate Configuration$/;"	v
-PORTECFG	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE672) volatile BYTE PORTECFG          ;  \/\/ I\/O PORTE Alternate Configuration$/;"	v
-PS0	../include/fx2regs.h	/^         sbit at 0xB8+4 PS0;$/;"	v
-PS1	../include/fx2regs.h	/^         sbit at 0xB8+6 PS1;$/;"	v
-PSW	../include/fx2regs.h	/^sfr at 0xD0 PSW;$/;"	v
-PT0	../include/fx2regs.h	/^         sbit at 0xB8+1 PT0;$/;"	v
-PT1	../include/fx2regs.h	/^         sbit at 0xB8+3 PT1;$/;"	v
-PT2	../include/fx2regs.h	/^         sbit at 0xB8+5 PT2;$/;"	v
-PUSB	../include/fx2regs.h	/^         sbit at 0xF8+0 PUSB;$/;"	v
-PX0	../include/fx2regs.h	/^         sbit at 0xB8+0 PX0;$/;"	v
-PX1	../include/fx2regs.h	/^         sbit at 0xB8+2 PX1;$/;"	v
-RB8	../include/fx2regs.h	/^         sbit at 0x98+2 RB8;$/;"	v
-RB81	../include/fx2regs.h	/^         sbit at 0xC0+2 RB81;$/;"	v
-RCAP2H	../include/fx2regs.h	/^sfr at 0xCB RCAP2H;$/;"	v
-RCAP2L	../include/fx2regs.h	/^sfr at 0xCA RCAP2L;$/;"	v
-RCLK	../include/fx2regs.h	/^         sbit at 0xC8+5 RCLK;$/;"	v
-RELOAD_VALUE	../lib/timer.c	36;"	d	file:
-REN	../include/fx2regs.h	/^         sbit at 0x98+4 REN;$/;"	v
-REN1	../include/fx2regs.h	/^         sbit at 0xC0+4 REN1;$/;"	v
-RESI	../include/fx2regs.h	/^         sbit at 0xD8+4 RESI;$/;"	v
-RES_WAVEDATA_END	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE480) volatile BYTE RES_WAVEDATA_END  ;$/;"	v
-REVCTL	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE60B) volatile BYTE REVCTL            ;  \/\/ Chip Revision Control$/;"	v
-REVID	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE60A) volatile BYTE REVID             ;  \/\/ Chip Revision$/;"	v
-RI	../include/fx2regs.h	/^         sbit at 0x98+0 RI;$/;"	v
-RI1	../include/fx2regs.h	/^         sbit at 0xC0+0 RI1;$/;"	v
-RQ_CLEAR_FEATURE	../include/usb_requests.h	52;"	d
-RQ_GET_CONFIG	../include/usb_requests.h	59;"	d
-RQ_GET_DESCR	../include/usb_requests.h	57;"	d
-RQ_GET_INTERFACE	../include/usb_requests.h	61;"	d
-RQ_GET_STATUS	../include/usb_requests.h	51;"	d
-RQ_RESERVED_2	../include/usb_requests.h	53;"	d
-RQ_RESERVED_4	../include/usb_requests.h	55;"	d
-RQ_SET_ADDRESS	../include/usb_requests.h	56;"	d
-RQ_SET_CONFIG	../include/usb_requests.h	60;"	d
-RQ_SET_DESCR	../include/usb_requests.h	58;"	d
-RQ_SET_FEATURE	../include/usb_requests.h	54;"	d
-RQ_SET_INTERFACE	../include/usb_requests.h	62;"	d
-RQ_SYNCH_FRAME	../include/usb_requests.h	63;"	d
-RS0	../include/fx2regs.h	/^         sbit at 0xD0+3 RS0;$/;"	v
-RS1	../include/fx2regs.h	/^         sbit at 0xD0+4 RS1;$/;"	v
-SBUF0	../include/fx2regs.h	/^sfr at 0x99 SBUF0;$/;"	v
-SBUF1	../include/fx2regs.h	/^sfr at 0xC1 SBUF1;$/;"	v
-SCON0	../include/fx2regs.h	/^sfr at 0x98 SCON0;$/;"	v
-SCON1	../include/fx2regs.h	/^sfr at 0xC0 SCON1;$/;"	v
-SEL	../include/fx2regs.h	/^         sbit at 0x86+0 SEL;$/;"	v
-SETUPDAT	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6B8) volatile BYTE SETUPDAT[8]       ;  \/\/ 8 bytes of SETUP data$/;"	v
-SLEEP_ADC0	../include/usrp_commands.h	73;"	d
-SLEEP_ADC1	../include/usrp_commands.h	74;"	d
-SLEEP_DAC0	../include/usrp_commands.h	75;"	d
-SLEEP_DAC1	../include/usrp_commands.h	76;"	d
-SM0	../include/fx2regs.h	/^         sbit at 0x98+7 SM0;$/;"	v
-SM01	../include/fx2regs.h	/^         sbit at 0xC0+7 SM01;$/;"	v
-SM1	../include/fx2regs.h	/^         sbit at 0x98+6 SM1;$/;"	v
-SM11	../include/fx2regs.h	/^         sbit at 0xC0+6 SM11;$/;"	v
-SM2	../include/fx2regs.h	/^         sbit at 0x98+5 SM2;$/;"	v
-SM21	../include/fx2regs.h	/^         sbit at 0xC0+5 SM21;$/;"	v
-SMOD1	../include/fx2regs.h	/^         sbit at 0xD8+7 SMOD1;$/;"	v
-SP	../include/fx2regs.h	/^sfr at 0x81 SP;$/;"	v
-SUDPTRCTL	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6B5) volatile BYTE SUDPTRCTL         ;  \/\/ Setup Data Pointer Auto Mode$/;"	v
-SUDPTRH	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6B3) volatile BYTE SUDPTRH           ;  \/\/ Setup Data Pointer high address byte$/;"	v
-SUDPTRL	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6B4) volatile BYTE SUDPTRL           ;  \/\/ Setup Data Pointer low address byte$/;"	v
-SUSPEND	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE681) volatile BYTE SUSPEND           ;  \/\/ Put chip into suspend$/;"	v
-SV_I2C	../include/isr.h	57;"	d
-SV_INT_0	../include/isr.h	48;"	d
-SV_INT_1	../include/isr.h	50;"	d
-SV_INT_2	../include/isr.h	56;"	d
-SV_INT_4	../include/isr.h	58;"	d
-SV_INT_5	../include/isr.h	59;"	d
-SV_INT_6	../include/isr.h	60;"	d
-SV_MAX	../include/isr.h	63;"	d
-SV_MIN	../include/isr.h	62;"	d
-SV_RESUME	../include/isr.h	54;"	d
-SV_SERIAL_0	../include/isr.h	52;"	d
-SV_SERIAL_1	../include/isr.h	55;"	d
-SV_TIMER_0	../include/isr.h	49;"	d
-SV_TIMER_1	../include/isr.h	51;"	d
-SV_TIMER_2	../include/isr.h	53;"	d
-SYNCDELAY	../include/syncdelay.h	61;"	d
-T2CON	../include/fx2regs.h	/^sfr at 0xC8 T2CON;$/;"	v
-TB8	../include/fx2regs.h	/^         sbit at 0x98+3 TB8;$/;"	v
-TB81	../include/fx2regs.h	/^         sbit at 0xC0+3 TB81;$/;"	v
-TCLK	../include/fx2regs.h	/^         sbit at 0xC8+4 TCLK;$/;"	v
-TCON	../include/fx2regs.h	/^sfr at 0x88 TCON;$/;"	v
-TESTCFG	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6F9) volatile BYTE TESTCFG           ;  \/\/ Test configuration$/;"	v
-TF0	../include/fx2regs.h	/^         sbit at 0x88+5 TF0;$/;"	v
-TF1	../include/fx2regs.h	/^         sbit at 0x88+7 TF1;$/;"	v
-TF2	../include/fx2regs.h	/^         sbit at 0xC8+7 TF2;$/;"	v
-TH0	../include/fx2regs.h	/^sfr at 0x8C TH0;$/;"	v
-TH1	../include/fx2regs.h	/^sfr at 0x8D TH1;$/;"	v
-TH2	../include/fx2regs.h	/^sfr at 0xCD TH2;$/;"	v
-TI	../include/fx2regs.h	/^         sbit at 0x98+1 TI;$/;"	v
-TI1	../include/fx2regs.h	/^         sbit at 0xC0+1 TI1;$/;"	v
-TL0	../include/fx2regs.h	/^sfr at 0x8A TL0;$/;"	v
-TL1	../include/fx2regs.h	/^sfr at 0x8B TL1;$/;"	v
-TL2	../include/fx2regs.h	/^sfr at 0xCC TL2;$/;"	v
-TMOD	../include/fx2regs.h	/^sfr at 0x89 TMOD;$/;"	v
-TOGCTL	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE683) volatile BYTE TOGCTL            ;  \/\/ Toggle Control$/;"	v
-TR0	../include/fx2regs.h	/^         sbit at 0x88+4 TR0;$/;"	v
-TR1	../include/fx2regs.h	/^         sbit at 0x88+6 TR1;$/;"	v
-TR2	../include/fx2regs.h	/^         sbit at 0xC8+2 TR2;$/;"	v
-TRUE	../include/usrp_common.h	62;"	d
-UART230	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE608) volatile BYTE UART230           ;  \/\/ 230 Kbaud clock for T0,T1,T2$/;"	v
-UDMACRCH	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE67D) volatile BYTE UDMACRCH          ; \/\/CRC Upper byte$/;"	v
-UDMACRCL	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE67E) volatile BYTE UDMACRCL          ; \/\/CRC Lower byte$/;"	v
-UDMACRCQUAL	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE67F) volatile BYTE UDMACRCQUAL       ; \/\/UDMA In only, host terminated use only$/;"	v
-USBCS	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE680) volatile BYTE USBCS             ;  \/\/ USB Control & Status$/;"	v
-USBDESCSEG	../src/Makefile	/^	$(CC) $(INCLUDES) --code-loc 0x0000 --code-size 0x1800 --xram-loc 0x1800 --xram-size 0x0800 -Wl '-b USBDESCSEG = 0xE000' -L ..\/lib libfx2.lib -o radar_firmware.ihx vectors.rel radar_main.rel usrp_common.rel init_gpif.rel radar_gpif2.rel usb_descriptors.rel _startup.rel$/;"	m
-USBERRIE	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE662) volatile BYTE USBERRIE          ;  \/\/ USB Error Interrupt Enables$/;"	v
-USBERRIRQ	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE663) volatile BYTE USBERRIRQ         ;  \/\/ USB Error Interrupt Requests$/;"	v
-USBFRAMEH	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE684) volatile BYTE USBFRAMEH         ;  \/\/ USB Frame count H$/;"	v
-USBFRAMEL	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE685) volatile BYTE USBFRAMEL         ;  \/\/ USB Frame count L$/;"	v
-USBIE	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE65C) volatile BYTE USBIE             ;  \/\/ USB Int Enables$/;"	v
-USBIRQ	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE65D) volatile BYTE USBIRQ            ;  \/\/ USB Interrupt Requests$/;"	v
-USBTEST	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6FA) volatile BYTE USBTEST           ;  \/\/ USB Test Modes$/;"	v
-USRP_HASH_SLOT_0_ADDR	../include/usrp_commands.h	92;"	d
-USRP_HASH_SLOT_1_ADDR	../include/usrp_commands.h	93;"	d
-USRP_LED_REG	../include/radar_rev1_regs.h	74;"	d
-UV_EP0ACK	../include/isr.h	75;"	d
-UV_EP0IN	../include/isr.h	77;"	d
-UV_EP0OUT	../include/isr.h	78;"	d
-UV_EP0PINGNAK	../include/isr.h	87;"	d
-UV_EP1IN	../include/isr.h	79;"	d
-UV_EP1OUT	../include/isr.h	80;"	d
-UV_EP1PINGNAK	../include/isr.h	88;"	d
-UV_EP2	../include/isr.h	81;"	d
-UV_EP2ISOERR	../include/isr.h	97;"	d
-UV_EP2PINGNAK	../include/isr.h	89;"	d
-UV_EP4	../include/isr.h	82;"	d
-UV_EP4ISOERR	../include/isr.h	98;"	d
-UV_EP4PINGNAK	../include/isr.h	90;"	d
-UV_EP6	../include/isr.h	83;"	d
-UV_EP6ISOERR	../include/isr.h	99;"	d
-UV_EP6PINGNAK	../include/isr.h	91;"	d
-UV_EP8	../include/isr.h	84;"	d
-UV_EP8ISOERR	../include/isr.h	100;"	d
-UV_EP8PINGNAK	../include/isr.h	92;"	d
-UV_ERRLIMIT	../include/isr.h	93;"	d
-UV_HIGHSPEED	../include/isr.h	74;"	d
-UV_IBN	../include/isr.h	85;"	d
-UV_MAX	../include/isr.h	103;"	d
-UV_MIN	../include/isr.h	102;"	d
-UV_SOF	../include/isr.h	70;"	d
-UV_SPARE_1C	../include/isr.h	76;"	d
-UV_SPARE_44	../include/isr.h	86;"	d
-UV_SPARE_64	../include/isr.h	94;"	d
-UV_SPARE_68	../include/isr.h	95;"	d
-UV_SPARE_6C	../include/isr.h	96;"	d
-UV_SUDAV	../include/isr.h	69;"	d
-UV_SUSPEND	../include/isr.h	72;"	d
-UV_SUTOK	../include/isr.h	71;"	d
-UV_USBRESET	../include/isr.h	73;"	d
-VRQ_FPGA_LOAD	../include/usrp_commands.h	59;"	d
-VRQ_FPGA_SET_RESET	../include/usrp_commands.h	66;"	d
-VRQ_FPGA_SET_RX_ENABLE	../include/usrp_commands.h	68;"	d
-VRQ_FPGA_SET_RX_RESET	../include/usrp_commands.h	86;"	d
-VRQ_FPGA_SET_TX_ENABLE	../include/usrp_commands.h	67;"	d
-VRQ_FPGA_SET_TX_RESET	../include/usrp_commands.h	85;"	d
-VRQ_FPGA_WRITE_REG	../include/usrp_commands.h	65;"	d
-VRQ_GET_STATUS	../include/usrp_commands.h	44;"	d
-VRQ_I2C_READ	../include/usrp_commands.h	48;"	d
-VRQ_I2C_WRITE	../include/usrp_commands.h	78;"	d
-VRQ_SET_LED	../include/usrp_commands.h	57;"	d
-VRQ_SET_SLEEP_BITS	../include/usrp_commands.h	71;"	d
-VRQ_SPI_READ	../include/usrp_commands.h	50;"	d
-VRQ_SPI_WRITE	../include/usrp_commands.h	80;"	d
-VRT_VENDOR_IN	../include/usrp_commands.h	31;"	d
-VRT_VENDOR_OUT	../include/usrp_commands.h	32;"	d
-WAKEUPCS	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE682) volatile BYTE WAKEUPCS          ;  \/\/ Wakeup source and polarity$/;"	v
-WORD	../include/fx2regs.h	/^typedef unsigned short WORD;$/;"	t
-WaveData	../src/gpif.c	/^const char xdata WaveData[128] =     $/;"	v
-WaveData	../src/gpif2.c	/^const char xdata WaveData[128] =     $/;"	v
-WaveData	../src/radar_gpif.c	/^const char WaveData[128] =$/;"	v
-WaveData	../src/radar_gpif2.c	/^const char WaveData[128] =$/;"	v
-XAUTODAT1	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE67B) volatile BYTE XAUTODAT1         ;  \/\/ Autoptr1 MOVX access$/;"	v
-XAUTODAT2	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE67C) volatile BYTE XAUTODAT2         ;  \/\/ Autoptr2 MOVX access$/;"	v
-XGPIFSGLDATH	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6F0) volatile BYTE XGPIFSGLDATH      ;  \/\/ GPIF Data H (16-bit mode only)$/;"	v
-XGPIFSGLDATLNOX	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6F2) volatile BYTE XGPIFSGLDATLNOX   ;  \/\/ Read GPIF Data L, no transac trigger$/;"	v
-XGPIFSGLDATLX	../include/fx2regs.h	/^EXTERN xdata _AT_(0xE6F1) volatile BYTE XGPIFSGLDATLX     ;  \/\/ Read\/Write GPIF Data L & trigger transac$/;"	v
-_AC	../lib/fx2utils.asm	/^_AC	=	0x00d6$/;"	d
-_AC	../lib/isr.asm	/^_AC	=	0x00d6$/;"	d
-_AC	../lib/timer.asm	/^_AC	=	0x00d6$/;"	d
-_AC	../lib/usb_common.asm	/^_AC	=	0x00d6$/;"	d
-_AC	../src/init_gpif.asm	/^_AC	=	0x00d6$/;"	d
-_AC	../src/radar_main.asm	/^_AC	=	0x00d6$/;"	d
-_AC	../src/usrp_common.asm	/^_AC	=	0x00d6$/;"	d
-_ACC	../lib/fx2utils.asm	/^_ACC	=	0x00e0$/;"	d
-_ACC	../lib/isr.asm	/^_ACC	=	0x00e0$/;"	d
-_ACC	../lib/timer.asm	/^_ACC	=	0x00e0$/;"	d
-_ACC	../lib/usb_common.asm	/^_ACC	=	0x00e0$/;"	d
-_ACC	../src/init_gpif.asm	/^_ACC	=	0x00e0$/;"	d
-_ACC	../src/radar_main.asm	/^_ACC	=	0x00e0$/;"	d
-_ACC	../src/usrp_common.asm	/^_ACC	=	0x00e0$/;"	d
-_APTR1H	../lib/fx2utils.asm	/^_APTR1H	=	0x009a$/;"	d
-_APTR1H	../lib/isr.asm	/^_APTR1H	=	0x009a$/;"	d
-_APTR1H	../lib/timer.asm	/^_APTR1H	=	0x009a$/;"	d
-_APTR1H	../lib/usb_common.asm	/^_APTR1H	=	0x009a$/;"	d
-_APTR1H	../src/init_gpif.asm	/^_APTR1H	=	0x009a$/;"	d
-_APTR1H	../src/radar_main.asm	/^_APTR1H	=	0x009a$/;"	d
-_APTR1H	../src/usrp_common.asm	/^_APTR1H	=	0x009a$/;"	d
-_APTR1L	../lib/fx2utils.asm	/^_APTR1L	=	0x009b$/;"	d
-_APTR1L	../lib/isr.asm	/^_APTR1L	=	0x009b$/;"	d
-_APTR1L	../lib/timer.asm	/^_APTR1L	=	0x009b$/;"	d
-_APTR1L	../lib/usb_common.asm	/^_APTR1L	=	0x009b$/;"	d
-_APTR1L	../src/init_gpif.asm	/^_APTR1L	=	0x009b$/;"	d
-_APTR1L	../src/radar_main.asm	/^_APTR1L	=	0x009b$/;"	d
-_APTR1L	../src/usrp_common.asm	/^_APTR1L	=	0x009b$/;"	d
-_AT_	../include/fx2regs.h	306;"	d
-_AT_	../include/fx2regs.h	66;"	d
-_AT_	../include/fx2regs.h	69;"	d
-_AT_	../include/radar_rev1_regs.h	35;"	d
-_AT_	../include/radar_rev1_regs.h	38;"	d
-_AUTODAT1	../lib/fx2utils.asm	/^_AUTODAT1	=	0x009c$/;"	d
-_AUTODAT1	../lib/isr.asm	/^_AUTODAT1	=	0x009c$/;"	d
-_AUTODAT1	../lib/timer.asm	/^_AUTODAT1	=	0x009c$/;"	d
-_AUTODAT1	../lib/usb_common.asm	/^_AUTODAT1	=	0x009c$/;"	d
-_AUTODAT1	../src/init_gpif.asm	/^_AUTODAT1	=	0x009c$/;"	d
-_AUTODAT1	../src/radar_main.asm	/^_AUTODAT1	=	0x009c$/;"	d
-_AUTODAT1	../src/usrp_common.asm	/^_AUTODAT1	=	0x009c$/;"	d
-_AUTODAT2	../lib/fx2utils.asm	/^_AUTODAT2	=	0x009f$/;"	d
-_AUTODAT2	../lib/isr.asm	/^_AUTODAT2	=	0x009f$/;"	d
-_AUTODAT2	../lib/timer.asm	/^_AUTODAT2	=	0x009f$/;"	d
-_AUTODAT2	../lib/usb_common.asm	/^_AUTODAT2	=	0x009f$/;"	d
-_AUTODAT2	../src/init_gpif.asm	/^_AUTODAT2	=	0x009f$/;"	d
-_AUTODAT2	../src/radar_main.asm	/^_AUTODAT2	=	0x009f$/;"	d
-_AUTODAT2	../src/usrp_common.asm	/^_AUTODAT2	=	0x009f$/;"	d
-_AUTOPTRH2	../lib/fx2utils.asm	/^_AUTOPTRH2	=	0x009d$/;"	d
-_AUTOPTRH2	../lib/isr.asm	/^_AUTOPTRH2	=	0x009d$/;"	d
-_AUTOPTRH2	../lib/timer.asm	/^_AUTOPTRH2	=	0x009d$/;"	d
-_AUTOPTRH2	../lib/usb_common.asm	/^_AUTOPTRH2	=	0x009d$/;"	d
-_AUTOPTRH2	../src/init_gpif.asm	/^_AUTOPTRH2	=	0x009d$/;"	d
-_AUTOPTRH2	../src/radar_main.asm	/^_AUTOPTRH2	=	0x009d$/;"	d
-_AUTOPTRH2	../src/usrp_common.asm	/^_AUTOPTRH2	=	0x009d$/;"	d
-_AUTOPTRL2	../lib/fx2utils.asm	/^_AUTOPTRL2	=	0x009e$/;"	d
-_AUTOPTRL2	../lib/isr.asm	/^_AUTOPTRL2	=	0x009e$/;"	d
-_AUTOPTRL2	../lib/timer.asm	/^_AUTOPTRL2	=	0x009e$/;"	d
-_AUTOPTRL2	../lib/usb_common.asm	/^_AUTOPTRL2	=	0x009e$/;"	d
-_AUTOPTRL2	../src/init_gpif.asm	/^_AUTOPTRL2	=	0x009e$/;"	d
-_AUTOPTRL2	../src/radar_main.asm	/^_AUTOPTRL2	=	0x009e$/;"	d
-_AUTOPTRL2	../src/usrp_common.asm	/^_AUTOPTRL2	=	0x009e$/;"	d
-_AUTOPTRSETUP	../lib/fx2utils.asm	/^_AUTOPTRSETUP	=	0x00af$/;"	d
-_AUTOPTRSETUP	../lib/isr.asm	/^_AUTOPTRSETUP	=	0x00af$/;"	d
-_AUTOPTRSETUP	../lib/timer.asm	/^_AUTOPTRSETUP	=	0x00af$/;"	d
-_AUTOPTRSETUP	../lib/usb_common.asm	/^_AUTOPTRSETUP	=	0x00af$/;"	d
-_AUTOPTRSETUP	../src/init_gpif.asm	/^_AUTOPTRSETUP	=	0x00af$/;"	d
-_AUTOPTRSETUP	../src/radar_main.asm	/^_AUTOPTRSETUP	=	0x00af$/;"	d
-_AUTOPTRSETUP	../src/usrp_common.asm	/^_AUTOPTRSETUP	=	0x00af$/;"	d
-_B	../lib/fx2utils.asm	/^_B	=	0x00f0$/;"	d
-_B	../lib/isr.asm	/^_B	=	0x00f0$/;"	d
-_B	../lib/timer.asm	/^_B	=	0x00f0$/;"	d
-_B	../lib/usb_common.asm	/^_B	=	0x00f0$/;"	d
-_B	../src/init_gpif.asm	/^_B	=	0x00f0$/;"	d
-_B	../src/radar_main.asm	/^_B	=	0x00f0$/;"	d
-_B	../src/usrp_common.asm	/^_B	=	0x00f0$/;"	d
-_BPADDRH	../lib/fx2utils.asm	/^_BPADDRH	=	0xe606$/;"	d
-_BPADDRH	../lib/isr.asm	/^_BPADDRH	=	0xe606$/;"	d
-_BPADDRH	../lib/timer.asm	/^_BPADDRH	=	0xe606$/;"	d
-_BPADDRH	../lib/usb_common.asm	/^_BPADDRH	=	0xe606$/;"	d
-_BPADDRH	../src/init_gpif.asm	/^_BPADDRH	=	0xe606$/;"	d
-_BPADDRH	../src/radar_main.asm	/^_BPADDRH	=	0xe606$/;"	d
-_BPADDRH	../src/usrp_common.asm	/^_BPADDRH	=	0xe606$/;"	d
-_BPADDRL	../lib/fx2utils.asm	/^_BPADDRL	=	0xe607$/;"	d
-_BPADDRL	../lib/isr.asm	/^_BPADDRL	=	0xe607$/;"	d
-_BPADDRL	../lib/timer.asm	/^_BPADDRL	=	0xe607$/;"	d
-_BPADDRL	../lib/usb_common.asm	/^_BPADDRL	=	0xe607$/;"	d
-_BPADDRL	../src/init_gpif.asm	/^_BPADDRL	=	0xe607$/;"	d
-_BPADDRL	../src/radar_main.asm	/^_BPADDRL	=	0xe607$/;"	d
-_BPADDRL	../src/usrp_common.asm	/^_BPADDRL	=	0xe607$/;"	d
-_BREAKPT	../lib/fx2utils.asm	/^_BREAKPT	=	0xe605$/;"	d
-_BREAKPT	../lib/isr.asm	/^_BREAKPT	=	0xe605$/;"	d
-_BREAKPT	../lib/timer.asm	/^_BREAKPT	=	0xe605$/;"	d
-_BREAKPT	../lib/usb_common.asm	/^_BREAKPT	=	0xe605$/;"	d
-_BREAKPT	../src/init_gpif.asm	/^_BREAKPT	=	0xe605$/;"	d
-_BREAKPT	../src/radar_main.asm	/^_BREAKPT	=	0xe605$/;"	d
-_BREAKPT	../src/usrp_common.asm	/^_BREAKPT	=	0xe605$/;"	d
-_CKCON	../lib/fx2utils.asm	/^_CKCON	=	0x008e$/;"	d
-_CKCON	../lib/isr.asm	/^_CKCON	=	0x008e$/;"	d
-_CKCON	../lib/timer.asm	/^_CKCON	=	0x008e$/;"	d
-_CKCON	../lib/usb_common.asm	/^_CKCON	=	0x008e$/;"	d
-_CKCON	../src/init_gpif.asm	/^_CKCON	=	0x008e$/;"	d
-_CKCON	../src/radar_main.asm	/^_CKCON	=	0x008e$/;"	d
-_CKCON	../src/usrp_common.asm	/^_CKCON	=	0x008e$/;"	d
-_CLRERRCNT	../lib/fx2utils.asm	/^_CLRERRCNT	=	0xe665$/;"	d
-_CLRERRCNT	../lib/isr.asm	/^_CLRERRCNT	=	0xe665$/;"	d
-_CLRERRCNT	../lib/timer.asm	/^_CLRERRCNT	=	0xe665$/;"	d
-_CLRERRCNT	../lib/usb_common.asm	/^_CLRERRCNT	=	0xe665$/;"	d
-_CLRERRCNT	../src/init_gpif.asm	/^_CLRERRCNT	=	0xe665$/;"	d
-_CLRERRCNT	../src/radar_main.asm	/^_CLRERRCNT	=	0xe665$/;"	d
-_CLRERRCNT	../src/usrp_common.asm	/^_CLRERRCNT	=	0xe665$/;"	d
-_CPUCS	../lib/fx2utils.asm	/^_CPUCS	=	0xe600$/;"	d
-_CPUCS	../lib/isr.asm	/^_CPUCS	=	0xe600$/;"	d
-_CPUCS	../lib/timer.asm	/^_CPUCS	=	0xe600$/;"	d
-_CPUCS	../lib/usb_common.asm	/^_CPUCS	=	0xe600$/;"	d
-_CPUCS	../src/init_gpif.asm	/^_CPUCS	=	0xe600$/;"	d
-_CPUCS	../src/radar_main.asm	/^_CPUCS	=	0xe600$/;"	d
-_CPUCS	../src/usrp_common.asm	/^_CPUCS	=	0xe600$/;"	d
-_CP_RL2	../lib/fx2utils.asm	/^_CP_RL2	=	0x00c8$/;"	d
-_CP_RL2	../lib/isr.asm	/^_CP_RL2	=	0x00c8$/;"	d
-_CP_RL2	../lib/timer.asm	/^_CP_RL2	=	0x00c8$/;"	d
-_CP_RL2	../lib/usb_common.asm	/^_CP_RL2	=	0x00c8$/;"	d
-_CP_RL2	../src/init_gpif.asm	/^_CP_RL2	=	0x00c8$/;"	d
-_CP_RL2	../src/radar_main.asm	/^_CP_RL2	=	0x00c8$/;"	d
-_CP_RL2	../src/usrp_common.asm	/^_CP_RL2	=	0x00c8$/;"	d
-_CT1	../lib/fx2utils.asm	/^_CT1	=	0xe6fb$/;"	d
-_CT1	../lib/isr.asm	/^_CT1	=	0xe6fb$/;"	d
-_CT1	../lib/timer.asm	/^_CT1	=	0xe6fb$/;"	d
-_CT1	../lib/usb_common.asm	/^_CT1	=	0xe6fb$/;"	d
-_CT1	../src/init_gpif.asm	/^_CT1	=	0xe6fb$/;"	d
-_CT1	../src/radar_main.asm	/^_CT1	=	0xe6fb$/;"	d
-_CT1	../src/usrp_common.asm	/^_CT1	=	0xe6fb$/;"	d
-_CT2	../lib/fx2utils.asm	/^_CT2	=	0xe6fc$/;"	d
-_CT2	../lib/isr.asm	/^_CT2	=	0xe6fc$/;"	d
-_CT2	../lib/timer.asm	/^_CT2	=	0xe6fc$/;"	d
-_CT2	../lib/usb_common.asm	/^_CT2	=	0xe6fc$/;"	d
-_CT2	../src/init_gpif.asm	/^_CT2	=	0xe6fc$/;"	d
-_CT2	../src/radar_main.asm	/^_CT2	=	0xe6fc$/;"	d
-_CT2	../src/usrp_common.asm	/^_CT2	=	0xe6fc$/;"	d
-_CT3	../lib/fx2utils.asm	/^_CT3	=	0xe6fd$/;"	d
-_CT3	../lib/isr.asm	/^_CT3	=	0xe6fd$/;"	d
-_CT3	../lib/timer.asm	/^_CT3	=	0xe6fd$/;"	d
-_CT3	../lib/usb_common.asm	/^_CT3	=	0xe6fd$/;"	d
-_CT3	../src/init_gpif.asm	/^_CT3	=	0xe6fd$/;"	d
-_CT3	../src/radar_main.asm	/^_CT3	=	0xe6fd$/;"	d
-_CT3	../src/usrp_common.asm	/^_CT3	=	0xe6fd$/;"	d
-_CT4	../lib/fx2utils.asm	/^_CT4	=	0xe6fe$/;"	d
-_CT4	../lib/isr.asm	/^_CT4	=	0xe6fe$/;"	d
-_CT4	../lib/timer.asm	/^_CT4	=	0xe6fe$/;"	d
-_CT4	../lib/usb_common.asm	/^_CT4	=	0xe6fe$/;"	d
-_CT4	../src/init_gpif.asm	/^_CT4	=	0xe6fe$/;"	d
-_CT4	../src/radar_main.asm	/^_CT4	=	0xe6fe$/;"	d
-_CT4	../src/usrp_common.asm	/^_CT4	=	0xe6fe$/;"	d
-_CY	../lib/fx2utils.asm	/^_CY	=	0x00d7$/;"	d
-_CY	../lib/isr.asm	/^_CY	=	0x00d7$/;"	d
-_CY	../lib/timer.asm	/^_CY	=	0x00d7$/;"	d
-_CY	../lib/usb_common.asm	/^_CY	=	0x00d7$/;"	d
-_CY	../src/init_gpif.asm	/^_CY	=	0x00d7$/;"	d
-_CY	../src/radar_main.asm	/^_CY	=	0x00d7$/;"	d
-_CY	../src/usrp_common.asm	/^_CY	=	0x00d7$/;"	d
-_C_T2	../lib/fx2utils.asm	/^_C_T2	=	0x00c9$/;"	d
-_C_T2	../lib/isr.asm	/^_C_T2	=	0x00c9$/;"	d
-_C_T2	../lib/timer.asm	/^_C_T2	=	0x00c9$/;"	d
-_C_T2	../lib/usb_common.asm	/^_C_T2	=	0x00c9$/;"	d
-_C_T2	../src/init_gpif.asm	/^_C_T2	=	0x00c9$/;"	d
-_C_T2	../src/radar_main.asm	/^_C_T2	=	0x00c9$/;"	d
-_C_T2	../src/usrp_common.asm	/^_C_T2	=	0x00c9$/;"	d
-_DBUG	../lib/fx2utils.asm	/^_DBUG	=	0xe6f8$/;"	d
-_DBUG	../lib/isr.asm	/^_DBUG	=	0xe6f8$/;"	d
-_DBUG	../lib/timer.asm	/^_DBUG	=	0xe6f8$/;"	d
-_DBUG	../lib/usb_common.asm	/^_DBUG	=	0xe6f8$/;"	d
-_DBUG	../src/init_gpif.asm	/^_DBUG	=	0xe6f8$/;"	d
-_DBUG	../src/radar_main.asm	/^_DBUG	=	0xe6f8$/;"	d
-_DBUG	../src/usrp_common.asm	/^_DBUG	=	0xe6f8$/;"	d
-_DELAY_H_	../include/delay.h	24;"	d
-_DPH	../lib/fx2utils.asm	/^_DPH	=	0x0083$/;"	d
-_DPH	../lib/isr.asm	/^_DPH	=	0x0083$/;"	d
-_DPH	../lib/timer.asm	/^_DPH	=	0x0083$/;"	d
-_DPH	../lib/usb_common.asm	/^_DPH	=	0x0083$/;"	d
-_DPH	../src/init_gpif.asm	/^_DPH	=	0x0083$/;"	d
-_DPH	../src/radar_main.asm	/^_DPH	=	0x0083$/;"	d
-_DPH	../src/usrp_common.asm	/^_DPH	=	0x0083$/;"	d
-_DPH1	../lib/fx2utils.asm	/^_DPH1	=	0x0085$/;"	d
-_DPH1	../lib/isr.asm	/^_DPH1	=	0x0085$/;"	d
-_DPH1	../lib/timer.asm	/^_DPH1	=	0x0085$/;"	d
-_DPH1	../lib/usb_common.asm	/^_DPH1	=	0x0085$/;"	d
-_DPH1	../src/init_gpif.asm	/^_DPH1	=	0x0085$/;"	d
-_DPH1	../src/radar_main.asm	/^_DPH1	=	0x0085$/;"	d
-_DPH1	../src/usrp_common.asm	/^_DPH1	=	0x0085$/;"	d
-_DPL	../lib/fx2utils.asm	/^_DPL	=	0x0082$/;"	d
-_DPL	../lib/isr.asm	/^_DPL	=	0x0082$/;"	d
-_DPL	../lib/timer.asm	/^_DPL	=	0x0082$/;"	d
-_DPL	../lib/usb_common.asm	/^_DPL	=	0x0082$/;"	d
-_DPL	../src/init_gpif.asm	/^_DPL	=	0x0082$/;"	d
-_DPL	../src/radar_main.asm	/^_DPL	=	0x0082$/;"	d
-_DPL	../src/usrp_common.asm	/^_DPL	=	0x0082$/;"	d
-_DPL1	../lib/fx2utils.asm	/^_DPL1	=	0x0084$/;"	d
-_DPL1	../lib/isr.asm	/^_DPL1	=	0x0084$/;"	d
-_DPL1	../lib/timer.asm	/^_DPL1	=	0x0084$/;"	d
-_DPL1	../lib/usb_common.asm	/^_DPL1	=	0x0084$/;"	d
-_DPL1	../src/init_gpif.asm	/^_DPL1	=	0x0084$/;"	d
-_DPL1	../src/radar_main.asm	/^_DPL1	=	0x0084$/;"	d
-_DPL1	../src/usrp_common.asm	/^_DPL1	=	0x0084$/;"	d
-_DPS	../lib/fx2utils.asm	/^_DPS	=	0x0086$/;"	d
-_DPS	../lib/isr.asm	/^_DPS	=	0x0086$/;"	d
-_DPS	../lib/timer.asm	/^_DPS	=	0x0086$/;"	d
-_DPS	../lib/usb_common.asm	/^_DPS	=	0x0086$/;"	d
-_DPS	../src/init_gpif.asm	/^_DPS	=	0x0086$/;"	d
-_DPS	../src/radar_main.asm	/^_DPS	=	0x0086$/;"	d
-_DPS	../src/usrp_common.asm	/^_DPS	=	0x0086$/;"	d
-_EA	../lib/fx2utils.asm	/^_EA	=	0x00af$/;"	d
-_EA	../lib/isr.asm	/^_EA	=	0x00af$/;"	d
-_EA	../lib/timer.asm	/^_EA	=	0x00af$/;"	d
-_EA	../lib/usb_common.asm	/^_EA	=	0x00af$/;"	d
-_EA	../src/init_gpif.asm	/^_EA	=	0x00af$/;"	d
-_EA	../src/radar_main.asm	/^_EA	=	0x00af$/;"	d
-_EA	../src/usrp_common.asm	/^_EA	=	0x00af$/;"	d
-_EI2C	../lib/fx2utils.asm	/^_EI2C	=	0x00e9$/;"	d
-_EI2C	../lib/isr.asm	/^_EI2C	=	0x00e9$/;"	d
-_EI2C	../lib/timer.asm	/^_EI2C	=	0x00e9$/;"	d
-_EI2C	../lib/usb_common.asm	/^_EI2C	=	0x00e9$/;"	d
-_EI2C	../src/init_gpif.asm	/^_EI2C	=	0x00e9$/;"	d
-_EI2C	../src/radar_main.asm	/^_EI2C	=	0x00e9$/;"	d
-_EI2C	../src/usrp_common.asm	/^_EI2C	=	0x00e9$/;"	d
-_EICON	../lib/fx2utils.asm	/^_EICON	=	0x00d8$/;"	d
-_EICON	../lib/isr.asm	/^_EICON	=	0x00d8$/;"	d
-_EICON	../lib/timer.asm	/^_EICON	=	0x00d8$/;"	d
-_EICON	../lib/usb_common.asm	/^_EICON	=	0x00d8$/;"	d
-_EICON	../src/init_gpif.asm	/^_EICON	=	0x00d8$/;"	d
-_EICON	../src/radar_main.asm	/^_EICON	=	0x00d8$/;"	d
-_EICON	../src/usrp_common.asm	/^_EICON	=	0x00d8$/;"	d
-_EIE	../lib/fx2utils.asm	/^_EIE	=	0x00e8$/;"	d
-_EIE	../lib/isr.asm	/^_EIE	=	0x00e8$/;"	d
-_EIE	../lib/timer.asm	/^_EIE	=	0x00e8$/;"	d
-_EIE	../lib/usb_common.asm	/^_EIE	=	0x00e8$/;"	d
-_EIE	../src/init_gpif.asm	/^_EIE	=	0x00e8$/;"	d
-_EIE	../src/radar_main.asm	/^_EIE	=	0x00e8$/;"	d
-_EIE	../src/usrp_common.asm	/^_EIE	=	0x00e8$/;"	d
-_EIEX4	../lib/fx2utils.asm	/^_EIEX4	=	0x00ea$/;"	d
-_EIEX4	../lib/isr.asm	/^_EIEX4	=	0x00ea$/;"	d
-_EIEX4	../lib/timer.asm	/^_EIEX4	=	0x00ea$/;"	d
-_EIEX4	../lib/usb_common.asm	/^_EIEX4	=	0x00ea$/;"	d
-_EIEX4	../src/init_gpif.asm	/^_EIEX4	=	0x00ea$/;"	d
-_EIEX4	../src/radar_main.asm	/^_EIEX4	=	0x00ea$/;"	d
-_EIEX4	../src/usrp_common.asm	/^_EIEX4	=	0x00ea$/;"	d
-_EIEX5	../lib/fx2utils.asm	/^_EIEX5	=	0x00eb$/;"	d
-_EIEX5	../lib/isr.asm	/^_EIEX5	=	0x00eb$/;"	d
-_EIEX5	../lib/timer.asm	/^_EIEX5	=	0x00eb$/;"	d
-_EIEX5	../lib/usb_common.asm	/^_EIEX5	=	0x00eb$/;"	d
-_EIEX5	../src/init_gpif.asm	/^_EIEX5	=	0x00eb$/;"	d
-_EIEX5	../src/radar_main.asm	/^_EIEX5	=	0x00eb$/;"	d
-_EIEX5	../src/usrp_common.asm	/^_EIEX5	=	0x00eb$/;"	d
-_EIEX6	../lib/fx2utils.asm	/^_EIEX6	=	0x00ec$/;"	d
-_EIEX6	../lib/isr.asm	/^_EIEX6	=	0x00ec$/;"	d
-_EIEX6	../lib/timer.asm	/^_EIEX6	=	0x00ec$/;"	d
-_EIEX6	../lib/usb_common.asm	/^_EIEX6	=	0x00ec$/;"	d
-_EIEX6	../src/init_gpif.asm	/^_EIEX6	=	0x00ec$/;"	d
-_EIEX6	../src/radar_main.asm	/^_EIEX6	=	0x00ec$/;"	d
-_EIEX6	../src/usrp_common.asm	/^_EIEX6	=	0x00ec$/;"	d
-_EIP	../lib/fx2utils.asm	/^_EIP	=	0x00f8$/;"	d
-_EIP	../lib/isr.asm	/^_EIP	=	0x00f8$/;"	d
-_EIP	../lib/timer.asm	/^_EIP	=	0x00f8$/;"	d
-_EIP	../lib/usb_common.asm	/^_EIP	=	0x00f8$/;"	d
-_EIP	../src/init_gpif.asm	/^_EIP	=	0x00f8$/;"	d
-_EIP	../src/radar_main.asm	/^_EIP	=	0x00f8$/;"	d
-_EIP	../src/usrp_common.asm	/^_EIP	=	0x00f8$/;"	d
-_EIPX4	../lib/fx2utils.asm	/^_EIPX4	=	0x00fa$/;"	d
-_EIPX4	../lib/isr.asm	/^_EIPX4	=	0x00fa$/;"	d
-_EIPX4	../lib/timer.asm	/^_EIPX4	=	0x00fa$/;"	d
-_EIPX4	../lib/usb_common.asm	/^_EIPX4	=	0x00fa$/;"	d
-_EIPX4	../src/init_gpif.asm	/^_EIPX4	=	0x00fa$/;"	d
-_EIPX4	../src/radar_main.asm	/^_EIPX4	=	0x00fa$/;"	d
-_EIPX4	../src/usrp_common.asm	/^_EIPX4	=	0x00fa$/;"	d
-_EIPX5	../lib/fx2utils.asm	/^_EIPX5	=	0x00fb$/;"	d
-_EIPX5	../lib/isr.asm	/^_EIPX5	=	0x00fb$/;"	d
-_EIPX5	../lib/timer.asm	/^_EIPX5	=	0x00fb$/;"	d
-_EIPX5	../lib/usb_common.asm	/^_EIPX5	=	0x00fb$/;"	d
-_EIPX5	../src/init_gpif.asm	/^_EIPX5	=	0x00fb$/;"	d
-_EIPX5	../src/radar_main.asm	/^_EIPX5	=	0x00fb$/;"	d
-_EIPX5	../src/usrp_common.asm	/^_EIPX5	=	0x00fb$/;"	d
-_EIPX6	../lib/fx2utils.asm	/^_EIPX6	=	0x00fc$/;"	d
-_EIPX6	../lib/isr.asm	/^_EIPX6	=	0x00fc$/;"	d
-_EIPX6	../lib/timer.asm	/^_EIPX6	=	0x00fc$/;"	d
-_EIPX6	../lib/usb_common.asm	/^_EIPX6	=	0x00fc$/;"	d
-_EIPX6	../src/init_gpif.asm	/^_EIPX6	=	0x00fc$/;"	d
-_EIPX6	../src/radar_main.asm	/^_EIPX6	=	0x00fc$/;"	d
-_EIPX6	../src/usrp_common.asm	/^_EIPX6	=	0x00fc$/;"	d
-_EIUSB	../lib/fx2utils.asm	/^_EIUSB	=	0x00e8$/;"	d
-_EIUSB	../lib/isr.asm	/^_EIUSB	=	0x00e8$/;"	d
-_EIUSB	../lib/timer.asm	/^_EIUSB	=	0x00e8$/;"	d
-_EIUSB	../lib/usb_common.asm	/^_EIUSB	=	0x00e8$/;"	d
-_EIUSB	../src/init_gpif.asm	/^_EIUSB	=	0x00e8$/;"	d
-_EIUSB	../src/radar_main.asm	/^_EIUSB	=	0x00e8$/;"	d
-_EIUSB	../src/usrp_common.asm	/^_EIUSB	=	0x00e8$/;"	d
-_EP01STAT	../lib/fx2utils.asm	/^_EP01STAT	=	0x00ba$/;"	d
-_EP01STAT	../lib/isr.asm	/^_EP01STAT	=	0x00ba$/;"	d
-_EP01STAT	../lib/timer.asm	/^_EP01STAT	=	0x00ba$/;"	d
-_EP01STAT	../lib/usb_common.asm	/^_EP01STAT	=	0x00ba$/;"	d
-_EP01STAT	../src/init_gpif.asm	/^_EP01STAT	=	0x00ba$/;"	d
-_EP01STAT	../src/radar_main.asm	/^_EP01STAT	=	0x00ba$/;"	d
-_EP01STAT	../src/usrp_common.asm	/^_EP01STAT	=	0x00ba$/;"	d
-_EP0BCH	../lib/fx2utils.asm	/^_EP0BCH	=	0xe68a$/;"	d
-_EP0BCH	../lib/isr.asm	/^_EP0BCH	=	0xe68a$/;"	d
-_EP0BCH	../lib/timer.asm	/^_EP0BCH	=	0xe68a$/;"	d
-_EP0BCH	../lib/usb_common.asm	/^_EP0BCH	=	0xe68a$/;"	d
-_EP0BCH	../src/init_gpif.asm	/^_EP0BCH	=	0xe68a$/;"	d
-_EP0BCH	../src/radar_main.asm	/^_EP0BCH	=	0xe68a$/;"	d
-_EP0BCH	../src/usrp_common.asm	/^_EP0BCH	=	0xe68a$/;"	d
-_EP0BCL	../lib/fx2utils.asm	/^_EP0BCL	=	0xe68b$/;"	d
-_EP0BCL	../lib/isr.asm	/^_EP0BCL	=	0xe68b$/;"	d
-_EP0BCL	../lib/timer.asm	/^_EP0BCL	=	0xe68b$/;"	d
-_EP0BCL	../lib/usb_common.asm	/^_EP0BCL	=	0xe68b$/;"	d
-_EP0BCL	../src/init_gpif.asm	/^_EP0BCL	=	0xe68b$/;"	d
-_EP0BCL	../src/radar_main.asm	/^_EP0BCL	=	0xe68b$/;"	d
-_EP0BCL	../src/usrp_common.asm	/^_EP0BCL	=	0xe68b$/;"	d
-_EP0BUF	../lib/fx2utils.asm	/^_EP0BUF	=	0xe740$/;"	d
-_EP0BUF	../lib/isr.asm	/^_EP0BUF	=	0xe740$/;"	d
-_EP0BUF	../lib/timer.asm	/^_EP0BUF	=	0xe740$/;"	d
-_EP0BUF	../lib/usb_common.asm	/^_EP0BUF	=	0xe740$/;"	d
-_EP0BUF	../src/init_gpif.asm	/^_EP0BUF	=	0xe740$/;"	d
-_EP0BUF	../src/radar_main.asm	/^_EP0BUF	=	0xe740$/;"	d
-_EP0BUF	../src/usrp_common.asm	/^_EP0BUF	=	0xe740$/;"	d
-_EP0CS	../lib/fx2utils.asm	/^_EP0CS	=	0xe6a0$/;"	d
-_EP0CS	../lib/isr.asm	/^_EP0CS	=	0xe6a0$/;"	d
-_EP0CS	../lib/timer.asm	/^_EP0CS	=	0xe6a0$/;"	d
-_EP0CS	../lib/usb_common.asm	/^_EP0CS	=	0xe6a0$/;"	d
-_EP0CS	../src/init_gpif.asm	/^_EP0CS	=	0xe6a0$/;"	d
-_EP0CS	../src/radar_main.asm	/^_EP0CS	=	0xe6a0$/;"	d
-_EP0CS	../src/usrp_common.asm	/^_EP0CS	=	0xe6a0$/;"	d
-_EP1INBC	../lib/fx2utils.asm	/^_EP1INBC	=	0xe68f$/;"	d
-_EP1INBC	../lib/isr.asm	/^_EP1INBC	=	0xe68f$/;"	d
-_EP1INBC	../lib/timer.asm	/^_EP1INBC	=	0xe68f$/;"	d
-_EP1INBC	../lib/usb_common.asm	/^_EP1INBC	=	0xe68f$/;"	d
-_EP1INBC	../src/init_gpif.asm	/^_EP1INBC	=	0xe68f$/;"	d
-_EP1INBC	../src/radar_main.asm	/^_EP1INBC	=	0xe68f$/;"	d
-_EP1INBC	../src/usrp_common.asm	/^_EP1INBC	=	0xe68f$/;"	d
-_EP1INBUF	../lib/fx2utils.asm	/^_EP1INBUF	=	0xe7c0$/;"	d
-_EP1INBUF	../lib/isr.asm	/^_EP1INBUF	=	0xe7c0$/;"	d
-_EP1INBUF	../lib/timer.asm	/^_EP1INBUF	=	0xe7c0$/;"	d
-_EP1INBUF	../lib/usb_common.asm	/^_EP1INBUF	=	0xe7c0$/;"	d
-_EP1INBUF	../src/init_gpif.asm	/^_EP1INBUF	=	0xe7c0$/;"	d
-_EP1INBUF	../src/radar_main.asm	/^_EP1INBUF	=	0xe7c0$/;"	d
-_EP1INBUF	../src/usrp_common.asm	/^_EP1INBUF	=	0xe7c0$/;"	d
-_EP1INCFG	../lib/fx2utils.asm	/^_EP1INCFG	=	0xe611$/;"	d
-_EP1INCFG	../lib/isr.asm	/^_EP1INCFG	=	0xe611$/;"	d
-_EP1INCFG	../lib/timer.asm	/^_EP1INCFG	=	0xe611$/;"	d
-_EP1INCFG	../lib/usb_common.asm	/^_EP1INCFG	=	0xe611$/;"	d
-_EP1INCFG	../src/init_gpif.asm	/^_EP1INCFG	=	0xe611$/;"	d
-_EP1INCFG	../src/radar_main.asm	/^_EP1INCFG	=	0xe611$/;"	d
-_EP1INCFG	../src/usrp_common.asm	/^_EP1INCFG	=	0xe611$/;"	d
-_EP1INCS	../lib/fx2utils.asm	/^_EP1INCS	=	0xe6a2$/;"	d
-_EP1INCS	../lib/isr.asm	/^_EP1INCS	=	0xe6a2$/;"	d
-_EP1INCS	../lib/timer.asm	/^_EP1INCS	=	0xe6a2$/;"	d
-_EP1INCS	../lib/usb_common.asm	/^_EP1INCS	=	0xe6a2$/;"	d
-_EP1INCS	../src/init_gpif.asm	/^_EP1INCS	=	0xe6a2$/;"	d
-_EP1INCS	../src/radar_main.asm	/^_EP1INCS	=	0xe6a2$/;"	d
-_EP1INCS	../src/usrp_common.asm	/^_EP1INCS	=	0xe6a2$/;"	d
-_EP1OUTBC	../lib/fx2utils.asm	/^_EP1OUTBC	=	0xe68d$/;"	d
-_EP1OUTBC	../lib/isr.asm	/^_EP1OUTBC	=	0xe68d$/;"	d
-_EP1OUTBC	../lib/timer.asm	/^_EP1OUTBC	=	0xe68d$/;"	d
-_EP1OUTBC	../lib/usb_common.asm	/^_EP1OUTBC	=	0xe68d$/;"	d
-_EP1OUTBC	../src/init_gpif.asm	/^_EP1OUTBC	=	0xe68d$/;"	d
-_EP1OUTBC	../src/radar_main.asm	/^_EP1OUTBC	=	0xe68d$/;"	d
-_EP1OUTBC	../src/usrp_common.asm	/^_EP1OUTBC	=	0xe68d$/;"	d
-_EP1OUTBUF	../lib/fx2utils.asm	/^_EP1OUTBUF	=	0xe780$/;"	d
-_EP1OUTBUF	../lib/isr.asm	/^_EP1OUTBUF	=	0xe780$/;"	d
-_EP1OUTBUF	../lib/timer.asm	/^_EP1OUTBUF	=	0xe780$/;"	d
-_EP1OUTBUF	../lib/usb_common.asm	/^_EP1OUTBUF	=	0xe780$/;"	d
-_EP1OUTBUF	../src/init_gpif.asm	/^_EP1OUTBUF	=	0xe780$/;"	d
-_EP1OUTBUF	../src/radar_main.asm	/^_EP1OUTBUF	=	0xe780$/;"	d
-_EP1OUTBUF	../src/usrp_common.asm	/^_EP1OUTBUF	=	0xe780$/;"	d
-_EP1OUTCFG	../lib/fx2utils.asm	/^_EP1OUTCFG	=	0xe610$/;"	d
-_EP1OUTCFG	../lib/isr.asm	/^_EP1OUTCFG	=	0xe610$/;"	d
-_EP1OUTCFG	../lib/timer.asm	/^_EP1OUTCFG	=	0xe610$/;"	d
-_EP1OUTCFG	../lib/usb_common.asm	/^_EP1OUTCFG	=	0xe610$/;"	d
-_EP1OUTCFG	../src/init_gpif.asm	/^_EP1OUTCFG	=	0xe610$/;"	d
-_EP1OUTCFG	../src/radar_main.asm	/^_EP1OUTCFG	=	0xe610$/;"	d
-_EP1OUTCFG	../src/usrp_common.asm	/^_EP1OUTCFG	=	0xe610$/;"	d
-_EP1OUTCS	../lib/fx2utils.asm	/^_EP1OUTCS	=	0xe6a1$/;"	d
-_EP1OUTCS	../lib/isr.asm	/^_EP1OUTCS	=	0xe6a1$/;"	d
-_EP1OUTCS	../lib/timer.asm	/^_EP1OUTCS	=	0xe6a1$/;"	d
-_EP1OUTCS	../lib/usb_common.asm	/^_EP1OUTCS	=	0xe6a1$/;"	d
-_EP1OUTCS	../src/init_gpif.asm	/^_EP1OUTCS	=	0xe6a1$/;"	d
-_EP1OUTCS	../src/radar_main.asm	/^_EP1OUTCS	=	0xe6a1$/;"	d
-_EP1OUTCS	../src/usrp_common.asm	/^_EP1OUTCS	=	0xe6a1$/;"	d
-_EP2468STAT	../lib/fx2utils.asm	/^_EP2468STAT	=	0x00aa$/;"	d
-_EP2468STAT	../lib/isr.asm	/^_EP2468STAT	=	0x00aa$/;"	d
-_EP2468STAT	../lib/timer.asm	/^_EP2468STAT	=	0x00aa$/;"	d
-_EP2468STAT	../lib/usb_common.asm	/^_EP2468STAT	=	0x00aa$/;"	d
-_EP2468STAT	../src/init_gpif.asm	/^_EP2468STAT	=	0x00aa$/;"	d
-_EP2468STAT	../src/radar_main.asm	/^_EP2468STAT	=	0x00aa$/;"	d
-_EP2468STAT	../src/usrp_common.asm	/^_EP2468STAT	=	0x00aa$/;"	d
-_EP24FIFOFLGS	../lib/fx2utils.asm	/^_EP24FIFOFLGS	=	0x00ab$/;"	d
-_EP24FIFOFLGS	../lib/isr.asm	/^_EP24FIFOFLGS	=	0x00ab$/;"	d
-_EP24FIFOFLGS	../lib/timer.asm	/^_EP24FIFOFLGS	=	0x00ab$/;"	d
-_EP24FIFOFLGS	../lib/usb_common.asm	/^_EP24FIFOFLGS	=	0x00ab$/;"	d
-_EP24FIFOFLGS	../src/init_gpif.asm	/^_EP24FIFOFLGS	=	0x00ab$/;"	d
-_EP24FIFOFLGS	../src/radar_main.asm	/^_EP24FIFOFLGS	=	0x00ab$/;"	d
-_EP24FIFOFLGS	../src/usrp_common.asm	/^_EP24FIFOFLGS	=	0x00ab$/;"	d
-_EP2AUTOINLENH	../lib/fx2utils.asm	/^_EP2AUTOINLENH	=	0xe620$/;"	d
-_EP2AUTOINLENH	../lib/isr.asm	/^_EP2AUTOINLENH	=	0xe620$/;"	d
-_EP2AUTOINLENH	../lib/timer.asm	/^_EP2AUTOINLENH	=	0xe620$/;"	d
-_EP2AUTOINLENH	../lib/usb_common.asm	/^_EP2AUTOINLENH	=	0xe620$/;"	d
-_EP2AUTOINLENH	../src/init_gpif.asm	/^_EP2AUTOINLENH	=	0xe620$/;"	d
-_EP2AUTOINLENH	../src/radar_main.asm	/^_EP2AUTOINLENH	=	0xe620$/;"	d
-_EP2AUTOINLENH	../src/usrp_common.asm	/^_EP2AUTOINLENH	=	0xe620$/;"	d
-_EP2AUTOINLENL	../lib/fx2utils.asm	/^_EP2AUTOINLENL	=	0xe621$/;"	d
-_EP2AUTOINLENL	../lib/isr.asm	/^_EP2AUTOINLENL	=	0xe621$/;"	d
-_EP2AUTOINLENL	../lib/timer.asm	/^_EP2AUTOINLENL	=	0xe621$/;"	d
-_EP2AUTOINLENL	../lib/usb_common.asm	/^_EP2AUTOINLENL	=	0xe621$/;"	d
-_EP2AUTOINLENL	../src/init_gpif.asm	/^_EP2AUTOINLENL	=	0xe621$/;"	d
-_EP2AUTOINLENL	../src/radar_main.asm	/^_EP2AUTOINLENL	=	0xe621$/;"	d
-_EP2AUTOINLENL	../src/usrp_common.asm	/^_EP2AUTOINLENL	=	0xe621$/;"	d
-_EP2BCH	../lib/fx2utils.asm	/^_EP2BCH	=	0xe690$/;"	d
-_EP2BCH	../lib/isr.asm	/^_EP2BCH	=	0xe690$/;"	d
-_EP2BCH	../lib/timer.asm	/^_EP2BCH	=	0xe690$/;"	d
-_EP2BCH	../lib/usb_common.asm	/^_EP2BCH	=	0xe690$/;"	d
-_EP2BCH	../src/init_gpif.asm	/^_EP2BCH	=	0xe690$/;"	d
-_EP2BCH	../src/radar_main.asm	/^_EP2BCH	=	0xe690$/;"	d
-_EP2BCH	../src/usrp_common.asm	/^_EP2BCH	=	0xe690$/;"	d
-_EP2BCL	../lib/fx2utils.asm	/^_EP2BCL	=	0xe691$/;"	d
-_EP2BCL	../lib/isr.asm	/^_EP2BCL	=	0xe691$/;"	d
-_EP2BCL	../lib/timer.asm	/^_EP2BCL	=	0xe691$/;"	d
-_EP2BCL	../lib/usb_common.asm	/^_EP2BCL	=	0xe691$/;"	d
-_EP2BCL	../src/init_gpif.asm	/^_EP2BCL	=	0xe691$/;"	d
-_EP2BCL	../src/radar_main.asm	/^_EP2BCL	=	0xe691$/;"	d
-_EP2BCL	../src/usrp_common.asm	/^_EP2BCL	=	0xe691$/;"	d
-_EP2CFG	../lib/fx2utils.asm	/^_EP2CFG	=	0xe612$/;"	d
-_EP2CFG	../lib/isr.asm	/^_EP2CFG	=	0xe612$/;"	d
-_EP2CFG	../lib/timer.asm	/^_EP2CFG	=	0xe612$/;"	d
-_EP2CFG	../lib/usb_common.asm	/^_EP2CFG	=	0xe612$/;"	d
-_EP2CFG	../src/init_gpif.asm	/^_EP2CFG	=	0xe612$/;"	d
-_EP2CFG	../src/radar_main.asm	/^_EP2CFG	=	0xe612$/;"	d
-_EP2CFG	../src/usrp_common.asm	/^_EP2CFG	=	0xe612$/;"	d
-_EP2CS	../lib/fx2utils.asm	/^_EP2CS	=	0xe6a3$/;"	d
-_EP2CS	../lib/isr.asm	/^_EP2CS	=	0xe6a3$/;"	d
-_EP2CS	../lib/timer.asm	/^_EP2CS	=	0xe6a3$/;"	d
-_EP2CS	../lib/usb_common.asm	/^_EP2CS	=	0xe6a3$/;"	d
-_EP2CS	../src/init_gpif.asm	/^_EP2CS	=	0xe6a3$/;"	d
-_EP2CS	../src/radar_main.asm	/^_EP2CS	=	0xe6a3$/;"	d
-_EP2CS	../src/usrp_common.asm	/^_EP2CS	=	0xe6a3$/;"	d
-_EP2FIFOBCH	../lib/fx2utils.asm	/^_EP2FIFOBCH	=	0xe6ab$/;"	d
-_EP2FIFOBCH	../lib/isr.asm	/^_EP2FIFOBCH	=	0xe6ab$/;"	d
-_EP2FIFOBCH	../lib/timer.asm	/^_EP2FIFOBCH	=	0xe6ab$/;"	d
-_EP2FIFOBCH	../lib/usb_common.asm	/^_EP2FIFOBCH	=	0xe6ab$/;"	d
-_EP2FIFOBCH	../src/init_gpif.asm	/^_EP2FIFOBCH	=	0xe6ab$/;"	d
-_EP2FIFOBCH	../src/radar_main.asm	/^_EP2FIFOBCH	=	0xe6ab$/;"	d
-_EP2FIFOBCH	../src/usrp_common.asm	/^_EP2FIFOBCH	=	0xe6ab$/;"	d
-_EP2FIFOBCL	../lib/fx2utils.asm	/^_EP2FIFOBCL	=	0xe6ac$/;"	d
-_EP2FIFOBCL	../lib/isr.asm	/^_EP2FIFOBCL	=	0xe6ac$/;"	d
-_EP2FIFOBCL	../lib/timer.asm	/^_EP2FIFOBCL	=	0xe6ac$/;"	d
-_EP2FIFOBCL	../lib/usb_common.asm	/^_EP2FIFOBCL	=	0xe6ac$/;"	d
-_EP2FIFOBCL	../src/init_gpif.asm	/^_EP2FIFOBCL	=	0xe6ac$/;"	d
-_EP2FIFOBCL	../src/radar_main.asm	/^_EP2FIFOBCL	=	0xe6ac$/;"	d
-_EP2FIFOBCL	../src/usrp_common.asm	/^_EP2FIFOBCL	=	0xe6ac$/;"	d
-_EP2FIFOBUF	../lib/fx2utils.asm	/^_EP2FIFOBUF	=	0xf000$/;"	d
-_EP2FIFOBUF	../lib/isr.asm	/^_EP2FIFOBUF	=	0xf000$/;"	d
-_EP2FIFOBUF	../lib/timer.asm	/^_EP2FIFOBUF	=	0xf000$/;"	d
-_EP2FIFOBUF	../lib/usb_common.asm	/^_EP2FIFOBUF	=	0xf000$/;"	d
-_EP2FIFOBUF	../src/init_gpif.asm	/^_EP2FIFOBUF	=	0xf000$/;"	d
-_EP2FIFOBUF	../src/radar_main.asm	/^_EP2FIFOBUF	=	0xf000$/;"	d
-_EP2FIFOBUF	../src/usrp_common.asm	/^_EP2FIFOBUF	=	0xf000$/;"	d
-_EP2FIFOCFG	../lib/fx2utils.asm	/^_EP2FIFOCFG	=	0xe618$/;"	d
-_EP2FIFOCFG	../lib/isr.asm	/^_EP2FIFOCFG	=	0xe618$/;"	d
-_EP2FIFOCFG	../lib/timer.asm	/^_EP2FIFOCFG	=	0xe618$/;"	d
-_EP2FIFOCFG	../lib/usb_common.asm	/^_EP2FIFOCFG	=	0xe618$/;"	d
-_EP2FIFOCFG	../src/init_gpif.asm	/^_EP2FIFOCFG	=	0xe618$/;"	d
-_EP2FIFOCFG	../src/radar_main.asm	/^_EP2FIFOCFG	=	0xe618$/;"	d
-_EP2FIFOCFG	../src/usrp_common.asm	/^_EP2FIFOCFG	=	0xe618$/;"	d
-_EP2FIFOFLGS	../lib/fx2utils.asm	/^_EP2FIFOFLGS	=	0xe6a7$/;"	d
-_EP2FIFOFLGS	../lib/isr.asm	/^_EP2FIFOFLGS	=	0xe6a7$/;"	d
-_EP2FIFOFLGS	../lib/timer.asm	/^_EP2FIFOFLGS	=	0xe6a7$/;"	d
-_EP2FIFOFLGS	../lib/usb_common.asm	/^_EP2FIFOFLGS	=	0xe6a7$/;"	d
-_EP2FIFOFLGS	../src/init_gpif.asm	/^_EP2FIFOFLGS	=	0xe6a7$/;"	d
-_EP2FIFOFLGS	../src/radar_main.asm	/^_EP2FIFOFLGS	=	0xe6a7$/;"	d
-_EP2FIFOFLGS	../src/usrp_common.asm	/^_EP2FIFOFLGS	=	0xe6a7$/;"	d
-_EP2FIFOIE	../lib/fx2utils.asm	/^_EP2FIFOIE	=	0xe650$/;"	d
-_EP2FIFOIE	../lib/isr.asm	/^_EP2FIFOIE	=	0xe650$/;"	d
-_EP2FIFOIE	../lib/timer.asm	/^_EP2FIFOIE	=	0xe650$/;"	d
-_EP2FIFOIE	../lib/usb_common.asm	/^_EP2FIFOIE	=	0xe650$/;"	d
-_EP2FIFOIE	../src/init_gpif.asm	/^_EP2FIFOIE	=	0xe650$/;"	d
-_EP2FIFOIE	../src/radar_main.asm	/^_EP2FIFOIE	=	0xe650$/;"	d
-_EP2FIFOIE	../src/usrp_common.asm	/^_EP2FIFOIE	=	0xe650$/;"	d
-_EP2FIFOIRQ	../lib/fx2utils.asm	/^_EP2FIFOIRQ	=	0xe651$/;"	d
-_EP2FIFOIRQ	../lib/isr.asm	/^_EP2FIFOIRQ	=	0xe651$/;"	d
-_EP2FIFOIRQ	../lib/timer.asm	/^_EP2FIFOIRQ	=	0xe651$/;"	d
-_EP2FIFOIRQ	../lib/usb_common.asm	/^_EP2FIFOIRQ	=	0xe651$/;"	d
-_EP2FIFOIRQ	../src/init_gpif.asm	/^_EP2FIFOIRQ	=	0xe651$/;"	d
-_EP2FIFOIRQ	../src/radar_main.asm	/^_EP2FIFOIRQ	=	0xe651$/;"	d
-_EP2FIFOIRQ	../src/usrp_common.asm	/^_EP2FIFOIRQ	=	0xe651$/;"	d
-_EP2FIFOPFH	../lib/fx2utils.asm	/^_EP2FIFOPFH	=	0xe630$/;"	d
-_EP2FIFOPFH	../lib/isr.asm	/^_EP2FIFOPFH	=	0xe630$/;"	d
-_EP2FIFOPFH	../lib/timer.asm	/^_EP2FIFOPFH	=	0xe630$/;"	d
-_EP2FIFOPFH	../lib/usb_common.asm	/^_EP2FIFOPFH	=	0xe630$/;"	d
-_EP2FIFOPFH	../src/init_gpif.asm	/^_EP2FIFOPFH	=	0xe630$/;"	d
-_EP2FIFOPFH	../src/radar_main.asm	/^_EP2FIFOPFH	=	0xe630$/;"	d
-_EP2FIFOPFH	../src/usrp_common.asm	/^_EP2FIFOPFH	=	0xe630$/;"	d
-_EP2FIFOPFL	../lib/fx2utils.asm	/^_EP2FIFOPFL	=	0xe631$/;"	d
-_EP2FIFOPFL	../lib/isr.asm	/^_EP2FIFOPFL	=	0xe631$/;"	d
-_EP2FIFOPFL	../lib/timer.asm	/^_EP2FIFOPFL	=	0xe631$/;"	d
-_EP2FIFOPFL	../lib/usb_common.asm	/^_EP2FIFOPFL	=	0xe631$/;"	d
-_EP2FIFOPFL	../src/init_gpif.asm	/^_EP2FIFOPFL	=	0xe631$/;"	d
-_EP2FIFOPFL	../src/radar_main.asm	/^_EP2FIFOPFL	=	0xe631$/;"	d
-_EP2FIFOPFL	../src/usrp_common.asm	/^_EP2FIFOPFL	=	0xe631$/;"	d
-_EP2GPIFFLGSEL	../lib/fx2utils.asm	/^_EP2GPIFFLGSEL	=	0xe6d2$/;"	d
-_EP2GPIFFLGSEL	../lib/isr.asm	/^_EP2GPIFFLGSEL	=	0xe6d2$/;"	d
-_EP2GPIFFLGSEL	../lib/timer.asm	/^_EP2GPIFFLGSEL	=	0xe6d2$/;"	d
-_EP2GPIFFLGSEL	../lib/usb_common.asm	/^_EP2GPIFFLGSEL	=	0xe6d2$/;"	d
-_EP2GPIFFLGSEL	../src/init_gpif.asm	/^_EP2GPIFFLGSEL	=	0xe6d2$/;"	d
-_EP2GPIFFLGSEL	../src/radar_main.asm	/^_EP2GPIFFLGSEL	=	0xe6d2$/;"	d
-_EP2GPIFFLGSEL	../src/usrp_common.asm	/^_EP2GPIFFLGSEL	=	0xe6d2$/;"	d
-_EP2GPIFPFSTOP	../lib/fx2utils.asm	/^_EP2GPIFPFSTOP	=	0xe6d3$/;"	d
-_EP2GPIFPFSTOP	../lib/isr.asm	/^_EP2GPIFPFSTOP	=	0xe6d3$/;"	d
-_EP2GPIFPFSTOP	../lib/timer.asm	/^_EP2GPIFPFSTOP	=	0xe6d3$/;"	d
-_EP2GPIFPFSTOP	../lib/usb_common.asm	/^_EP2GPIFPFSTOP	=	0xe6d3$/;"	d
-_EP2GPIFPFSTOP	../src/init_gpif.asm	/^_EP2GPIFPFSTOP	=	0xe6d3$/;"	d
-_EP2GPIFPFSTOP	../src/radar_main.asm	/^_EP2GPIFPFSTOP	=	0xe6d3$/;"	d
-_EP2GPIFPFSTOP	../src/usrp_common.asm	/^_EP2GPIFPFSTOP	=	0xe6d3$/;"	d
-_EP2GPIFTRIG	../lib/fx2utils.asm	/^_EP2GPIFTRIG	=	0xe6d4$/;"	d
-_EP2GPIFTRIG	../lib/isr.asm	/^_EP2GPIFTRIG	=	0xe6d4$/;"	d
-_EP2GPIFTRIG	../lib/timer.asm	/^_EP2GPIFTRIG	=	0xe6d4$/;"	d
-_EP2GPIFTRIG	../lib/usb_common.asm	/^_EP2GPIFTRIG	=	0xe6d4$/;"	d
-_EP2GPIFTRIG	../src/init_gpif.asm	/^_EP2GPIFTRIG	=	0xe6d4$/;"	d
-_EP2GPIFTRIG	../src/radar_main.asm	/^_EP2GPIFTRIG	=	0xe6d4$/;"	d
-_EP2GPIFTRIG	../src/usrp_common.asm	/^_EP2GPIFTRIG	=	0xe6d4$/;"	d
-_EP2ISOINPKTS	../lib/fx2utils.asm	/^_EP2ISOINPKTS	=	0xe640$/;"	d
-_EP2ISOINPKTS	../lib/isr.asm	/^_EP2ISOINPKTS	=	0xe640$/;"	d
-_EP2ISOINPKTS	../lib/timer.asm	/^_EP2ISOINPKTS	=	0xe640$/;"	d
-_EP2ISOINPKTS	../lib/usb_common.asm	/^_EP2ISOINPKTS	=	0xe640$/;"	d
-_EP2ISOINPKTS	../src/init_gpif.asm	/^_EP2ISOINPKTS	=	0xe640$/;"	d
-_EP2ISOINPKTS	../src/radar_main.asm	/^_EP2ISOINPKTS	=	0xe640$/;"	d
-_EP2ISOINPKTS	../src/usrp_common.asm	/^_EP2ISOINPKTS	=	0xe640$/;"	d
-_EP4AUTOINLENH	../lib/fx2utils.asm	/^_EP4AUTOINLENH	=	0xe622$/;"	d
-_EP4AUTOINLENH	../lib/isr.asm	/^_EP4AUTOINLENH	=	0xe622$/;"	d
-_EP4AUTOINLENH	../lib/timer.asm	/^_EP4AUTOINLENH	=	0xe622$/;"	d
-_EP4AUTOINLENH	../lib/usb_common.asm	/^_EP4AUTOINLENH	=	0xe622$/;"	d
-_EP4AUTOINLENH	../src/init_gpif.asm	/^_EP4AUTOINLENH	=	0xe622$/;"	d
-_EP4AUTOINLENH	../src/radar_main.asm	/^_EP4AUTOINLENH	=	0xe622$/;"	d
-_EP4AUTOINLENH	../src/usrp_common.asm	/^_EP4AUTOINLENH	=	0xe622$/;"	d
-_EP4AUTOINLENL	../lib/fx2utils.asm	/^_EP4AUTOINLENL	=	0xe623$/;"	d
-_EP4AUTOINLENL	../lib/isr.asm	/^_EP4AUTOINLENL	=	0xe623$/;"	d
-_EP4AUTOINLENL	../lib/timer.asm	/^_EP4AUTOINLENL	=	0xe623$/;"	d
-_EP4AUTOINLENL	../lib/usb_common.asm	/^_EP4AUTOINLENL	=	0xe623$/;"	d
-_EP4AUTOINLENL	../src/init_gpif.asm	/^_EP4AUTOINLENL	=	0xe623$/;"	d
-_EP4AUTOINLENL	../src/radar_main.asm	/^_EP4AUTOINLENL	=	0xe623$/;"	d
-_EP4AUTOINLENL	../src/usrp_common.asm	/^_EP4AUTOINLENL	=	0xe623$/;"	d
-_EP4BCH	../lib/fx2utils.asm	/^_EP4BCH	=	0xe694$/;"	d
-_EP4BCH	../lib/isr.asm	/^_EP4BCH	=	0xe694$/;"	d
-_EP4BCH	../lib/timer.asm	/^_EP4BCH	=	0xe694$/;"	d
-_EP4BCH	../lib/usb_common.asm	/^_EP4BCH	=	0xe694$/;"	d
-_EP4BCH	../src/init_gpif.asm	/^_EP4BCH	=	0xe694$/;"	d
-_EP4BCH	../src/radar_main.asm	/^_EP4BCH	=	0xe694$/;"	d
-_EP4BCH	../src/usrp_common.asm	/^_EP4BCH	=	0xe694$/;"	d
-_EP4BCL	../lib/fx2utils.asm	/^_EP4BCL	=	0xe695$/;"	d
-_EP4BCL	../lib/isr.asm	/^_EP4BCL	=	0xe695$/;"	d
-_EP4BCL	../lib/timer.asm	/^_EP4BCL	=	0xe695$/;"	d
-_EP4BCL	../lib/usb_common.asm	/^_EP4BCL	=	0xe695$/;"	d
-_EP4BCL	../src/init_gpif.asm	/^_EP4BCL	=	0xe695$/;"	d
-_EP4BCL	../src/radar_main.asm	/^_EP4BCL	=	0xe695$/;"	d
-_EP4BCL	../src/usrp_common.asm	/^_EP4BCL	=	0xe695$/;"	d
-_EP4CFG	../lib/fx2utils.asm	/^_EP4CFG	=	0xe613$/;"	d
-_EP4CFG	../lib/isr.asm	/^_EP4CFG	=	0xe613$/;"	d
-_EP4CFG	../lib/timer.asm	/^_EP4CFG	=	0xe613$/;"	d
-_EP4CFG	../lib/usb_common.asm	/^_EP4CFG	=	0xe613$/;"	d
-_EP4CFG	../src/init_gpif.asm	/^_EP4CFG	=	0xe613$/;"	d
-_EP4CFG	../src/radar_main.asm	/^_EP4CFG	=	0xe613$/;"	d
-_EP4CFG	../src/usrp_common.asm	/^_EP4CFG	=	0xe613$/;"	d
-_EP4CS	../lib/fx2utils.asm	/^_EP4CS	=	0xe6a4$/;"	d
-_EP4CS	../lib/isr.asm	/^_EP4CS	=	0xe6a4$/;"	d
-_EP4CS	../lib/timer.asm	/^_EP4CS	=	0xe6a4$/;"	d
-_EP4CS	../lib/usb_common.asm	/^_EP4CS	=	0xe6a4$/;"	d
-_EP4CS	../src/init_gpif.asm	/^_EP4CS	=	0xe6a4$/;"	d
-_EP4CS	../src/radar_main.asm	/^_EP4CS	=	0xe6a4$/;"	d
-_EP4CS	../src/usrp_common.asm	/^_EP4CS	=	0xe6a4$/;"	d
-_EP4FIFOBCH	../lib/fx2utils.asm	/^_EP4FIFOBCH	=	0xe6ad$/;"	d
-_EP4FIFOBCH	../lib/isr.asm	/^_EP4FIFOBCH	=	0xe6ad$/;"	d
-_EP4FIFOBCH	../lib/timer.asm	/^_EP4FIFOBCH	=	0xe6ad$/;"	d
-_EP4FIFOBCH	../lib/usb_common.asm	/^_EP4FIFOBCH	=	0xe6ad$/;"	d
-_EP4FIFOBCH	../src/init_gpif.asm	/^_EP4FIFOBCH	=	0xe6ad$/;"	d
-_EP4FIFOBCH	../src/radar_main.asm	/^_EP4FIFOBCH	=	0xe6ad$/;"	d
-_EP4FIFOBCH	../src/usrp_common.asm	/^_EP4FIFOBCH	=	0xe6ad$/;"	d
-_EP4FIFOBCL	../lib/fx2utils.asm	/^_EP4FIFOBCL	=	0xe6ae$/;"	d
-_EP4FIFOBCL	../lib/isr.asm	/^_EP4FIFOBCL	=	0xe6ae$/;"	d
-_EP4FIFOBCL	../lib/timer.asm	/^_EP4FIFOBCL	=	0xe6ae$/;"	d
-_EP4FIFOBCL	../lib/usb_common.asm	/^_EP4FIFOBCL	=	0xe6ae$/;"	d
-_EP4FIFOBCL	../src/init_gpif.asm	/^_EP4FIFOBCL	=	0xe6ae$/;"	d
-_EP4FIFOBCL	../src/radar_main.asm	/^_EP4FIFOBCL	=	0xe6ae$/;"	d
-_EP4FIFOBCL	../src/usrp_common.asm	/^_EP4FIFOBCL	=	0xe6ae$/;"	d
-_EP4FIFOBUF	../lib/fx2utils.asm	/^_EP4FIFOBUF	=	0xf400$/;"	d
-_EP4FIFOBUF	../lib/isr.asm	/^_EP4FIFOBUF	=	0xf400$/;"	d
-_EP4FIFOBUF	../lib/timer.asm	/^_EP4FIFOBUF	=	0xf400$/;"	d
-_EP4FIFOBUF	../lib/usb_common.asm	/^_EP4FIFOBUF	=	0xf400$/;"	d
-_EP4FIFOBUF	../src/init_gpif.asm	/^_EP4FIFOBUF	=	0xf400$/;"	d
-_EP4FIFOBUF	../src/radar_main.asm	/^_EP4FIFOBUF	=	0xf400$/;"	d
-_EP4FIFOBUF	../src/usrp_common.asm	/^_EP4FIFOBUF	=	0xf400$/;"	d
-_EP4FIFOCFG	../lib/fx2utils.asm	/^_EP4FIFOCFG	=	0xe619$/;"	d
-_EP4FIFOCFG	../lib/isr.asm	/^_EP4FIFOCFG	=	0xe619$/;"	d
-_EP4FIFOCFG	../lib/timer.asm	/^_EP4FIFOCFG	=	0xe619$/;"	d
-_EP4FIFOCFG	../lib/usb_common.asm	/^_EP4FIFOCFG	=	0xe619$/;"	d
-_EP4FIFOCFG	../src/init_gpif.asm	/^_EP4FIFOCFG	=	0xe619$/;"	d
-_EP4FIFOCFG	../src/radar_main.asm	/^_EP4FIFOCFG	=	0xe619$/;"	d
-_EP4FIFOCFG	../src/usrp_common.asm	/^_EP4FIFOCFG	=	0xe619$/;"	d
-_EP4FIFOFLGS	../lib/fx2utils.asm	/^_EP4FIFOFLGS	=	0xe6a8$/;"	d
-_EP4FIFOFLGS	../lib/isr.asm	/^_EP4FIFOFLGS	=	0xe6a8$/;"	d
-_EP4FIFOFLGS	../lib/timer.asm	/^_EP4FIFOFLGS	=	0xe6a8$/;"	d
-_EP4FIFOFLGS	../lib/usb_common.asm	/^_EP4FIFOFLGS	=	0xe6a8$/;"	d
-_EP4FIFOFLGS	../src/init_gpif.asm	/^_EP4FIFOFLGS	=	0xe6a8$/;"	d
-_EP4FIFOFLGS	../src/radar_main.asm	/^_EP4FIFOFLGS	=	0xe6a8$/;"	d
-_EP4FIFOFLGS	../src/usrp_common.asm	/^_EP4FIFOFLGS	=	0xe6a8$/;"	d
-_EP4FIFOIE	../lib/fx2utils.asm	/^_EP4FIFOIE	=	0xe652$/;"	d
-_EP4FIFOIE	../lib/isr.asm	/^_EP4FIFOIE	=	0xe652$/;"	d
-_EP4FIFOIE	../lib/timer.asm	/^_EP4FIFOIE	=	0xe652$/;"	d
-_EP4FIFOIE	../lib/usb_common.asm	/^_EP4FIFOIE	=	0xe652$/;"	d
-_EP4FIFOIE	../src/init_gpif.asm	/^_EP4FIFOIE	=	0xe652$/;"	d
-_EP4FIFOIE	../src/radar_main.asm	/^_EP4FIFOIE	=	0xe652$/;"	d
-_EP4FIFOIE	../src/usrp_common.asm	/^_EP4FIFOIE	=	0xe652$/;"	d
-_EP4FIFOIRQ	../lib/fx2utils.asm	/^_EP4FIFOIRQ	=	0xe653$/;"	d
-_EP4FIFOIRQ	../lib/isr.asm	/^_EP4FIFOIRQ	=	0xe653$/;"	d
-_EP4FIFOIRQ	../lib/timer.asm	/^_EP4FIFOIRQ	=	0xe653$/;"	d
-_EP4FIFOIRQ	../lib/usb_common.asm	/^_EP4FIFOIRQ	=	0xe653$/;"	d
-_EP4FIFOIRQ	../src/init_gpif.asm	/^_EP4FIFOIRQ	=	0xe653$/;"	d
-_EP4FIFOIRQ	../src/radar_main.asm	/^_EP4FIFOIRQ	=	0xe653$/;"	d
-_EP4FIFOIRQ	../src/usrp_common.asm	/^_EP4FIFOIRQ	=	0xe653$/;"	d
-_EP4FIFOPFH	../lib/fx2utils.asm	/^_EP4FIFOPFH	=	0xe632$/;"	d
-_EP4FIFOPFH	../lib/isr.asm	/^_EP4FIFOPFH	=	0xe632$/;"	d
-_EP4FIFOPFH	../lib/timer.asm	/^_EP4FIFOPFH	=	0xe632$/;"	d
-_EP4FIFOPFH	../lib/usb_common.asm	/^_EP4FIFOPFH	=	0xe632$/;"	d
-_EP4FIFOPFH	../src/init_gpif.asm	/^_EP4FIFOPFH	=	0xe632$/;"	d
-_EP4FIFOPFH	../src/radar_main.asm	/^_EP4FIFOPFH	=	0xe632$/;"	d
-_EP4FIFOPFH	../src/usrp_common.asm	/^_EP4FIFOPFH	=	0xe632$/;"	d
-_EP4FIFOPFL	../lib/fx2utils.asm	/^_EP4FIFOPFL	=	0xe633$/;"	d
-_EP4FIFOPFL	../lib/isr.asm	/^_EP4FIFOPFL	=	0xe633$/;"	d
-_EP4FIFOPFL	../lib/timer.asm	/^_EP4FIFOPFL	=	0xe633$/;"	d
-_EP4FIFOPFL	../lib/usb_common.asm	/^_EP4FIFOPFL	=	0xe633$/;"	d
-_EP4FIFOPFL	../src/init_gpif.asm	/^_EP4FIFOPFL	=	0xe633$/;"	d
-_EP4FIFOPFL	../src/radar_main.asm	/^_EP4FIFOPFL	=	0xe633$/;"	d
-_EP4FIFOPFL	../src/usrp_common.asm	/^_EP4FIFOPFL	=	0xe633$/;"	d
-_EP4GPIFFLGSEL	../lib/fx2utils.asm	/^_EP4GPIFFLGSEL	=	0xe6da$/;"	d
-_EP4GPIFFLGSEL	../lib/isr.asm	/^_EP4GPIFFLGSEL	=	0xe6da$/;"	d
-_EP4GPIFFLGSEL	../lib/timer.asm	/^_EP4GPIFFLGSEL	=	0xe6da$/;"	d
-_EP4GPIFFLGSEL	../lib/usb_common.asm	/^_EP4GPIFFLGSEL	=	0xe6da$/;"	d
-_EP4GPIFFLGSEL	../src/init_gpif.asm	/^_EP4GPIFFLGSEL	=	0xe6da$/;"	d
-_EP4GPIFFLGSEL	../src/radar_main.asm	/^_EP4GPIFFLGSEL	=	0xe6da$/;"	d
-_EP4GPIFFLGSEL	../src/usrp_common.asm	/^_EP4GPIFFLGSEL	=	0xe6da$/;"	d
-_EP4GPIFPFSTOP	../lib/fx2utils.asm	/^_EP4GPIFPFSTOP	=	0xe6db$/;"	d
-_EP4GPIFPFSTOP	../lib/isr.asm	/^_EP4GPIFPFSTOP	=	0xe6db$/;"	d
-_EP4GPIFPFSTOP	../lib/timer.asm	/^_EP4GPIFPFSTOP	=	0xe6db$/;"	d
-_EP4GPIFPFSTOP	../lib/usb_common.asm	/^_EP4GPIFPFSTOP	=	0xe6db$/;"	d
-_EP4GPIFPFSTOP	../src/init_gpif.asm	/^_EP4GPIFPFSTOP	=	0xe6db$/;"	d
-_EP4GPIFPFSTOP	../src/radar_main.asm	/^_EP4GPIFPFSTOP	=	0xe6db$/;"	d
-_EP4GPIFPFSTOP	../src/usrp_common.asm	/^_EP4GPIFPFSTOP	=	0xe6db$/;"	d
-_EP4GPIFTRIG	../lib/fx2utils.asm	/^_EP4GPIFTRIG	=	0xe6dc$/;"	d
-_EP4GPIFTRIG	../lib/isr.asm	/^_EP4GPIFTRIG	=	0xe6dc$/;"	d
-_EP4GPIFTRIG	../lib/timer.asm	/^_EP4GPIFTRIG	=	0xe6dc$/;"	d
-_EP4GPIFTRIG	../lib/usb_common.asm	/^_EP4GPIFTRIG	=	0xe6dc$/;"	d
-_EP4GPIFTRIG	../src/init_gpif.asm	/^_EP4GPIFTRIG	=	0xe6dc$/;"	d
-_EP4GPIFTRIG	../src/radar_main.asm	/^_EP4GPIFTRIG	=	0xe6dc$/;"	d
-_EP4GPIFTRIG	../src/usrp_common.asm	/^_EP4GPIFTRIG	=	0xe6dc$/;"	d
-_EP4ISOINPKTS	../lib/fx2utils.asm	/^_EP4ISOINPKTS	=	0xe641$/;"	d
-_EP4ISOINPKTS	../lib/isr.asm	/^_EP4ISOINPKTS	=	0xe641$/;"	d
-_EP4ISOINPKTS	../lib/timer.asm	/^_EP4ISOINPKTS	=	0xe641$/;"	d
-_EP4ISOINPKTS	../lib/usb_common.asm	/^_EP4ISOINPKTS	=	0xe641$/;"	d
-_EP4ISOINPKTS	../src/init_gpif.asm	/^_EP4ISOINPKTS	=	0xe641$/;"	d
-_EP4ISOINPKTS	../src/radar_main.asm	/^_EP4ISOINPKTS	=	0xe641$/;"	d
-_EP4ISOINPKTS	../src/usrp_common.asm	/^_EP4ISOINPKTS	=	0xe641$/;"	d
-_EP68FIFOFLGS	../lib/fx2utils.asm	/^_EP68FIFOFLGS	=	0x00ac$/;"	d
-_EP68FIFOFLGS	../lib/isr.asm	/^_EP68FIFOFLGS	=	0x00ac$/;"	d
-_EP68FIFOFLGS	../lib/timer.asm	/^_EP68FIFOFLGS	=	0x00ac$/;"	d
-_EP68FIFOFLGS	../lib/usb_common.asm	/^_EP68FIFOFLGS	=	0x00ac$/;"	d
-_EP68FIFOFLGS	../src/init_gpif.asm	/^_EP68FIFOFLGS	=	0x00ac$/;"	d
-_EP68FIFOFLGS	../src/radar_main.asm	/^_EP68FIFOFLGS	=	0x00ac$/;"	d
-_EP68FIFOFLGS	../src/usrp_common.asm	/^_EP68FIFOFLGS	=	0x00ac$/;"	d
-_EP6AUTOINLENH	../lib/fx2utils.asm	/^_EP6AUTOINLENH	=	0xe624$/;"	d
-_EP6AUTOINLENH	../lib/isr.asm	/^_EP6AUTOINLENH	=	0xe624$/;"	d
-_EP6AUTOINLENH	../lib/timer.asm	/^_EP6AUTOINLENH	=	0xe624$/;"	d
-_EP6AUTOINLENH	../lib/usb_common.asm	/^_EP6AUTOINLENH	=	0xe624$/;"	d
-_EP6AUTOINLENH	../src/init_gpif.asm	/^_EP6AUTOINLENH	=	0xe624$/;"	d
-_EP6AUTOINLENH	../src/radar_main.asm	/^_EP6AUTOINLENH	=	0xe624$/;"	d
-_EP6AUTOINLENH	../src/usrp_common.asm	/^_EP6AUTOINLENH	=	0xe624$/;"	d
-_EP6AUTOINLENL	../lib/fx2utils.asm	/^_EP6AUTOINLENL	=	0xe625$/;"	d
-_EP6AUTOINLENL	../lib/isr.asm	/^_EP6AUTOINLENL	=	0xe625$/;"	d
-_EP6AUTOINLENL	../lib/timer.asm	/^_EP6AUTOINLENL	=	0xe625$/;"	d
-_EP6AUTOINLENL	../lib/usb_common.asm	/^_EP6AUTOINLENL	=	0xe625$/;"	d
-_EP6AUTOINLENL	../src/init_gpif.asm	/^_EP6AUTOINLENL	=	0xe625$/;"	d
-_EP6AUTOINLENL	../src/radar_main.asm	/^_EP6AUTOINLENL	=	0xe625$/;"	d
-_EP6AUTOINLENL	../src/usrp_common.asm	/^_EP6AUTOINLENL	=	0xe625$/;"	d
-_EP6BCH	../lib/fx2utils.asm	/^_EP6BCH	=	0xe698$/;"	d
-_EP6BCH	../lib/isr.asm	/^_EP6BCH	=	0xe698$/;"	d
-_EP6BCH	../lib/timer.asm	/^_EP6BCH	=	0xe698$/;"	d
-_EP6BCH	../lib/usb_common.asm	/^_EP6BCH	=	0xe698$/;"	d
-_EP6BCH	../src/init_gpif.asm	/^_EP6BCH	=	0xe698$/;"	d
-_EP6BCH	../src/radar_main.asm	/^_EP6BCH	=	0xe698$/;"	d
-_EP6BCH	../src/usrp_common.asm	/^_EP6BCH	=	0xe698$/;"	d
-_EP6BCL	../lib/fx2utils.asm	/^_EP6BCL	=	0xe699$/;"	d
-_EP6BCL	../lib/isr.asm	/^_EP6BCL	=	0xe699$/;"	d
-_EP6BCL	../lib/timer.asm	/^_EP6BCL	=	0xe699$/;"	d
-_EP6BCL	../lib/usb_common.asm	/^_EP6BCL	=	0xe699$/;"	d
-_EP6BCL	../src/init_gpif.asm	/^_EP6BCL	=	0xe699$/;"	d
-_EP6BCL	../src/radar_main.asm	/^_EP6BCL	=	0xe699$/;"	d
-_EP6BCL	../src/usrp_common.asm	/^_EP6BCL	=	0xe699$/;"	d
-_EP6CFG	../lib/fx2utils.asm	/^_EP6CFG	=	0xe614$/;"	d
-_EP6CFG	../lib/isr.asm	/^_EP6CFG	=	0xe614$/;"	d
-_EP6CFG	../lib/timer.asm	/^_EP6CFG	=	0xe614$/;"	d
-_EP6CFG	../lib/usb_common.asm	/^_EP6CFG	=	0xe614$/;"	d
-_EP6CFG	../src/init_gpif.asm	/^_EP6CFG	=	0xe614$/;"	d
-_EP6CFG	../src/radar_main.asm	/^_EP6CFG	=	0xe614$/;"	d
-_EP6CFG	../src/usrp_common.asm	/^_EP6CFG	=	0xe614$/;"	d
-_EP6CS	../lib/fx2utils.asm	/^_EP6CS	=	0xe6a5$/;"	d
-_EP6CS	../lib/isr.asm	/^_EP6CS	=	0xe6a5$/;"	d
-_EP6CS	../lib/timer.asm	/^_EP6CS	=	0xe6a5$/;"	d
-_EP6CS	../lib/usb_common.asm	/^_EP6CS	=	0xe6a5$/;"	d
-_EP6CS	../src/init_gpif.asm	/^_EP6CS	=	0xe6a5$/;"	d
-_EP6CS	../src/radar_main.asm	/^_EP6CS	=	0xe6a5$/;"	d
-_EP6CS	../src/usrp_common.asm	/^_EP6CS	=	0xe6a5$/;"	d
-_EP6FIFOBCH	../lib/fx2utils.asm	/^_EP6FIFOBCH	=	0xe6af$/;"	d
-_EP6FIFOBCH	../lib/isr.asm	/^_EP6FIFOBCH	=	0xe6af$/;"	d
-_EP6FIFOBCH	../lib/timer.asm	/^_EP6FIFOBCH	=	0xe6af$/;"	d
-_EP6FIFOBCH	../lib/usb_common.asm	/^_EP6FIFOBCH	=	0xe6af$/;"	d
-_EP6FIFOBCH	../src/init_gpif.asm	/^_EP6FIFOBCH	=	0xe6af$/;"	d
-_EP6FIFOBCH	../src/radar_main.asm	/^_EP6FIFOBCH	=	0xe6af$/;"	d
-_EP6FIFOBCH	../src/usrp_common.asm	/^_EP6FIFOBCH	=	0xe6af$/;"	d
-_EP6FIFOBCL	../lib/fx2utils.asm	/^_EP6FIFOBCL	=	0xe6b0$/;"	d
-_EP6FIFOBCL	../lib/isr.asm	/^_EP6FIFOBCL	=	0xe6b0$/;"	d
-_EP6FIFOBCL	../lib/timer.asm	/^_EP6FIFOBCL	=	0xe6b0$/;"	d
-_EP6FIFOBCL	../lib/usb_common.asm	/^_EP6FIFOBCL	=	0xe6b0$/;"	d
-_EP6FIFOBCL	../src/init_gpif.asm	/^_EP6FIFOBCL	=	0xe6b0$/;"	d
-_EP6FIFOBCL	../src/radar_main.asm	/^_EP6FIFOBCL	=	0xe6b0$/;"	d
-_EP6FIFOBCL	../src/usrp_common.asm	/^_EP6FIFOBCL	=	0xe6b0$/;"	d
-_EP6FIFOBUF	../lib/fx2utils.asm	/^_EP6FIFOBUF	=	0xf800$/;"	d
-_EP6FIFOBUF	../lib/isr.asm	/^_EP6FIFOBUF	=	0xf800$/;"	d
-_EP6FIFOBUF	../lib/timer.asm	/^_EP6FIFOBUF	=	0xf800$/;"	d
-_EP6FIFOBUF	../lib/usb_common.asm	/^_EP6FIFOBUF	=	0xf800$/;"	d
-_EP6FIFOBUF	../src/init_gpif.asm	/^_EP6FIFOBUF	=	0xf800$/;"	d
-_EP6FIFOBUF	../src/radar_main.asm	/^_EP6FIFOBUF	=	0xf800$/;"	d
-_EP6FIFOBUF	../src/usrp_common.asm	/^_EP6FIFOBUF	=	0xf800$/;"	d
-_EP6FIFOCFG	../lib/fx2utils.asm	/^_EP6FIFOCFG	=	0xe61a$/;"	d
-_EP6FIFOCFG	../lib/isr.asm	/^_EP6FIFOCFG	=	0xe61a$/;"	d
-_EP6FIFOCFG	../lib/timer.asm	/^_EP6FIFOCFG	=	0xe61a$/;"	d
-_EP6FIFOCFG	../lib/usb_common.asm	/^_EP6FIFOCFG	=	0xe61a$/;"	d
-_EP6FIFOCFG	../src/init_gpif.asm	/^_EP6FIFOCFG	=	0xe61a$/;"	d
-_EP6FIFOCFG	../src/radar_main.asm	/^_EP6FIFOCFG	=	0xe61a$/;"	d
-_EP6FIFOCFG	../src/usrp_common.asm	/^_EP6FIFOCFG	=	0xe61a$/;"	d
-_EP6FIFOFLGS	../lib/fx2utils.asm	/^_EP6FIFOFLGS	=	0xe6a9$/;"	d
-_EP6FIFOFLGS	../lib/isr.asm	/^_EP6FIFOFLGS	=	0xe6a9$/;"	d
-_EP6FIFOFLGS	../lib/timer.asm	/^_EP6FIFOFLGS	=	0xe6a9$/;"	d
-_EP6FIFOFLGS	../lib/usb_common.asm	/^_EP6FIFOFLGS	=	0xe6a9$/;"	d
-_EP6FIFOFLGS	../src/init_gpif.asm	/^_EP6FIFOFLGS	=	0xe6a9$/;"	d
-_EP6FIFOFLGS	../src/radar_main.asm	/^_EP6FIFOFLGS	=	0xe6a9$/;"	d
-_EP6FIFOFLGS	../src/usrp_common.asm	/^_EP6FIFOFLGS	=	0xe6a9$/;"	d
-_EP6FIFOIE	../lib/fx2utils.asm	/^_EP6FIFOIE	=	0xe654$/;"	d
-_EP6FIFOIE	../lib/isr.asm	/^_EP6FIFOIE	=	0xe654$/;"	d
-_EP6FIFOIE	../lib/timer.asm	/^_EP6FIFOIE	=	0xe654$/;"	d
-_EP6FIFOIE	../lib/usb_common.asm	/^_EP6FIFOIE	=	0xe654$/;"	d
-_EP6FIFOIE	../src/init_gpif.asm	/^_EP6FIFOIE	=	0xe654$/;"	d
-_EP6FIFOIE	../src/radar_main.asm	/^_EP6FIFOIE	=	0xe654$/;"	d
-_EP6FIFOIE	../src/usrp_common.asm	/^_EP6FIFOIE	=	0xe654$/;"	d
-_EP6FIFOIRQ	../lib/fx2utils.asm	/^_EP6FIFOIRQ	=	0xe655$/;"	d
-_EP6FIFOIRQ	../lib/isr.asm	/^_EP6FIFOIRQ	=	0xe655$/;"	d
-_EP6FIFOIRQ	../lib/timer.asm	/^_EP6FIFOIRQ	=	0xe655$/;"	d
-_EP6FIFOIRQ	../lib/usb_common.asm	/^_EP6FIFOIRQ	=	0xe655$/;"	d
-_EP6FIFOIRQ	../src/init_gpif.asm	/^_EP6FIFOIRQ	=	0xe655$/;"	d
-_EP6FIFOIRQ	../src/radar_main.asm	/^_EP6FIFOIRQ	=	0xe655$/;"	d
-_EP6FIFOIRQ	../src/usrp_common.asm	/^_EP6FIFOIRQ	=	0xe655$/;"	d
-_EP6FIFOPFH	../lib/fx2utils.asm	/^_EP6FIFOPFH	=	0xe634$/;"	d
-_EP6FIFOPFH	../lib/isr.asm	/^_EP6FIFOPFH	=	0xe634$/;"	d
-_EP6FIFOPFH	../lib/timer.asm	/^_EP6FIFOPFH	=	0xe634$/;"	d
-_EP6FIFOPFH	../lib/usb_common.asm	/^_EP6FIFOPFH	=	0xe634$/;"	d
-_EP6FIFOPFH	../src/init_gpif.asm	/^_EP6FIFOPFH	=	0xe634$/;"	d
-_EP6FIFOPFH	../src/radar_main.asm	/^_EP6FIFOPFH	=	0xe634$/;"	d
-_EP6FIFOPFH	../src/usrp_common.asm	/^_EP6FIFOPFH	=	0xe634$/;"	d
-_EP6FIFOPFL	../lib/fx2utils.asm	/^_EP6FIFOPFL	=	0xe635$/;"	d
-_EP6FIFOPFL	../lib/isr.asm	/^_EP6FIFOPFL	=	0xe635$/;"	d
-_EP6FIFOPFL	../lib/timer.asm	/^_EP6FIFOPFL	=	0xe635$/;"	d
-_EP6FIFOPFL	../lib/usb_common.asm	/^_EP6FIFOPFL	=	0xe635$/;"	d
-_EP6FIFOPFL	../src/init_gpif.asm	/^_EP6FIFOPFL	=	0xe635$/;"	d
-_EP6FIFOPFL	../src/radar_main.asm	/^_EP6FIFOPFL	=	0xe635$/;"	d
-_EP6FIFOPFL	../src/usrp_common.asm	/^_EP6FIFOPFL	=	0xe635$/;"	d
-_EP6GPIFFLGSEL	../lib/fx2utils.asm	/^_EP6GPIFFLGSEL	=	0xe6e2$/;"	d
-_EP6GPIFFLGSEL	../lib/isr.asm	/^_EP6GPIFFLGSEL	=	0xe6e2$/;"	d
-_EP6GPIFFLGSEL	../lib/timer.asm	/^_EP6GPIFFLGSEL	=	0xe6e2$/;"	d
-_EP6GPIFFLGSEL	../lib/usb_common.asm	/^_EP6GPIFFLGSEL	=	0xe6e2$/;"	d
-_EP6GPIFFLGSEL	../src/init_gpif.asm	/^_EP6GPIFFLGSEL	=	0xe6e2$/;"	d
-_EP6GPIFFLGSEL	../src/radar_main.asm	/^_EP6GPIFFLGSEL	=	0xe6e2$/;"	d
-_EP6GPIFFLGSEL	../src/usrp_common.asm	/^_EP6GPIFFLGSEL	=	0xe6e2$/;"	d
-_EP6GPIFPFSTOP	../lib/fx2utils.asm	/^_EP6GPIFPFSTOP	=	0xe6e3$/;"	d
-_EP6GPIFPFSTOP	../lib/isr.asm	/^_EP6GPIFPFSTOP	=	0xe6e3$/;"	d
-_EP6GPIFPFSTOP	../lib/timer.asm	/^_EP6GPIFPFSTOP	=	0xe6e3$/;"	d
-_EP6GPIFPFSTOP	../lib/usb_common.asm	/^_EP6GPIFPFSTOP	=	0xe6e3$/;"	d
-_EP6GPIFPFSTOP	../src/init_gpif.asm	/^_EP6GPIFPFSTOP	=	0xe6e3$/;"	d
-_EP6GPIFPFSTOP	../src/radar_main.asm	/^_EP6GPIFPFSTOP	=	0xe6e3$/;"	d
-_EP6GPIFPFSTOP	../src/usrp_common.asm	/^_EP6GPIFPFSTOP	=	0xe6e3$/;"	d
-_EP6GPIFTRIG	../lib/fx2utils.asm	/^_EP6GPIFTRIG	=	0xe6e4$/;"	d
-_EP6GPIFTRIG	../lib/isr.asm	/^_EP6GPIFTRIG	=	0xe6e4$/;"	d
-_EP6GPIFTRIG	../lib/timer.asm	/^_EP6GPIFTRIG	=	0xe6e4$/;"	d
-_EP6GPIFTRIG	../lib/usb_common.asm	/^_EP6GPIFTRIG	=	0xe6e4$/;"	d
-_EP6GPIFTRIG	../src/init_gpif.asm	/^_EP6GPIFTRIG	=	0xe6e4$/;"	d
-_EP6GPIFTRIG	../src/radar_main.asm	/^_EP6GPIFTRIG	=	0xe6e4$/;"	d
-_EP6GPIFTRIG	../src/usrp_common.asm	/^_EP6GPIFTRIG	=	0xe6e4$/;"	d
-_EP6ISOINPKTS	../lib/fx2utils.asm	/^_EP6ISOINPKTS	=	0xe642$/;"	d
-_EP6ISOINPKTS	../lib/isr.asm	/^_EP6ISOINPKTS	=	0xe642$/;"	d
-_EP6ISOINPKTS	../lib/timer.asm	/^_EP6ISOINPKTS	=	0xe642$/;"	d
-_EP6ISOINPKTS	../lib/usb_common.asm	/^_EP6ISOINPKTS	=	0xe642$/;"	d
-_EP6ISOINPKTS	../src/init_gpif.asm	/^_EP6ISOINPKTS	=	0xe642$/;"	d
-_EP6ISOINPKTS	../src/radar_main.asm	/^_EP6ISOINPKTS	=	0xe642$/;"	d
-_EP6ISOINPKTS	../src/usrp_common.asm	/^_EP6ISOINPKTS	=	0xe642$/;"	d
-_EP8AUTOINLENH	../lib/fx2utils.asm	/^_EP8AUTOINLENH	=	0xe626$/;"	d
-_EP8AUTOINLENH	../lib/isr.asm	/^_EP8AUTOINLENH	=	0xe626$/;"	d
-_EP8AUTOINLENH	../lib/timer.asm	/^_EP8AUTOINLENH	=	0xe626$/;"	d
-_EP8AUTOINLENH	../lib/usb_common.asm	/^_EP8AUTOINLENH	=	0xe626$/;"	d
-_EP8AUTOINLENH	../src/init_gpif.asm	/^_EP8AUTOINLENH	=	0xe626$/;"	d
-_EP8AUTOINLENH	../src/radar_main.asm	/^_EP8AUTOINLENH	=	0xe626$/;"	d
-_EP8AUTOINLENH	../src/usrp_common.asm	/^_EP8AUTOINLENH	=	0xe626$/;"	d
-_EP8AUTOINLENL	../lib/fx2utils.asm	/^_EP8AUTOINLENL	=	0xe627$/;"	d
-_EP8AUTOINLENL	../lib/isr.asm	/^_EP8AUTOINLENL	=	0xe627$/;"	d
-_EP8AUTOINLENL	../lib/timer.asm	/^_EP8AUTOINLENL	=	0xe627$/;"	d
-_EP8AUTOINLENL	../lib/usb_common.asm	/^_EP8AUTOINLENL	=	0xe627$/;"	d
-_EP8AUTOINLENL	../src/init_gpif.asm	/^_EP8AUTOINLENL	=	0xe627$/;"	d
-_EP8AUTOINLENL	../src/radar_main.asm	/^_EP8AUTOINLENL	=	0xe627$/;"	d
-_EP8AUTOINLENL	../src/usrp_common.asm	/^_EP8AUTOINLENL	=	0xe627$/;"	d
-_EP8BCH	../lib/fx2utils.asm	/^_EP8BCH	=	0xe69c$/;"	d
-_EP8BCH	../lib/isr.asm	/^_EP8BCH	=	0xe69c$/;"	d
-_EP8BCH	../lib/timer.asm	/^_EP8BCH	=	0xe69c$/;"	d
-_EP8BCH	../lib/usb_common.asm	/^_EP8BCH	=	0xe69c$/;"	d
-_EP8BCH	../src/init_gpif.asm	/^_EP8BCH	=	0xe69c$/;"	d
-_EP8BCH	../src/radar_main.asm	/^_EP8BCH	=	0xe69c$/;"	d
-_EP8BCH	../src/usrp_common.asm	/^_EP8BCH	=	0xe69c$/;"	d
-_EP8BCL	../lib/fx2utils.asm	/^_EP8BCL	=	0xe69d$/;"	d
-_EP8BCL	../lib/isr.asm	/^_EP8BCL	=	0xe69d$/;"	d
-_EP8BCL	../lib/timer.asm	/^_EP8BCL	=	0xe69d$/;"	d
-_EP8BCL	../lib/usb_common.asm	/^_EP8BCL	=	0xe69d$/;"	d
-_EP8BCL	../src/init_gpif.asm	/^_EP8BCL	=	0xe69d$/;"	d
-_EP8BCL	../src/radar_main.asm	/^_EP8BCL	=	0xe69d$/;"	d
-_EP8BCL	../src/usrp_common.asm	/^_EP8BCL	=	0xe69d$/;"	d
-_EP8CFG	../lib/fx2utils.asm	/^_EP8CFG	=	0xe615$/;"	d
-_EP8CFG	../lib/isr.asm	/^_EP8CFG	=	0xe615$/;"	d
-_EP8CFG	../lib/timer.asm	/^_EP8CFG	=	0xe615$/;"	d
-_EP8CFG	../lib/usb_common.asm	/^_EP8CFG	=	0xe615$/;"	d
-_EP8CFG	../src/init_gpif.asm	/^_EP8CFG	=	0xe615$/;"	d
-_EP8CFG	../src/radar_main.asm	/^_EP8CFG	=	0xe615$/;"	d
-_EP8CFG	../src/usrp_common.asm	/^_EP8CFG	=	0xe615$/;"	d
-_EP8CS	../lib/fx2utils.asm	/^_EP8CS	=	0xe6a6$/;"	d
-_EP8CS	../lib/isr.asm	/^_EP8CS	=	0xe6a6$/;"	d
-_EP8CS	../lib/timer.asm	/^_EP8CS	=	0xe6a6$/;"	d
-_EP8CS	../lib/usb_common.asm	/^_EP8CS	=	0xe6a6$/;"	d
-_EP8CS	../src/init_gpif.asm	/^_EP8CS	=	0xe6a6$/;"	d
-_EP8CS	../src/radar_main.asm	/^_EP8CS	=	0xe6a6$/;"	d
-_EP8CS	../src/usrp_common.asm	/^_EP8CS	=	0xe6a6$/;"	d
-_EP8FIFOBCH	../lib/fx2utils.asm	/^_EP8FIFOBCH	=	0xe6b1$/;"	d
-_EP8FIFOBCH	../lib/isr.asm	/^_EP8FIFOBCH	=	0xe6b1$/;"	d
-_EP8FIFOBCH	../lib/timer.asm	/^_EP8FIFOBCH	=	0xe6b1$/;"	d
-_EP8FIFOBCH	../lib/usb_common.asm	/^_EP8FIFOBCH	=	0xe6b1$/;"	d
-_EP8FIFOBCH	../src/init_gpif.asm	/^_EP8FIFOBCH	=	0xe6b1$/;"	d
-_EP8FIFOBCH	../src/radar_main.asm	/^_EP8FIFOBCH	=	0xe6b1$/;"	d
-_EP8FIFOBCH	../src/usrp_common.asm	/^_EP8FIFOBCH	=	0xe6b1$/;"	d
-_EP8FIFOBCL	../lib/fx2utils.asm	/^_EP8FIFOBCL	=	0xe6b2$/;"	d
-_EP8FIFOBCL	../lib/isr.asm	/^_EP8FIFOBCL	=	0xe6b2$/;"	d
-_EP8FIFOBCL	../lib/timer.asm	/^_EP8FIFOBCL	=	0xe6b2$/;"	d
-_EP8FIFOBCL	../lib/usb_common.asm	/^_EP8FIFOBCL	=	0xe6b2$/;"	d
-_EP8FIFOBCL	../src/init_gpif.asm	/^_EP8FIFOBCL	=	0xe6b2$/;"	d
-_EP8FIFOBCL	../src/radar_main.asm	/^_EP8FIFOBCL	=	0xe6b2$/;"	d
-_EP8FIFOBCL	../src/usrp_common.asm	/^_EP8FIFOBCL	=	0xe6b2$/;"	d
-_EP8FIFOBUF	../lib/fx2utils.asm	/^_EP8FIFOBUF	=	0xfc00$/;"	d
-_EP8FIFOBUF	../lib/isr.asm	/^_EP8FIFOBUF	=	0xfc00$/;"	d
-_EP8FIFOBUF	../lib/timer.asm	/^_EP8FIFOBUF	=	0xfc00$/;"	d
-_EP8FIFOBUF	../lib/usb_common.asm	/^_EP8FIFOBUF	=	0xfc00$/;"	d
-_EP8FIFOBUF	../src/init_gpif.asm	/^_EP8FIFOBUF	=	0xfc00$/;"	d
-_EP8FIFOBUF	../src/radar_main.asm	/^_EP8FIFOBUF	=	0xfc00$/;"	d
-_EP8FIFOBUF	../src/usrp_common.asm	/^_EP8FIFOBUF	=	0xfc00$/;"	d
-_EP8FIFOCFG	../lib/fx2utils.asm	/^_EP8FIFOCFG	=	0xe61b$/;"	d
-_EP8FIFOCFG	../lib/isr.asm	/^_EP8FIFOCFG	=	0xe61b$/;"	d
-_EP8FIFOCFG	../lib/timer.asm	/^_EP8FIFOCFG	=	0xe61b$/;"	d
-_EP8FIFOCFG	../lib/usb_common.asm	/^_EP8FIFOCFG	=	0xe61b$/;"	d
-_EP8FIFOCFG	../src/init_gpif.asm	/^_EP8FIFOCFG	=	0xe61b$/;"	d
-_EP8FIFOCFG	../src/radar_main.asm	/^_EP8FIFOCFG	=	0xe61b$/;"	d
-_EP8FIFOCFG	../src/usrp_common.asm	/^_EP8FIFOCFG	=	0xe61b$/;"	d
-_EP8FIFOFLGS	../lib/fx2utils.asm	/^_EP8FIFOFLGS	=	0xe6aa$/;"	d
-_EP8FIFOFLGS	../lib/isr.asm	/^_EP8FIFOFLGS	=	0xe6aa$/;"	d
-_EP8FIFOFLGS	../lib/timer.asm	/^_EP8FIFOFLGS	=	0xe6aa$/;"	d
-_EP8FIFOFLGS	../lib/usb_common.asm	/^_EP8FIFOFLGS	=	0xe6aa$/;"	d
-_EP8FIFOFLGS	../src/init_gpif.asm	/^_EP8FIFOFLGS	=	0xe6aa$/;"	d
-_EP8FIFOFLGS	../src/radar_main.asm	/^_EP8FIFOFLGS	=	0xe6aa$/;"	d
-_EP8FIFOFLGS	../src/usrp_common.asm	/^_EP8FIFOFLGS	=	0xe6aa$/;"	d
-_EP8FIFOIE	../lib/fx2utils.asm	/^_EP8FIFOIE	=	0xe656$/;"	d
-_EP8FIFOIE	../lib/isr.asm	/^_EP8FIFOIE	=	0xe656$/;"	d
-_EP8FIFOIE	../lib/timer.asm	/^_EP8FIFOIE	=	0xe656$/;"	d
-_EP8FIFOIE	../lib/usb_common.asm	/^_EP8FIFOIE	=	0xe656$/;"	d
-_EP8FIFOIE	../src/init_gpif.asm	/^_EP8FIFOIE	=	0xe656$/;"	d
-_EP8FIFOIE	../src/radar_main.asm	/^_EP8FIFOIE	=	0xe656$/;"	d
-_EP8FIFOIE	../src/usrp_common.asm	/^_EP8FIFOIE	=	0xe656$/;"	d
-_EP8FIFOIRQ	../lib/fx2utils.asm	/^_EP8FIFOIRQ	=	0xe657$/;"	d
-_EP8FIFOIRQ	../lib/isr.asm	/^_EP8FIFOIRQ	=	0xe657$/;"	d
-_EP8FIFOIRQ	../lib/timer.asm	/^_EP8FIFOIRQ	=	0xe657$/;"	d
-_EP8FIFOIRQ	../lib/usb_common.asm	/^_EP8FIFOIRQ	=	0xe657$/;"	d
-_EP8FIFOIRQ	../src/init_gpif.asm	/^_EP8FIFOIRQ	=	0xe657$/;"	d
-_EP8FIFOIRQ	../src/radar_main.asm	/^_EP8FIFOIRQ	=	0xe657$/;"	d
-_EP8FIFOIRQ	../src/usrp_common.asm	/^_EP8FIFOIRQ	=	0xe657$/;"	d
-_EP8FIFOPFH	../lib/fx2utils.asm	/^_EP8FIFOPFH	=	0xe636$/;"	d
-_EP8FIFOPFH	../lib/isr.asm	/^_EP8FIFOPFH	=	0xe636$/;"	d
-_EP8FIFOPFH	../lib/timer.asm	/^_EP8FIFOPFH	=	0xe636$/;"	d
-_EP8FIFOPFH	../lib/usb_common.asm	/^_EP8FIFOPFH	=	0xe636$/;"	d
-_EP8FIFOPFH	../src/init_gpif.asm	/^_EP8FIFOPFH	=	0xe636$/;"	d
-_EP8FIFOPFH	../src/radar_main.asm	/^_EP8FIFOPFH	=	0xe636$/;"	d
-_EP8FIFOPFH	../src/usrp_common.asm	/^_EP8FIFOPFH	=	0xe636$/;"	d
-_EP8FIFOPFL	../lib/fx2utils.asm	/^_EP8FIFOPFL	=	0xe637$/;"	d
-_EP8FIFOPFL	../lib/isr.asm	/^_EP8FIFOPFL	=	0xe637$/;"	d
-_EP8FIFOPFL	../lib/timer.asm	/^_EP8FIFOPFL	=	0xe637$/;"	d
-_EP8FIFOPFL	../lib/usb_common.asm	/^_EP8FIFOPFL	=	0xe637$/;"	d
-_EP8FIFOPFL	../src/init_gpif.asm	/^_EP8FIFOPFL	=	0xe637$/;"	d
-_EP8FIFOPFL	../src/radar_main.asm	/^_EP8FIFOPFL	=	0xe637$/;"	d
-_EP8FIFOPFL	../src/usrp_common.asm	/^_EP8FIFOPFL	=	0xe637$/;"	d
-_EP8GPIFFLGSEL	../lib/fx2utils.asm	/^_EP8GPIFFLGSEL	=	0xe6ea$/;"	d
-_EP8GPIFFLGSEL	../lib/isr.asm	/^_EP8GPIFFLGSEL	=	0xe6ea$/;"	d
-_EP8GPIFFLGSEL	../lib/timer.asm	/^_EP8GPIFFLGSEL	=	0xe6ea$/;"	d
-_EP8GPIFFLGSEL	../lib/usb_common.asm	/^_EP8GPIFFLGSEL	=	0xe6ea$/;"	d
-_EP8GPIFFLGSEL	../src/init_gpif.asm	/^_EP8GPIFFLGSEL	=	0xe6ea$/;"	d
-_EP8GPIFFLGSEL	../src/radar_main.asm	/^_EP8GPIFFLGSEL	=	0xe6ea$/;"	d
-_EP8GPIFFLGSEL	../src/usrp_common.asm	/^_EP8GPIFFLGSEL	=	0xe6ea$/;"	d
-_EP8GPIFPFSTOP	../lib/fx2utils.asm	/^_EP8GPIFPFSTOP	=	0xe6eb$/;"	d
-_EP8GPIFPFSTOP	../lib/isr.asm	/^_EP8GPIFPFSTOP	=	0xe6eb$/;"	d
-_EP8GPIFPFSTOP	../lib/timer.asm	/^_EP8GPIFPFSTOP	=	0xe6eb$/;"	d
-_EP8GPIFPFSTOP	../lib/usb_common.asm	/^_EP8GPIFPFSTOP	=	0xe6eb$/;"	d
-_EP8GPIFPFSTOP	../src/init_gpif.asm	/^_EP8GPIFPFSTOP	=	0xe6eb$/;"	d
-_EP8GPIFPFSTOP	../src/radar_main.asm	/^_EP8GPIFPFSTOP	=	0xe6eb$/;"	d
-_EP8GPIFPFSTOP	../src/usrp_common.asm	/^_EP8GPIFPFSTOP	=	0xe6eb$/;"	d
-_EP8GPIFTRIG	../lib/fx2utils.asm	/^_EP8GPIFTRIG	=	0xe6ec$/;"	d
-_EP8GPIFTRIG	../lib/isr.asm	/^_EP8GPIFTRIG	=	0xe6ec$/;"	d
-_EP8GPIFTRIG	../lib/timer.asm	/^_EP8GPIFTRIG	=	0xe6ec$/;"	d
-_EP8GPIFTRIG	../lib/usb_common.asm	/^_EP8GPIFTRIG	=	0xe6ec$/;"	d
-_EP8GPIFTRIG	../src/init_gpif.asm	/^_EP8GPIFTRIG	=	0xe6ec$/;"	d
-_EP8GPIFTRIG	../src/radar_main.asm	/^_EP8GPIFTRIG	=	0xe6ec$/;"	d
-_EP8GPIFTRIG	../src/usrp_common.asm	/^_EP8GPIFTRIG	=	0xe6ec$/;"	d
-_EP8ISOINPKTS	../lib/fx2utils.asm	/^_EP8ISOINPKTS	=	0xe643$/;"	d
-_EP8ISOINPKTS	../lib/isr.asm	/^_EP8ISOINPKTS	=	0xe643$/;"	d
-_EP8ISOINPKTS	../lib/timer.asm	/^_EP8ISOINPKTS	=	0xe643$/;"	d
-_EP8ISOINPKTS	../lib/usb_common.asm	/^_EP8ISOINPKTS	=	0xe643$/;"	d
-_EP8ISOINPKTS	../src/init_gpif.asm	/^_EP8ISOINPKTS	=	0xe643$/;"	d
-_EP8ISOINPKTS	../src/radar_main.asm	/^_EP8ISOINPKTS	=	0xe643$/;"	d
-_EP8ISOINPKTS	../src/usrp_common.asm	/^_EP8ISOINPKTS	=	0xe643$/;"	d
-_EPIE	../lib/fx2utils.asm	/^_EPIE	=	0xe65e$/;"	d
-_EPIE	../lib/isr.asm	/^_EPIE	=	0xe65e$/;"	d
-_EPIE	../lib/timer.asm	/^_EPIE	=	0xe65e$/;"	d
-_EPIE	../lib/usb_common.asm	/^_EPIE	=	0xe65e$/;"	d
-_EPIE	../src/init_gpif.asm	/^_EPIE	=	0xe65e$/;"	d
-_EPIE	../src/radar_main.asm	/^_EPIE	=	0xe65e$/;"	d
-_EPIE	../src/usrp_common.asm	/^_EPIE	=	0xe65e$/;"	d
-_EPIRQ	../lib/fx2utils.asm	/^_EPIRQ	=	0xe65f$/;"	d
-_EPIRQ	../lib/isr.asm	/^_EPIRQ	=	0xe65f$/;"	d
-_EPIRQ	../lib/timer.asm	/^_EPIRQ	=	0xe65f$/;"	d
-_EPIRQ	../lib/usb_common.asm	/^_EPIRQ	=	0xe65f$/;"	d
-_EPIRQ	../src/init_gpif.asm	/^_EPIRQ	=	0xe65f$/;"	d
-_EPIRQ	../src/radar_main.asm	/^_EPIRQ	=	0xe65f$/;"	d
-_EPIRQ	../src/usrp_common.asm	/^_EPIRQ	=	0xe65f$/;"	d
-_ERESI	../lib/fx2utils.asm	/^_ERESI	=	0x00dd$/;"	d
-_ERESI	../lib/isr.asm	/^_ERESI	=	0x00dd$/;"	d
-_ERESI	../lib/timer.asm	/^_ERESI	=	0x00dd$/;"	d
-_ERESI	../lib/usb_common.asm	/^_ERESI	=	0x00dd$/;"	d
-_ERESI	../src/init_gpif.asm	/^_ERESI	=	0x00dd$/;"	d
-_ERESI	../src/radar_main.asm	/^_ERESI	=	0x00dd$/;"	d
-_ERESI	../src/usrp_common.asm	/^_ERESI	=	0x00dd$/;"	d
-_ERRCNTLIM	../lib/fx2utils.asm	/^_ERRCNTLIM	=	0xe664$/;"	d
-_ERRCNTLIM	../lib/isr.asm	/^_ERRCNTLIM	=	0xe664$/;"	d
-_ERRCNTLIM	../lib/timer.asm	/^_ERRCNTLIM	=	0xe664$/;"	d
-_ERRCNTLIM	../lib/usb_common.asm	/^_ERRCNTLIM	=	0xe664$/;"	d
-_ERRCNTLIM	../src/init_gpif.asm	/^_ERRCNTLIM	=	0xe664$/;"	d
-_ERRCNTLIM	../src/radar_main.asm	/^_ERRCNTLIM	=	0xe664$/;"	d
-_ERRCNTLIM	../src/usrp_common.asm	/^_ERRCNTLIM	=	0xe664$/;"	d
-_ES0	../lib/fx2utils.asm	/^_ES0	=	0x00ac$/;"	d
-_ES0	../lib/isr.asm	/^_ES0	=	0x00ac$/;"	d
-_ES0	../lib/timer.asm	/^_ES0	=	0x00ac$/;"	d
-_ES0	../lib/usb_common.asm	/^_ES0	=	0x00ac$/;"	d
-_ES0	../src/init_gpif.asm	/^_ES0	=	0x00ac$/;"	d
-_ES0	../src/radar_main.asm	/^_ES0	=	0x00ac$/;"	d
-_ES0	../src/usrp_common.asm	/^_ES0	=	0x00ac$/;"	d
-_ES1	../lib/fx2utils.asm	/^_ES1	=	0x00ae$/;"	d
-_ES1	../lib/isr.asm	/^_ES1	=	0x00ae$/;"	d
-_ES1	../lib/timer.asm	/^_ES1	=	0x00ae$/;"	d
-_ES1	../lib/usb_common.asm	/^_ES1	=	0x00ae$/;"	d
-_ES1	../src/init_gpif.asm	/^_ES1	=	0x00ae$/;"	d
-_ES1	../src/radar_main.asm	/^_ES1	=	0x00ae$/;"	d
-_ES1	../src/usrp_common.asm	/^_ES1	=	0x00ae$/;"	d
-_ET0	../lib/fx2utils.asm	/^_ET0	=	0x00a9$/;"	d
-_ET0	../lib/isr.asm	/^_ET0	=	0x00a9$/;"	d
-_ET0	../lib/timer.asm	/^_ET0	=	0x00a9$/;"	d
-_ET0	../lib/usb_common.asm	/^_ET0	=	0x00a9$/;"	d
-_ET0	../src/init_gpif.asm	/^_ET0	=	0x00a9$/;"	d
-_ET0	../src/radar_main.asm	/^_ET0	=	0x00a9$/;"	d
-_ET0	../src/usrp_common.asm	/^_ET0	=	0x00a9$/;"	d
-_ET1	../lib/fx2utils.asm	/^_ET1	=	0x00ab$/;"	d
-_ET1	../lib/isr.asm	/^_ET1	=	0x00ab$/;"	d
-_ET1	../lib/timer.asm	/^_ET1	=	0x00ab$/;"	d
-_ET1	../lib/usb_common.asm	/^_ET1	=	0x00ab$/;"	d
-_ET1	../src/init_gpif.asm	/^_ET1	=	0x00ab$/;"	d
-_ET1	../src/radar_main.asm	/^_ET1	=	0x00ab$/;"	d
-_ET1	../src/usrp_common.asm	/^_ET1	=	0x00ab$/;"	d
-_ET2	../lib/fx2utils.asm	/^_ET2	=	0x00ad$/;"	d
-_ET2	../lib/isr.asm	/^_ET2	=	0x00ad$/;"	d
-_ET2	../lib/timer.asm	/^_ET2	=	0x00ad$/;"	d
-_ET2	../lib/usb_common.asm	/^_ET2	=	0x00ad$/;"	d
-_ET2	../src/init_gpif.asm	/^_ET2	=	0x00ad$/;"	d
-_ET2	../src/radar_main.asm	/^_ET2	=	0x00ad$/;"	d
-_ET2	../src/usrp_common.asm	/^_ET2	=	0x00ad$/;"	d
-_EX0	../lib/fx2utils.asm	/^_EX0	=	0x00a8$/;"	d
-_EX0	../lib/isr.asm	/^_EX0	=	0x00a8$/;"	d
-_EX0	../lib/timer.asm	/^_EX0	=	0x00a8$/;"	d
-_EX0	../lib/usb_common.asm	/^_EX0	=	0x00a8$/;"	d
-_EX0	../src/init_gpif.asm	/^_EX0	=	0x00a8$/;"	d
-_EX0	../src/radar_main.asm	/^_EX0	=	0x00a8$/;"	d
-_EX0	../src/usrp_common.asm	/^_EX0	=	0x00a8$/;"	d
-_EX1	../lib/fx2utils.asm	/^_EX1	=	0x00aa$/;"	d
-_EX1	../lib/isr.asm	/^_EX1	=	0x00aa$/;"	d
-_EX1	../lib/timer.asm	/^_EX1	=	0x00aa$/;"	d
-_EX1	../lib/usb_common.asm	/^_EX1	=	0x00aa$/;"	d
-_EX1	../src/init_gpif.asm	/^_EX1	=	0x00aa$/;"	d
-_EX1	../src/radar_main.asm	/^_EX1	=	0x00aa$/;"	d
-_EX1	../src/usrp_common.asm	/^_EX1	=	0x00aa$/;"	d
-_EXEN2	../lib/fx2utils.asm	/^_EXEN2	=	0x00cb$/;"	d
-_EXEN2	../lib/isr.asm	/^_EXEN2	=	0x00cb$/;"	d
-_EXEN2	../lib/timer.asm	/^_EXEN2	=	0x00cb$/;"	d
-_EXEN2	../lib/usb_common.asm	/^_EXEN2	=	0x00cb$/;"	d
-_EXEN2	../src/init_gpif.asm	/^_EXEN2	=	0x00cb$/;"	d
-_EXEN2	../src/radar_main.asm	/^_EXEN2	=	0x00cb$/;"	d
-_EXEN2	../src/usrp_common.asm	/^_EXEN2	=	0x00cb$/;"	d
-_EXF2	../lib/fx2utils.asm	/^_EXF2	=	0x00ce$/;"	d
-_EXF2	../lib/isr.asm	/^_EXF2	=	0x00ce$/;"	d
-_EXF2	../lib/timer.asm	/^_EXF2	=	0x00ce$/;"	d
-_EXF2	../lib/usb_common.asm	/^_EXF2	=	0x00ce$/;"	d
-_EXF2	../src/init_gpif.asm	/^_EXF2	=	0x00ce$/;"	d
-_EXF2	../src/radar_main.asm	/^_EXF2	=	0x00ce$/;"	d
-_EXF2	../src/usrp_common.asm	/^_EXF2	=	0x00ce$/;"	d
-_EXIF	../lib/fx2utils.asm	/^_EXIF	=	0x0091$/;"	d
-_EXIF	../lib/isr.asm	/^_EXIF	=	0x0091$/;"	d
-_EXIF	../lib/timer.asm	/^_EXIF	=	0x0091$/;"	d
-_EXIF	../lib/usb_common.asm	/^_EXIF	=	0x0091$/;"	d
-_EXIF	../src/init_gpif.asm	/^_EXIF	=	0x0091$/;"	d
-_EXIF	../src/radar_main.asm	/^_EXIF	=	0x0091$/;"	d
-_EXIF	../src/usrp_common.asm	/^_EXIF	=	0x0091$/;"	d
-_F0	../lib/fx2utils.asm	/^_F0	=	0x00d5$/;"	d
-_F0	../lib/isr.asm	/^_F0	=	0x00d5$/;"	d
-_F0	../lib/timer.asm	/^_F0	=	0x00d5$/;"	d
-_F0	../lib/usb_common.asm	/^_F0	=	0x00d5$/;"	d
-_F0	../src/init_gpif.asm	/^_F0	=	0x00d5$/;"	d
-_F0	../src/radar_main.asm	/^_F0	=	0x00d5$/;"	d
-_F0	../src/usrp_common.asm	/^_F0	=	0x00d5$/;"	d
-_FIFOPINPOLAR	../lib/fx2utils.asm	/^_FIFOPINPOLAR	=	0xe609$/;"	d
-_FIFOPINPOLAR	../lib/isr.asm	/^_FIFOPINPOLAR	=	0xe609$/;"	d
-_FIFOPINPOLAR	../lib/timer.asm	/^_FIFOPINPOLAR	=	0xe609$/;"	d
-_FIFOPINPOLAR	../lib/usb_common.asm	/^_FIFOPINPOLAR	=	0xe609$/;"	d
-_FIFOPINPOLAR	../src/init_gpif.asm	/^_FIFOPINPOLAR	=	0xe609$/;"	d
-_FIFOPINPOLAR	../src/radar_main.asm	/^_FIFOPINPOLAR	=	0xe609$/;"	d
-_FIFOPINPOLAR	../src/usrp_common.asm	/^_FIFOPINPOLAR	=	0xe609$/;"	d
-_FIFORESET	../lib/fx2utils.asm	/^_FIFORESET	=	0xe604$/;"	d
-_FIFORESET	../lib/isr.asm	/^_FIFORESET	=	0xe604$/;"	d
-_FIFORESET	../lib/timer.asm	/^_FIFORESET	=	0xe604$/;"	d
-_FIFORESET	../lib/usb_common.asm	/^_FIFORESET	=	0xe604$/;"	d
-_FIFORESET	../src/init_gpif.asm	/^_FIFORESET	=	0xe604$/;"	d
-_FIFORESET	../src/radar_main.asm	/^_FIFORESET	=	0xe604$/;"	d
-_FIFORESET	../src/usrp_common.asm	/^_FIFORESET	=	0xe604$/;"	d
-_FL	../lib/fx2utils.asm	/^_FL	=	0x00d1$/;"	d
-_FL	../lib/isr.asm	/^_FL	=	0x00d1$/;"	d
-_FL	../lib/timer.asm	/^_FL	=	0x00d1$/;"	d
-_FL	../lib/usb_common.asm	/^_FL	=	0x00d1$/;"	d
-_FL	../src/init_gpif.asm	/^_FL	=	0x00d1$/;"	d
-_FL	../src/radar_main.asm	/^_FL	=	0x00d1$/;"	d
-_FL	../src/usrp_common.asm	/^_FL	=	0x00d1$/;"	d
-_FLOWEQ0CTL	../lib/fx2utils.asm	/^_FLOWEQ0CTL	=	0xe6c8$/;"	d
-_FLOWEQ0CTL	../lib/isr.asm	/^_FLOWEQ0CTL	=	0xe6c8$/;"	d
-_FLOWEQ0CTL	../lib/timer.asm	/^_FLOWEQ0CTL	=	0xe6c8$/;"	d
-_FLOWEQ0CTL	../lib/usb_common.asm	/^_FLOWEQ0CTL	=	0xe6c8$/;"	d
-_FLOWEQ0CTL	../src/init_gpif.asm	/^_FLOWEQ0CTL	=	0xe6c8$/;"	d
-_FLOWEQ0CTL	../src/radar_main.asm	/^_FLOWEQ0CTL	=	0xe6c8$/;"	d
-_FLOWEQ0CTL	../src/usrp_common.asm	/^_FLOWEQ0CTL	=	0xe6c8$/;"	d
-_FLOWEQ1CTL	../lib/fx2utils.asm	/^_FLOWEQ1CTL	=	0xe6c9$/;"	d
-_FLOWEQ1CTL	../lib/isr.asm	/^_FLOWEQ1CTL	=	0xe6c9$/;"	d
-_FLOWEQ1CTL	../lib/timer.asm	/^_FLOWEQ1CTL	=	0xe6c9$/;"	d
-_FLOWEQ1CTL	../lib/usb_common.asm	/^_FLOWEQ1CTL	=	0xe6c9$/;"	d
-_FLOWEQ1CTL	../src/init_gpif.asm	/^_FLOWEQ1CTL	=	0xe6c9$/;"	d
-_FLOWEQ1CTL	../src/radar_main.asm	/^_FLOWEQ1CTL	=	0xe6c9$/;"	d
-_FLOWEQ1CTL	../src/usrp_common.asm	/^_FLOWEQ1CTL	=	0xe6c9$/;"	d
-_FLOWHOLDOFF	../lib/fx2utils.asm	/^_FLOWHOLDOFF	=	0xe6ca$/;"	d
-_FLOWHOLDOFF	../lib/isr.asm	/^_FLOWHOLDOFF	=	0xe6ca$/;"	d
-_FLOWHOLDOFF	../lib/timer.asm	/^_FLOWHOLDOFF	=	0xe6ca$/;"	d
-_FLOWHOLDOFF	../lib/usb_common.asm	/^_FLOWHOLDOFF	=	0xe6ca$/;"	d
-_FLOWHOLDOFF	../src/init_gpif.asm	/^_FLOWHOLDOFF	=	0xe6ca$/;"	d
-_FLOWHOLDOFF	../src/radar_main.asm	/^_FLOWHOLDOFF	=	0xe6ca$/;"	d
-_FLOWHOLDOFF	../src/usrp_common.asm	/^_FLOWHOLDOFF	=	0xe6ca$/;"	d
-_FLOWLOGIC	../lib/fx2utils.asm	/^_FLOWLOGIC	=	0xe6c7$/;"	d
-_FLOWLOGIC	../lib/isr.asm	/^_FLOWLOGIC	=	0xe6c7$/;"	d
-_FLOWLOGIC	../lib/timer.asm	/^_FLOWLOGIC	=	0xe6c7$/;"	d
-_FLOWLOGIC	../lib/usb_common.asm	/^_FLOWLOGIC	=	0xe6c7$/;"	d
-_FLOWLOGIC	../src/init_gpif.asm	/^_FLOWLOGIC	=	0xe6c7$/;"	d
-_FLOWLOGIC	../src/radar_main.asm	/^_FLOWLOGIC	=	0xe6c7$/;"	d
-_FLOWLOGIC	../src/usrp_common.asm	/^_FLOWLOGIC	=	0xe6c7$/;"	d
-_FLOWSTATE	../lib/fx2utils.asm	/^_FLOWSTATE	=	0xe6c6$/;"	d
-_FLOWSTATE	../lib/isr.asm	/^_FLOWSTATE	=	0xe6c6$/;"	d
-_FLOWSTATE	../lib/timer.asm	/^_FLOWSTATE	=	0xe6c6$/;"	d
-_FLOWSTATE	../lib/usb_common.asm	/^_FLOWSTATE	=	0xe6c6$/;"	d
-_FLOWSTATE	../src/init_gpif.asm	/^_FLOWSTATE	=	0xe6c6$/;"	d
-_FLOWSTATE	../src/radar_main.asm	/^_FLOWSTATE	=	0xe6c6$/;"	d
-_FLOWSTATE	../src/usrp_common.asm	/^_FLOWSTATE	=	0xe6c6$/;"	d
-_FLOWSTB	../lib/fx2utils.asm	/^_FLOWSTB	=	0xe6cb$/;"	d
-_FLOWSTB	../lib/isr.asm	/^_FLOWSTB	=	0xe6cb$/;"	d
-_FLOWSTB	../lib/timer.asm	/^_FLOWSTB	=	0xe6cb$/;"	d
-_FLOWSTB	../lib/usb_common.asm	/^_FLOWSTB	=	0xe6cb$/;"	d
-_FLOWSTB	../src/init_gpif.asm	/^_FLOWSTB	=	0xe6cb$/;"	d
-_FLOWSTB	../src/radar_main.asm	/^_FLOWSTB	=	0xe6cb$/;"	d
-_FLOWSTB	../src/usrp_common.asm	/^_FLOWSTB	=	0xe6cb$/;"	d
-_FLOWSTBEDGE	../lib/fx2utils.asm	/^_FLOWSTBEDGE	=	0xe6cc$/;"	d
-_FLOWSTBEDGE	../lib/isr.asm	/^_FLOWSTBEDGE	=	0xe6cc$/;"	d
-_FLOWSTBEDGE	../lib/timer.asm	/^_FLOWSTBEDGE	=	0xe6cc$/;"	d
-_FLOWSTBEDGE	../lib/usb_common.asm	/^_FLOWSTBEDGE	=	0xe6cc$/;"	d
-_FLOWSTBEDGE	../src/init_gpif.asm	/^_FLOWSTBEDGE	=	0xe6cc$/;"	d
-_FLOWSTBEDGE	../src/radar_main.asm	/^_FLOWSTBEDGE	=	0xe6cc$/;"	d
-_FLOWSTBEDGE	../src/usrp_common.asm	/^_FLOWSTBEDGE	=	0xe6cc$/;"	d
-_FLOWSTBHPERIOD	../lib/fx2utils.asm	/^_FLOWSTBHPERIOD	=	0xe6cd$/;"	d
-_FLOWSTBHPERIOD	../lib/isr.asm	/^_FLOWSTBHPERIOD	=	0xe6cd$/;"	d
-_FLOWSTBHPERIOD	../lib/timer.asm	/^_FLOWSTBHPERIOD	=	0xe6cd$/;"	d
-_FLOWSTBHPERIOD	../lib/usb_common.asm	/^_FLOWSTBHPERIOD	=	0xe6cd$/;"	d
-_FLOWSTBHPERIOD	../src/init_gpif.asm	/^_FLOWSTBHPERIOD	=	0xe6cd$/;"	d
-_FLOWSTBHPERIOD	../src/radar_main.asm	/^_FLOWSTBHPERIOD	=	0xe6cd$/;"	d
-_FLOWSTBHPERIOD	../src/usrp_common.asm	/^_FLOWSTBHPERIOD	=	0xe6cd$/;"	d
-_FNADDR	../lib/fx2utils.asm	/^_FNADDR	=	0xe687$/;"	d
-_FNADDR	../lib/isr.asm	/^_FNADDR	=	0xe687$/;"	d
-_FNADDR	../lib/timer.asm	/^_FNADDR	=	0xe687$/;"	d
-_FNADDR	../lib/usb_common.asm	/^_FNADDR	=	0xe687$/;"	d
-_FNADDR	../src/init_gpif.asm	/^_FNADDR	=	0xe687$/;"	d
-_FNADDR	../src/radar_main.asm	/^_FNADDR	=	0xe687$/;"	d
-_FNADDR	../src/usrp_common.asm	/^_FNADDR	=	0xe687$/;"	d
-_FX2UTILS_H_	../include/fx2utils.h	23;"	d
-_FlowStates	../src/radar_gpif2.asm	/^_FlowStates:$/;"	l
-_GPIFABORT	../lib/fx2utils.asm	/^_GPIFABORT	=	0xe6f5$/;"	d
-_GPIFABORT	../lib/isr.asm	/^_GPIFABORT	=	0xe6f5$/;"	d
-_GPIFABORT	../lib/timer.asm	/^_GPIFABORT	=	0xe6f5$/;"	d
-_GPIFABORT	../lib/usb_common.asm	/^_GPIFABORT	=	0xe6f5$/;"	d
-_GPIFABORT	../src/init_gpif.asm	/^_GPIFABORT	=	0xe6f5$/;"	d
-_GPIFABORT	../src/radar_main.asm	/^_GPIFABORT	=	0xe6f5$/;"	d
-_GPIFABORT	../src/usrp_common.asm	/^_GPIFABORT	=	0xe6f5$/;"	d
-_GPIFADRH	../lib/fx2utils.asm	/^_GPIFADRH	=	0xe6c4$/;"	d
-_GPIFADRH	../lib/isr.asm	/^_GPIFADRH	=	0xe6c4$/;"	d
-_GPIFADRH	../lib/timer.asm	/^_GPIFADRH	=	0xe6c4$/;"	d
-_GPIFADRH	../lib/usb_common.asm	/^_GPIFADRH	=	0xe6c4$/;"	d
-_GPIFADRH	../src/init_gpif.asm	/^_GPIFADRH	=	0xe6c4$/;"	d
-_GPIFADRH	../src/radar_main.asm	/^_GPIFADRH	=	0xe6c4$/;"	d
-_GPIFADRH	../src/usrp_common.asm	/^_GPIFADRH	=	0xe6c4$/;"	d
-_GPIFADRL	../lib/fx2utils.asm	/^_GPIFADRL	=	0xe6c5$/;"	d
-_GPIFADRL	../lib/isr.asm	/^_GPIFADRL	=	0xe6c5$/;"	d
-_GPIFADRL	../lib/timer.asm	/^_GPIFADRL	=	0xe6c5$/;"	d
-_GPIFADRL	../lib/usb_common.asm	/^_GPIFADRL	=	0xe6c5$/;"	d
-_GPIFADRL	../src/init_gpif.asm	/^_GPIFADRL	=	0xe6c5$/;"	d
-_GPIFADRL	../src/radar_main.asm	/^_GPIFADRL	=	0xe6c5$/;"	d
-_GPIFADRL	../src/usrp_common.asm	/^_GPIFADRL	=	0xe6c5$/;"	d
-_GPIFCTLCFG	../lib/fx2utils.asm	/^_GPIFCTLCFG	=	0xe6c3$/;"	d
-_GPIFCTLCFG	../lib/isr.asm	/^_GPIFCTLCFG	=	0xe6c3$/;"	d
-_GPIFCTLCFG	../lib/timer.asm	/^_GPIFCTLCFG	=	0xe6c3$/;"	d
-_GPIFCTLCFG	../lib/usb_common.asm	/^_GPIFCTLCFG	=	0xe6c3$/;"	d
-_GPIFCTLCFG	../src/init_gpif.asm	/^_GPIFCTLCFG	=	0xe6c3$/;"	d
-_GPIFCTLCFG	../src/radar_main.asm	/^_GPIFCTLCFG	=	0xe6c3$/;"	d
-_GPIFCTLCFG	../src/usrp_common.asm	/^_GPIFCTLCFG	=	0xe6c3$/;"	d
-_GPIFHOLDAMOUNT	../lib/fx2utils.asm	/^_GPIFHOLDAMOUNT	=	0xe60c$/;"	d
-_GPIFHOLDAMOUNT	../lib/isr.asm	/^_GPIFHOLDAMOUNT	=	0xe60c$/;"	d
-_GPIFHOLDAMOUNT	../lib/timer.asm	/^_GPIFHOLDAMOUNT	=	0xe60c$/;"	d
-_GPIFHOLDAMOUNT	../lib/usb_common.asm	/^_GPIFHOLDAMOUNT	=	0xe60c$/;"	d
-_GPIFHOLDAMOUNT	../src/init_gpif.asm	/^_GPIFHOLDAMOUNT	=	0xe60c$/;"	d
-_GPIFHOLDAMOUNT	../src/radar_main.asm	/^_GPIFHOLDAMOUNT	=	0xe60c$/;"	d
-_GPIFHOLDAMOUNT	../src/usrp_common.asm	/^_GPIFHOLDAMOUNT	=	0xe60c$/;"	d
-_GPIFIDLECS	../lib/fx2utils.asm	/^_GPIFIDLECS	=	0xe6c1$/;"	d
-_GPIFIDLECS	../lib/isr.asm	/^_GPIFIDLECS	=	0xe6c1$/;"	d
-_GPIFIDLECS	../lib/timer.asm	/^_GPIFIDLECS	=	0xe6c1$/;"	d
-_GPIFIDLECS	../lib/usb_common.asm	/^_GPIFIDLECS	=	0xe6c1$/;"	d
-_GPIFIDLECS	../src/init_gpif.asm	/^_GPIFIDLECS	=	0xe6c1$/;"	d
-_GPIFIDLECS	../src/radar_main.asm	/^_GPIFIDLECS	=	0xe6c1$/;"	d
-_GPIFIDLECS	../src/usrp_common.asm	/^_GPIFIDLECS	=	0xe6c1$/;"	d
-_GPIFIDLECTL	../lib/fx2utils.asm	/^_GPIFIDLECTL	=	0xe6c2$/;"	d
-_GPIFIDLECTL	../lib/isr.asm	/^_GPIFIDLECTL	=	0xe6c2$/;"	d
-_GPIFIDLECTL	../lib/timer.asm	/^_GPIFIDLECTL	=	0xe6c2$/;"	d
-_GPIFIDLECTL	../lib/usb_common.asm	/^_GPIFIDLECTL	=	0xe6c2$/;"	d
-_GPIFIDLECTL	../src/init_gpif.asm	/^_GPIFIDLECTL	=	0xe6c2$/;"	d
-_GPIFIDLECTL	../src/radar_main.asm	/^_GPIFIDLECTL	=	0xe6c2$/;"	d
-_GPIFIDLECTL	../src/usrp_common.asm	/^_GPIFIDLECTL	=	0xe6c2$/;"	d
-_GPIFIE	../lib/fx2utils.asm	/^_GPIFIE	=	0xe660$/;"	d
-_GPIFIE	../lib/isr.asm	/^_GPIFIE	=	0xe660$/;"	d
-_GPIFIE	../lib/timer.asm	/^_GPIFIE	=	0xe660$/;"	d
-_GPIFIE	../lib/usb_common.asm	/^_GPIFIE	=	0xe660$/;"	d
-_GPIFIE	../src/init_gpif.asm	/^_GPIFIE	=	0xe660$/;"	d
-_GPIFIE	../src/radar_main.asm	/^_GPIFIE	=	0xe660$/;"	d
-_GPIFIE	../src/usrp_common.asm	/^_GPIFIE	=	0xe660$/;"	d
-_GPIFIRQ	../lib/fx2utils.asm	/^_GPIFIRQ	=	0xe661$/;"	d
-_GPIFIRQ	../lib/isr.asm	/^_GPIFIRQ	=	0xe661$/;"	d
-_GPIFIRQ	../lib/timer.asm	/^_GPIFIRQ	=	0xe661$/;"	d
-_GPIFIRQ	../lib/usb_common.asm	/^_GPIFIRQ	=	0xe661$/;"	d
-_GPIFIRQ	../src/init_gpif.asm	/^_GPIFIRQ	=	0xe661$/;"	d
-_GPIFIRQ	../src/radar_main.asm	/^_GPIFIRQ	=	0xe661$/;"	d
-_GPIFIRQ	../src/usrp_common.asm	/^_GPIFIRQ	=	0xe661$/;"	d
-_GPIFREADYCFG	../lib/fx2utils.asm	/^_GPIFREADYCFG	=	0xe6f3$/;"	d
-_GPIFREADYCFG	../lib/isr.asm	/^_GPIFREADYCFG	=	0xe6f3$/;"	d
-_GPIFREADYCFG	../lib/timer.asm	/^_GPIFREADYCFG	=	0xe6f3$/;"	d
-_GPIFREADYCFG	../lib/usb_common.asm	/^_GPIFREADYCFG	=	0xe6f3$/;"	d
-_GPIFREADYCFG	../src/init_gpif.asm	/^_GPIFREADYCFG	=	0xe6f3$/;"	d
-_GPIFREADYCFG	../src/radar_main.asm	/^_GPIFREADYCFG	=	0xe6f3$/;"	d
-_GPIFREADYCFG	../src/usrp_common.asm	/^_GPIFREADYCFG	=	0xe6f3$/;"	d
-_GPIFREADYSTAT	../lib/fx2utils.asm	/^_GPIFREADYSTAT	=	0xe6f4$/;"	d
-_GPIFREADYSTAT	../lib/isr.asm	/^_GPIFREADYSTAT	=	0xe6f4$/;"	d
-_GPIFREADYSTAT	../lib/timer.asm	/^_GPIFREADYSTAT	=	0xe6f4$/;"	d
-_GPIFREADYSTAT	../lib/usb_common.asm	/^_GPIFREADYSTAT	=	0xe6f4$/;"	d
-_GPIFREADYSTAT	../src/init_gpif.asm	/^_GPIFREADYSTAT	=	0xe6f4$/;"	d
-_GPIFREADYSTAT	../src/radar_main.asm	/^_GPIFREADYSTAT	=	0xe6f4$/;"	d
-_GPIFREADYSTAT	../src/usrp_common.asm	/^_GPIFREADYSTAT	=	0xe6f4$/;"	d
-_GPIFSGLDATH	../lib/fx2utils.asm	/^_GPIFSGLDATH	=	0x00bd$/;"	d
-_GPIFSGLDATH	../lib/isr.asm	/^_GPIFSGLDATH	=	0x00bd$/;"	d
-_GPIFSGLDATH	../lib/timer.asm	/^_GPIFSGLDATH	=	0x00bd$/;"	d
-_GPIFSGLDATH	../lib/usb_common.asm	/^_GPIFSGLDATH	=	0x00bd$/;"	d
-_GPIFSGLDATH	../src/init_gpif.asm	/^_GPIFSGLDATH	=	0x00bd$/;"	d
-_GPIFSGLDATH	../src/radar_main.asm	/^_GPIFSGLDATH	=	0x00bd$/;"	d
-_GPIFSGLDATH	../src/usrp_common.asm	/^_GPIFSGLDATH	=	0x00bd$/;"	d
-_GPIFSGLDATLNOX	../lib/fx2utils.asm	/^_GPIFSGLDATLNOX	=	0x00bf$/;"	d
-_GPIFSGLDATLNOX	../lib/isr.asm	/^_GPIFSGLDATLNOX	=	0x00bf$/;"	d
-_GPIFSGLDATLNOX	../lib/timer.asm	/^_GPIFSGLDATLNOX	=	0x00bf$/;"	d
-_GPIFSGLDATLNOX	../lib/usb_common.asm	/^_GPIFSGLDATLNOX	=	0x00bf$/;"	d
-_GPIFSGLDATLNOX	../src/init_gpif.asm	/^_GPIFSGLDATLNOX	=	0x00bf$/;"	d
-_GPIFSGLDATLNOX	../src/radar_main.asm	/^_GPIFSGLDATLNOX	=	0x00bf$/;"	d
-_GPIFSGLDATLNOX	../src/usrp_common.asm	/^_GPIFSGLDATLNOX	=	0x00bf$/;"	d
-_GPIFSGLDATLX	../lib/fx2utils.asm	/^_GPIFSGLDATLX	=	0x00be$/;"	d
-_GPIFSGLDATLX	../lib/isr.asm	/^_GPIFSGLDATLX	=	0x00be$/;"	d
-_GPIFSGLDATLX	../lib/timer.asm	/^_GPIFSGLDATLX	=	0x00be$/;"	d
-_GPIFSGLDATLX	../lib/usb_common.asm	/^_GPIFSGLDATLX	=	0x00be$/;"	d
-_GPIFSGLDATLX	../src/init_gpif.asm	/^_GPIFSGLDATLX	=	0x00be$/;"	d
-_GPIFSGLDATLX	../src/radar_main.asm	/^_GPIFSGLDATLX	=	0x00be$/;"	d
-_GPIFSGLDATLX	../src/usrp_common.asm	/^_GPIFSGLDATLX	=	0x00be$/;"	d
-_GPIFTCB0	../lib/fx2utils.asm	/^_GPIFTCB0	=	0xe6d1$/;"	d
-_GPIFTCB0	../lib/isr.asm	/^_GPIFTCB0	=	0xe6d1$/;"	d
-_GPIFTCB0	../lib/timer.asm	/^_GPIFTCB0	=	0xe6d1$/;"	d
-_GPIFTCB0	../lib/usb_common.asm	/^_GPIFTCB0	=	0xe6d1$/;"	d
-_GPIFTCB0	../src/init_gpif.asm	/^_GPIFTCB0	=	0xe6d1$/;"	d
-_GPIFTCB0	../src/radar_main.asm	/^_GPIFTCB0	=	0xe6d1$/;"	d
-_GPIFTCB0	../src/usrp_common.asm	/^_GPIFTCB0	=	0xe6d1$/;"	d
-_GPIFTCB1	../lib/fx2utils.asm	/^_GPIFTCB1	=	0xe6d0$/;"	d
-_GPIFTCB1	../lib/isr.asm	/^_GPIFTCB1	=	0xe6d0$/;"	d
-_GPIFTCB1	../lib/timer.asm	/^_GPIFTCB1	=	0xe6d0$/;"	d
-_GPIFTCB1	../lib/usb_common.asm	/^_GPIFTCB1	=	0xe6d0$/;"	d
-_GPIFTCB1	../src/init_gpif.asm	/^_GPIFTCB1	=	0xe6d0$/;"	d
-_GPIFTCB1	../src/radar_main.asm	/^_GPIFTCB1	=	0xe6d0$/;"	d
-_GPIFTCB1	../src/usrp_common.asm	/^_GPIFTCB1	=	0xe6d0$/;"	d
-_GPIFTCB2	../lib/fx2utils.asm	/^_GPIFTCB2	=	0xe6cf$/;"	d
-_GPIFTCB2	../lib/isr.asm	/^_GPIFTCB2	=	0xe6cf$/;"	d
-_GPIFTCB2	../lib/timer.asm	/^_GPIFTCB2	=	0xe6cf$/;"	d
-_GPIFTCB2	../lib/usb_common.asm	/^_GPIFTCB2	=	0xe6cf$/;"	d
-_GPIFTCB2	../src/init_gpif.asm	/^_GPIFTCB2	=	0xe6cf$/;"	d
-_GPIFTCB2	../src/radar_main.asm	/^_GPIFTCB2	=	0xe6cf$/;"	d
-_GPIFTCB2	../src/usrp_common.asm	/^_GPIFTCB2	=	0xe6cf$/;"	d
-_GPIFTCB3	../lib/fx2utils.asm	/^_GPIFTCB3	=	0xe6ce$/;"	d
-_GPIFTCB3	../lib/isr.asm	/^_GPIFTCB3	=	0xe6ce$/;"	d
-_GPIFTCB3	../lib/timer.asm	/^_GPIFTCB3	=	0xe6ce$/;"	d
-_GPIFTCB3	../lib/usb_common.asm	/^_GPIFTCB3	=	0xe6ce$/;"	d
-_GPIFTCB3	../src/init_gpif.asm	/^_GPIFTCB3	=	0xe6ce$/;"	d
-_GPIFTCB3	../src/radar_main.asm	/^_GPIFTCB3	=	0xe6ce$/;"	d
-_GPIFTCB3	../src/usrp_common.asm	/^_GPIFTCB3	=	0xe6ce$/;"	d
-_GPIFTRIG	../lib/fx2utils.asm	/^_GPIFTRIG	=	0x00bb$/;"	d
-_GPIFTRIG	../lib/isr.asm	/^_GPIFTRIG	=	0x00bb$/;"	d
-_GPIFTRIG	../lib/timer.asm	/^_GPIFTRIG	=	0x00bb$/;"	d
-_GPIFTRIG	../lib/usb_common.asm	/^_GPIFTRIG	=	0x00bb$/;"	d
-_GPIFTRIG	../src/init_gpif.asm	/^_GPIFTRIG	=	0x00bb$/;"	d
-_GPIFTRIG	../src/radar_main.asm	/^_GPIFTRIG	=	0x00bb$/;"	d
-_GPIFTRIG	../src/usrp_common.asm	/^_GPIFTRIG	=	0x00bb$/;"	d
-_GPIFWFSELECT	../lib/fx2utils.asm	/^_GPIFWFSELECT	=	0xe6c0$/;"	d
-_GPIFWFSELECT	../lib/isr.asm	/^_GPIFWFSELECT	=	0xe6c0$/;"	d
-_GPIFWFSELECT	../lib/timer.asm	/^_GPIFWFSELECT	=	0xe6c0$/;"	d
-_GPIFWFSELECT	../lib/usb_common.asm	/^_GPIFWFSELECT	=	0xe6c0$/;"	d
-_GPIFWFSELECT	../src/init_gpif.asm	/^_GPIFWFSELECT	=	0xe6c0$/;"	d
-_GPIFWFSELECT	../src/radar_main.asm	/^_GPIFWFSELECT	=	0xe6c0$/;"	d
-_GPIFWFSELECT	../src/usrp_common.asm	/^_GPIFWFSELECT	=	0xe6c0$/;"	d
-_GPIF_WAVE_DATA	../lib/fx2utils.asm	/^_GPIF_WAVE_DATA	=	0xe400$/;"	d
-_GPIF_WAVE_DATA	../lib/isr.asm	/^_GPIF_WAVE_DATA	=	0xe400$/;"	d
-_GPIF_WAVE_DATA	../lib/timer.asm	/^_GPIF_WAVE_DATA	=	0xe400$/;"	d
-_GPIF_WAVE_DATA	../lib/usb_common.asm	/^_GPIF_WAVE_DATA	=	0xe400$/;"	d
-_GPIF_WAVE_DATA	../src/init_gpif.asm	/^_GPIF_WAVE_DATA	=	0xe400$/;"	d
-_GPIF_WAVE_DATA	../src/radar_main.asm	/^_GPIF_WAVE_DATA	=	0xe400$/;"	d
-_GPIF_WAVE_DATA	../src/usrp_common.asm	/^_GPIF_WAVE_DATA	=	0xe400$/;"	d
-_I2CS	../lib/fx2utils.asm	/^_I2CS	=	0xe678$/;"	d
-_I2CS	../lib/isr.asm	/^_I2CS	=	0xe678$/;"	d
-_I2CS	../lib/timer.asm	/^_I2CS	=	0xe678$/;"	d
-_I2CS	../lib/usb_common.asm	/^_I2CS	=	0xe678$/;"	d
-_I2CS	../src/init_gpif.asm	/^_I2CS	=	0xe678$/;"	d
-_I2CS	../src/radar_main.asm	/^_I2CS	=	0xe678$/;"	d
-_I2CS	../src/usrp_common.asm	/^_I2CS	=	0xe678$/;"	d
-_I2CTL	../lib/fx2utils.asm	/^_I2CTL	=	0xe67a$/;"	d
-_I2CTL	../lib/isr.asm	/^_I2CTL	=	0xe67a$/;"	d
-_I2CTL	../lib/timer.asm	/^_I2CTL	=	0xe67a$/;"	d
-_I2CTL	../lib/usb_common.asm	/^_I2CTL	=	0xe67a$/;"	d
-_I2CTL	../src/init_gpif.asm	/^_I2CTL	=	0xe67a$/;"	d
-_I2CTL	../src/radar_main.asm	/^_I2CTL	=	0xe67a$/;"	d
-_I2CTL	../src/usrp_common.asm	/^_I2CTL	=	0xe67a$/;"	d
-_I2DAT	../lib/fx2utils.asm	/^_I2DAT	=	0xe679$/;"	d
-_I2DAT	../lib/isr.asm	/^_I2DAT	=	0xe679$/;"	d
-_I2DAT	../lib/timer.asm	/^_I2DAT	=	0xe679$/;"	d
-_I2DAT	../lib/usb_common.asm	/^_I2DAT	=	0xe679$/;"	d
-_I2DAT	../src/init_gpif.asm	/^_I2DAT	=	0xe679$/;"	d
-_I2DAT	../src/radar_main.asm	/^_I2DAT	=	0xe679$/;"	d
-_I2DAT	../src/usrp_common.asm	/^_I2DAT	=	0xe679$/;"	d
-_IBNIE	../lib/fx2utils.asm	/^_IBNIE	=	0xe658$/;"	d
-_IBNIE	../lib/isr.asm	/^_IBNIE	=	0xe658$/;"	d
-_IBNIE	../lib/timer.asm	/^_IBNIE	=	0xe658$/;"	d
-_IBNIE	../lib/usb_common.asm	/^_IBNIE	=	0xe658$/;"	d
-_IBNIE	../src/init_gpif.asm	/^_IBNIE	=	0xe658$/;"	d
-_IBNIE	../src/radar_main.asm	/^_IBNIE	=	0xe658$/;"	d
-_IBNIE	../src/usrp_common.asm	/^_IBNIE	=	0xe658$/;"	d
-_IBNIRQ	../lib/fx2utils.asm	/^_IBNIRQ	=	0xe659$/;"	d
-_IBNIRQ	../lib/isr.asm	/^_IBNIRQ	=	0xe659$/;"	d
-_IBNIRQ	../lib/timer.asm	/^_IBNIRQ	=	0xe659$/;"	d
-_IBNIRQ	../lib/usb_common.asm	/^_IBNIRQ	=	0xe659$/;"	d
-_IBNIRQ	../src/init_gpif.asm	/^_IBNIRQ	=	0xe659$/;"	d
-_IBNIRQ	../src/radar_main.asm	/^_IBNIRQ	=	0xe659$/;"	d
-_IBNIRQ	../src/usrp_common.asm	/^_IBNIRQ	=	0xe659$/;"	d
-_IE	../lib/fx2utils.asm	/^_IE	=	0x00a8$/;"	d
-_IE	../lib/isr.asm	/^_IE	=	0x00a8$/;"	d
-_IE	../lib/timer.asm	/^_IE	=	0x00a8$/;"	d
-_IE	../lib/usb_common.asm	/^_IE	=	0x00a8$/;"	d
-_IE	../src/init_gpif.asm	/^_IE	=	0x00a8$/;"	d
-_IE	../src/radar_main.asm	/^_IE	=	0x00a8$/;"	d
-_IE	../src/usrp_common.asm	/^_IE	=	0x00a8$/;"	d
-_IE0	../lib/fx2utils.asm	/^_IE0	=	0x0089$/;"	d
-_IE0	../lib/isr.asm	/^_IE0	=	0x0089$/;"	d
-_IE0	../lib/timer.asm	/^_IE0	=	0x0089$/;"	d
-_IE0	../lib/usb_common.asm	/^_IE0	=	0x0089$/;"	d
-_IE0	../src/init_gpif.asm	/^_IE0	=	0x0089$/;"	d
-_IE0	../src/radar_main.asm	/^_IE0	=	0x0089$/;"	d
-_IE0	../src/usrp_common.asm	/^_IE0	=	0x0089$/;"	d
-_IE1	../lib/fx2utils.asm	/^_IE1	=	0x008b$/;"	d
-_IE1	../lib/isr.asm	/^_IE1	=	0x008b$/;"	d
-_IE1	../lib/timer.asm	/^_IE1	=	0x008b$/;"	d
-_IE1	../lib/usb_common.asm	/^_IE1	=	0x008b$/;"	d
-_IE1	../src/init_gpif.asm	/^_IE1	=	0x008b$/;"	d
-_IE1	../src/radar_main.asm	/^_IE1	=	0x008b$/;"	d
-_IE1	../src/usrp_common.asm	/^_IE1	=	0x008b$/;"	d
-_IFCONFIG	../lib/fx2utils.asm	/^_IFCONFIG	=	0xe601$/;"	d
-_IFCONFIG	../lib/isr.asm	/^_IFCONFIG	=	0xe601$/;"	d
-_IFCONFIG	../lib/timer.asm	/^_IFCONFIG	=	0xe601$/;"	d
-_IFCONFIG	../lib/usb_common.asm	/^_IFCONFIG	=	0xe601$/;"	d
-_IFCONFIG	../src/init_gpif.asm	/^_IFCONFIG	=	0xe601$/;"	d
-_IFCONFIG	../src/radar_main.asm	/^_IFCONFIG	=	0xe601$/;"	d
-_IFCONFIG	../src/usrp_common.asm	/^_IFCONFIG	=	0xe601$/;"	d
-_INPKTEND	../lib/fx2utils.asm	/^_INPKTEND	=	0xe648$/;"	d
-_INPKTEND	../lib/isr.asm	/^_INPKTEND	=	0xe648$/;"	d
-_INPKTEND	../lib/timer.asm	/^_INPKTEND	=	0xe648$/;"	d
-_INPKTEND	../lib/usb_common.asm	/^_INPKTEND	=	0xe648$/;"	d
-_INPKTEND	../src/init_gpif.asm	/^_INPKTEND	=	0xe648$/;"	d
-_INPKTEND	../src/radar_main.asm	/^_INPKTEND	=	0xe648$/;"	d
-_INPKTEND	../src/usrp_common.asm	/^_INPKTEND	=	0xe648$/;"	d
-_INT2CLR	../lib/fx2utils.asm	/^_INT2CLR	=	0x00a1$/;"	d
-_INT2CLR	../lib/isr.asm	/^_INT2CLR	=	0x00a1$/;"	d
-_INT2CLR	../lib/timer.asm	/^_INT2CLR	=	0x00a1$/;"	d
-_INT2CLR	../lib/usb_common.asm	/^_INT2CLR	=	0x00a1$/;"	d
-_INT2CLR	../src/init_gpif.asm	/^_INT2CLR	=	0x00a1$/;"	d
-_INT2CLR	../src/radar_main.asm	/^_INT2CLR	=	0x00a1$/;"	d
-_INT2CLR	../src/usrp_common.asm	/^_INT2CLR	=	0x00a1$/;"	d
-_INT2IVEC	../lib/fx2utils.asm	/^_INT2IVEC	=	0xe666$/;"	d
-_INT2IVEC	../lib/isr.asm	/^_INT2IVEC	=	0xe666$/;"	d
-_INT2IVEC	../lib/timer.asm	/^_INT2IVEC	=	0xe666$/;"	d
-_INT2IVEC	../lib/usb_common.asm	/^_INT2IVEC	=	0xe666$/;"	d
-_INT2IVEC	../src/init_gpif.asm	/^_INT2IVEC	=	0xe666$/;"	d
-_INT2IVEC	../src/radar_main.asm	/^_INT2IVEC	=	0xe666$/;"	d
-_INT2IVEC	../src/usrp_common.asm	/^_INT2IVEC	=	0xe666$/;"	d
-_INT4CLR	../lib/fx2utils.asm	/^_INT4CLR	=	0x00a2$/;"	d
-_INT4CLR	../lib/isr.asm	/^_INT4CLR	=	0x00a2$/;"	d
-_INT4CLR	../lib/timer.asm	/^_INT4CLR	=	0x00a2$/;"	d
-_INT4CLR	../lib/usb_common.asm	/^_INT4CLR	=	0x00a2$/;"	d
-_INT4CLR	../src/init_gpif.asm	/^_INT4CLR	=	0x00a2$/;"	d
-_INT4CLR	../src/radar_main.asm	/^_INT4CLR	=	0x00a2$/;"	d
-_INT4CLR	../src/usrp_common.asm	/^_INT4CLR	=	0x00a2$/;"	d
-_INT4IVEC	../lib/fx2utils.asm	/^_INT4IVEC	=	0xe667$/;"	d
-_INT4IVEC	../lib/isr.asm	/^_INT4IVEC	=	0xe667$/;"	d
-_INT4IVEC	../lib/timer.asm	/^_INT4IVEC	=	0xe667$/;"	d
-_INT4IVEC	../lib/usb_common.asm	/^_INT4IVEC	=	0xe667$/;"	d
-_INT4IVEC	../src/init_gpif.asm	/^_INT4IVEC	=	0xe667$/;"	d
-_INT4IVEC	../src/radar_main.asm	/^_INT4IVEC	=	0xe667$/;"	d
-_INT4IVEC	../src/usrp_common.asm	/^_INT4IVEC	=	0xe667$/;"	d
-_INT6	../lib/fx2utils.asm	/^_INT6	=	0x00db$/;"	d
-_INT6	../lib/isr.asm	/^_INT6	=	0x00db$/;"	d
-_INT6	../lib/timer.asm	/^_INT6	=	0x00db$/;"	d
-_INT6	../lib/usb_common.asm	/^_INT6	=	0x00db$/;"	d
-_INT6	../src/init_gpif.asm	/^_INT6	=	0x00db$/;"	d
-_INT6	../src/radar_main.asm	/^_INT6	=	0x00db$/;"	d
-_INT6	../src/usrp_common.asm	/^_INT6	=	0x00db$/;"	d
-_INTSETUP	../lib/fx2utils.asm	/^_INTSETUP	=	0xe668$/;"	d
-_INTSETUP	../lib/isr.asm	/^_INTSETUP	=	0xe668$/;"	d
-_INTSETUP	../lib/timer.asm	/^_INTSETUP	=	0xe668$/;"	d
-_INTSETUP	../lib/usb_common.asm	/^_INTSETUP	=	0xe668$/;"	d
-_INTSETUP	../src/init_gpif.asm	/^_INTSETUP	=	0xe668$/;"	d
-_INTSETUP	../src/radar_main.asm	/^_INTSETUP	=	0xe668$/;"	d
-_INTSETUP	../src/usrp_common.asm	/^_INTSETUP	=	0xe668$/;"	d
-_IOA	../lib/fx2utils.asm	/^_IOA	=	0x0080$/;"	d
-_IOA	../lib/isr.asm	/^_IOA	=	0x0080$/;"	d
-_IOA	../lib/timer.asm	/^_IOA	=	0x0080$/;"	d
-_IOA	../lib/usb_common.asm	/^_IOA	=	0x0080$/;"	d
-_IOA	../src/init_gpif.asm	/^_IOA	=	0x0080$/;"	d
-_IOA	../src/radar_main.asm	/^_IOA	=	0x0080$/;"	d
-_IOA	../src/usrp_common.asm	/^_IOA	=	0x0080$/;"	d
-_IOB	../lib/fx2utils.asm	/^_IOB	=	0x0090$/;"	d
-_IOB	../lib/isr.asm	/^_IOB	=	0x0090$/;"	d
-_IOB	../lib/timer.asm	/^_IOB	=	0x0090$/;"	d
-_IOB	../lib/usb_common.asm	/^_IOB	=	0x0090$/;"	d
-_IOB	../src/init_gpif.asm	/^_IOB	=	0x0090$/;"	d
-_IOB	../src/radar_main.asm	/^_IOB	=	0x0090$/;"	d
-_IOB	../src/usrp_common.asm	/^_IOB	=	0x0090$/;"	d
-_IOC	../lib/fx2utils.asm	/^_IOC	=	0x00a0$/;"	d
-_IOC	../lib/isr.asm	/^_IOC	=	0x00a0$/;"	d
-_IOC	../lib/timer.asm	/^_IOC	=	0x00a0$/;"	d
-_IOC	../lib/usb_common.asm	/^_IOC	=	0x00a0$/;"	d
-_IOC	../src/init_gpif.asm	/^_IOC	=	0x00a0$/;"	d
-_IOC	../src/radar_main.asm	/^_IOC	=	0x00a0$/;"	d
-_IOC	../src/usrp_common.asm	/^_IOC	=	0x00a0$/;"	d
-_IOD	../lib/fx2utils.asm	/^_IOD	=	0x00b0$/;"	d
-_IOD	../lib/isr.asm	/^_IOD	=	0x00b0$/;"	d
-_IOD	../lib/timer.asm	/^_IOD	=	0x00b0$/;"	d
-_IOD	../lib/usb_common.asm	/^_IOD	=	0x00b0$/;"	d
-_IOD	../src/init_gpif.asm	/^_IOD	=	0x00b0$/;"	d
-_IOD	../src/radar_main.asm	/^_IOD	=	0x00b0$/;"	d
-_IOD	../src/usrp_common.asm	/^_IOD	=	0x00b0$/;"	d
-_IOE	../lib/fx2utils.asm	/^_IOE	=	0x00b1$/;"	d
-_IOE	../lib/isr.asm	/^_IOE	=	0x00b1$/;"	d
-_IOE	../lib/timer.asm	/^_IOE	=	0x00b1$/;"	d
-_IOE	../lib/usb_common.asm	/^_IOE	=	0x00b1$/;"	d
-_IOE	../src/init_gpif.asm	/^_IOE	=	0x00b1$/;"	d
-_IOE	../src/radar_main.asm	/^_IOE	=	0x00b1$/;"	d
-_IOE	../src/usrp_common.asm	/^_IOE	=	0x00b1$/;"	d
-_IP	../lib/fx2utils.asm	/^_IP	=	0x00b8$/;"	d
-_IP	../lib/isr.asm	/^_IP	=	0x00b8$/;"	d
-_IP	../lib/timer.asm	/^_IP	=	0x00b8$/;"	d
-_IP	../lib/usb_common.asm	/^_IP	=	0x00b8$/;"	d
-_IP	../src/init_gpif.asm	/^_IP	=	0x00b8$/;"	d
-_IP	../src/radar_main.asm	/^_IP	=	0x00b8$/;"	d
-_IP	../src/usrp_common.asm	/^_IP	=	0x00b8$/;"	d
-_ISR_H_	../include/isr.h	24;"	d
-_IT0	../lib/fx2utils.asm	/^_IT0	=	0x0088$/;"	d
-_IT0	../lib/isr.asm	/^_IT0	=	0x0088$/;"	d
-_IT0	../lib/timer.asm	/^_IT0	=	0x0088$/;"	d
-_IT0	../lib/usb_common.asm	/^_IT0	=	0x0088$/;"	d
-_IT0	../src/init_gpif.asm	/^_IT0	=	0x0088$/;"	d
-_IT0	../src/radar_main.asm	/^_IT0	=	0x0088$/;"	d
-_IT0	../src/usrp_common.asm	/^_IT0	=	0x0088$/;"	d
-_IT1	../lib/fx2utils.asm	/^_IT1	=	0x008a$/;"	d
-_IT1	../lib/isr.asm	/^_IT1	=	0x008a$/;"	d
-_IT1	../lib/timer.asm	/^_IT1	=	0x008a$/;"	d
-_IT1	../lib/usb_common.asm	/^_IT1	=	0x008a$/;"	d
-_IT1	../src/init_gpif.asm	/^_IT1	=	0x008a$/;"	d
-_IT1	../src/radar_main.asm	/^_IT1	=	0x008a$/;"	d
-_IT1	../src/usrp_common.asm	/^_IT1	=	0x008a$/;"	d
-_InitData	../src/radar_gpif2.asm	/^_InitData:$/;"	l
-_LED0_OFF	../src/init_gpif.asm	/^_LED0_OFF	=	0x8100$/;"	d
-_LED0_OFF	../src/radar_main.asm	/^_LED0_OFF	=	0x8100$/;"	d
-_LED0_OFF	../src/usrp_common.asm	/^_LED0_OFF	=	0x8100$/;"	d
-_LED0_ON	../src/init_gpif.asm	/^_LED0_ON	=	0x8000$/;"	d
-_LED0_ON	../src/radar_main.asm	/^_LED0_ON	=	0x8000$/;"	d
-_LED0_ON	../src/usrp_common.asm	/^_LED0_ON	=	0x8000$/;"	d
-_LED1_OFF	../src/init_gpif.asm	/^_LED1_OFF	=	0x9100$/;"	d
-_LED1_OFF	../src/radar_main.asm	/^_LED1_OFF	=	0x9100$/;"	d
-_LED1_OFF	../src/usrp_common.asm	/^_LED1_OFF	=	0x9100$/;"	d
-_LED1_ON	../src/init_gpif.asm	/^_LED1_ON	=	0x9000$/;"	d
-_LED1_ON	../src/radar_main.asm	/^_LED1_ON	=	0x9000$/;"	d
-_LED1_ON	../src/usrp_common.asm	/^_LED1_ON	=	0x9000$/;"	d
-_LED2_OFF	../src/init_gpif.asm	/^_LED2_OFF	=	0xa100$/;"	d
-_LED2_OFF	../src/radar_main.asm	/^_LED2_OFF	=	0xa100$/;"	d
-_LED2_OFF	../src/usrp_common.asm	/^_LED2_OFF	=	0xa100$/;"	d
-_LED2_ON	../src/init_gpif.asm	/^_LED2_ON	=	0xa000$/;"	d
-_LED2_ON	../src/radar_main.asm	/^_LED2_ON	=	0xa000$/;"	d
-_LED2_ON	../src/usrp_common.asm	/^_LED2_ON	=	0xa000$/;"	d
-_LED3_OFF	../src/init_gpif.asm	/^_LED3_OFF	=	0xb100$/;"	d
-_LED3_OFF	../src/radar_main.asm	/^_LED3_OFF	=	0xb100$/;"	d
-_LED3_OFF	../src/usrp_common.asm	/^_LED3_OFF	=	0xb100$/;"	d
-_LED3_ON	../src/init_gpif.asm	/^_LED3_ON	=	0xb000$/;"	d
-_LED3_ON	../src/radar_main.asm	/^_LED3_ON	=	0xb000$/;"	d
-_LED3_ON	../src/usrp_common.asm	/^_LED3_ON	=	0xb000$/;"	d
-_MICROFRAME	../lib/fx2utils.asm	/^_MICROFRAME	=	0xe686$/;"	d
-_MICROFRAME	../lib/isr.asm	/^_MICROFRAME	=	0xe686$/;"	d
-_MICROFRAME	../lib/timer.asm	/^_MICROFRAME	=	0xe686$/;"	d
-_MICROFRAME	../lib/usb_common.asm	/^_MICROFRAME	=	0xe686$/;"	d
-_MICROFRAME	../src/init_gpif.asm	/^_MICROFRAME	=	0xe686$/;"	d
-_MICROFRAME	../src/radar_main.asm	/^_MICROFRAME	=	0xe686$/;"	d
-_MICROFRAME	../src/usrp_common.asm	/^_MICROFRAME	=	0xe686$/;"	d
-_MPAGE	../lib/fx2utils.asm	/^_MPAGE	=	0x0092$/;"	d
-_MPAGE	../lib/isr.asm	/^_MPAGE	=	0x0092$/;"	d
-_MPAGE	../lib/timer.asm	/^_MPAGE	=	0x0092$/;"	d
-_MPAGE	../lib/usb_common.asm	/^_MPAGE	=	0x0092$/;"	d
-_MPAGE	../src/init_gpif.asm	/^_MPAGE	=	0x0092$/;"	d
-_MPAGE	../src/radar_main.asm	/^_MPAGE	=	0x0092$/;"	d
-_MPAGE	../src/usrp_common.asm	/^_MPAGE	=	0x0092$/;"	d
-_NAKIE	../lib/fx2utils.asm	/^_NAKIE	=	0xe65a$/;"	d
-_NAKIE	../lib/isr.asm	/^_NAKIE	=	0xe65a$/;"	d
-_NAKIE	../lib/timer.asm	/^_NAKIE	=	0xe65a$/;"	d
-_NAKIE	../lib/usb_common.asm	/^_NAKIE	=	0xe65a$/;"	d
-_NAKIE	../src/init_gpif.asm	/^_NAKIE	=	0xe65a$/;"	d
-_NAKIE	../src/radar_main.asm	/^_NAKIE	=	0xe65a$/;"	d
-_NAKIE	../src/usrp_common.asm	/^_NAKIE	=	0xe65a$/;"	d
-_NAKIRQ	../lib/fx2utils.asm	/^_NAKIRQ	=	0xe65b$/;"	d
-_NAKIRQ	../lib/isr.asm	/^_NAKIRQ	=	0xe65b$/;"	d
-_NAKIRQ	../lib/timer.asm	/^_NAKIRQ	=	0xe65b$/;"	d
-_NAKIRQ	../lib/usb_common.asm	/^_NAKIRQ	=	0xe65b$/;"	d
-_NAKIRQ	../src/init_gpif.asm	/^_NAKIRQ	=	0xe65b$/;"	d
-_NAKIRQ	../src/radar_main.asm	/^_NAKIRQ	=	0xe65b$/;"	d
-_NAKIRQ	../src/usrp_common.asm	/^_NAKIRQ	=	0xe65b$/;"	d
-_OEA	../lib/fx2utils.asm	/^_OEA	=	0x00b2$/;"	d
-_OEA	../lib/isr.asm	/^_OEA	=	0x00b2$/;"	d
-_OEA	../lib/timer.asm	/^_OEA	=	0x00b2$/;"	d
-_OEA	../lib/usb_common.asm	/^_OEA	=	0x00b2$/;"	d
-_OEA	../src/init_gpif.asm	/^_OEA	=	0x00b2$/;"	d
-_OEA	../src/radar_main.asm	/^_OEA	=	0x00b2$/;"	d
-_OEA	../src/usrp_common.asm	/^_OEA	=	0x00b2$/;"	d
-_OEB	../lib/fx2utils.asm	/^_OEB	=	0x00b3$/;"	d
-_OEB	../lib/isr.asm	/^_OEB	=	0x00b3$/;"	d
-_OEB	../lib/timer.asm	/^_OEB	=	0x00b3$/;"	d
-_OEB	../lib/usb_common.asm	/^_OEB	=	0x00b3$/;"	d
-_OEB	../src/init_gpif.asm	/^_OEB	=	0x00b3$/;"	d
-_OEB	../src/radar_main.asm	/^_OEB	=	0x00b3$/;"	d
-_OEB	../src/usrp_common.asm	/^_OEB	=	0x00b3$/;"	d
-_OEC	../lib/fx2utils.asm	/^_OEC	=	0x00b4$/;"	d
-_OEC	../lib/isr.asm	/^_OEC	=	0x00b4$/;"	d
-_OEC	../lib/timer.asm	/^_OEC	=	0x00b4$/;"	d
-_OEC	../lib/usb_common.asm	/^_OEC	=	0x00b4$/;"	d
-_OEC	../src/init_gpif.asm	/^_OEC	=	0x00b4$/;"	d
-_OEC	../src/radar_main.asm	/^_OEC	=	0x00b4$/;"	d
-_OEC	../src/usrp_common.asm	/^_OEC	=	0x00b4$/;"	d
-_OED	../lib/fx2utils.asm	/^_OED	=	0x00b5$/;"	d
-_OED	../lib/isr.asm	/^_OED	=	0x00b5$/;"	d
-_OED	../lib/timer.asm	/^_OED	=	0x00b5$/;"	d
-_OED	../lib/usb_common.asm	/^_OED	=	0x00b5$/;"	d
-_OED	../src/init_gpif.asm	/^_OED	=	0x00b5$/;"	d
-_OED	../src/radar_main.asm	/^_OED	=	0x00b5$/;"	d
-_OED	../src/usrp_common.asm	/^_OED	=	0x00b5$/;"	d
-_OEE	../lib/fx2utils.asm	/^_OEE	=	0x00b6$/;"	d
-_OEE	../lib/isr.asm	/^_OEE	=	0x00b6$/;"	d
-_OEE	../lib/timer.asm	/^_OEE	=	0x00b6$/;"	d
-_OEE	../lib/usb_common.asm	/^_OEE	=	0x00b6$/;"	d
-_OEE	../src/init_gpif.asm	/^_OEE	=	0x00b6$/;"	d
-_OEE	../src/radar_main.asm	/^_OEE	=	0x00b6$/;"	d
-_OEE	../src/usrp_common.asm	/^_OEE	=	0x00b6$/;"	d
-_OUTPKTEND	../lib/fx2utils.asm	/^_OUTPKTEND	=	0xe649$/;"	d
-_OUTPKTEND	../lib/isr.asm	/^_OUTPKTEND	=	0xe649$/;"	d
-_OUTPKTEND	../lib/timer.asm	/^_OUTPKTEND	=	0xe649$/;"	d
-_OUTPKTEND	../lib/usb_common.asm	/^_OUTPKTEND	=	0xe649$/;"	d
-_OUTPKTEND	../src/init_gpif.asm	/^_OUTPKTEND	=	0xe649$/;"	d
-_OUTPKTEND	../src/radar_main.asm	/^_OUTPKTEND	=	0xe649$/;"	d
-_OUTPKTEND	../src/usrp_common.asm	/^_OUTPKTEND	=	0xe649$/;"	d
-_OV	../lib/fx2utils.asm	/^_OV	=	0x00d2$/;"	d
-_OV	../lib/isr.asm	/^_OV	=	0x00d2$/;"	d
-_OV	../lib/timer.asm	/^_OV	=	0x00d2$/;"	d
-_OV	../lib/usb_common.asm	/^_OV	=	0x00d2$/;"	d
-_OV	../src/init_gpif.asm	/^_OV	=	0x00d2$/;"	d
-_OV	../src/radar_main.asm	/^_OV	=	0x00d2$/;"	d
-_OV	../src/usrp_common.asm	/^_OV	=	0x00d2$/;"	d
-_P	../lib/fx2utils.asm	/^_P	=	0x00d0$/;"	d
-_P	../lib/isr.asm	/^_P	=	0x00d0$/;"	d
-_P	../lib/timer.asm	/^_P	=	0x00d0$/;"	d
-_P	../lib/usb_common.asm	/^_P	=	0x00d0$/;"	d
-_P	../src/init_gpif.asm	/^_P	=	0x00d0$/;"	d
-_P	../src/radar_main.asm	/^_P	=	0x00d0$/;"	d
-_P	../src/usrp_common.asm	/^_P	=	0x00d0$/;"	d
-_PCON	../lib/fx2utils.asm	/^_PCON	=	0x0087$/;"	d
-_PCON	../lib/isr.asm	/^_PCON	=	0x0087$/;"	d
-_PCON	../lib/timer.asm	/^_PCON	=	0x0087$/;"	d
-_PCON	../lib/usb_common.asm	/^_PCON	=	0x0087$/;"	d
-_PCON	../src/init_gpif.asm	/^_PCON	=	0x0087$/;"	d
-_PCON	../src/radar_main.asm	/^_PCON	=	0x0087$/;"	d
-_PCON	../src/usrp_common.asm	/^_PCON	=	0x0087$/;"	d
-_PI2C	../lib/fx2utils.asm	/^_PI2C	=	0x00f9$/;"	d
-_PI2C	../lib/isr.asm	/^_PI2C	=	0x00f9$/;"	d
-_PI2C	../lib/timer.asm	/^_PI2C	=	0x00f9$/;"	d
-_PI2C	../lib/usb_common.asm	/^_PI2C	=	0x00f9$/;"	d
-_PI2C	../src/init_gpif.asm	/^_PI2C	=	0x00f9$/;"	d
-_PI2C	../src/radar_main.asm	/^_PI2C	=	0x00f9$/;"	d
-_PI2C	../src/usrp_common.asm	/^_PI2C	=	0x00f9$/;"	d
-_PINFLAGSAB	../lib/fx2utils.asm	/^_PINFLAGSAB	=	0xe602$/;"	d
-_PINFLAGSAB	../lib/isr.asm	/^_PINFLAGSAB	=	0xe602$/;"	d
-_PINFLAGSAB	../lib/timer.asm	/^_PINFLAGSAB	=	0xe602$/;"	d
-_PINFLAGSAB	../lib/usb_common.asm	/^_PINFLAGSAB	=	0xe602$/;"	d
-_PINFLAGSAB	../src/init_gpif.asm	/^_PINFLAGSAB	=	0xe602$/;"	d
-_PINFLAGSAB	../src/radar_main.asm	/^_PINFLAGSAB	=	0xe602$/;"	d
-_PINFLAGSAB	../src/usrp_common.asm	/^_PINFLAGSAB	=	0xe602$/;"	d
-_PINFLAGSCD	../lib/fx2utils.asm	/^_PINFLAGSCD	=	0xe603$/;"	d
-_PINFLAGSCD	../lib/isr.asm	/^_PINFLAGSCD	=	0xe603$/;"	d
-_PINFLAGSCD	../lib/timer.asm	/^_PINFLAGSCD	=	0xe603$/;"	d
-_PINFLAGSCD	../lib/usb_common.asm	/^_PINFLAGSCD	=	0xe603$/;"	d
-_PINFLAGSCD	../src/init_gpif.asm	/^_PINFLAGSCD	=	0xe603$/;"	d
-_PINFLAGSCD	../src/radar_main.asm	/^_PINFLAGSCD	=	0xe603$/;"	d
-_PINFLAGSCD	../src/usrp_common.asm	/^_PINFLAGSCD	=	0xe603$/;"	d
-_PORTACFG	../lib/fx2utils.asm	/^_PORTACFG	=	0xe670$/;"	d
-_PORTACFG	../lib/isr.asm	/^_PORTACFG	=	0xe670$/;"	d
-_PORTACFG	../lib/timer.asm	/^_PORTACFG	=	0xe670$/;"	d
-_PORTACFG	../lib/usb_common.asm	/^_PORTACFG	=	0xe670$/;"	d
-_PORTACFG	../src/init_gpif.asm	/^_PORTACFG	=	0xe670$/;"	d
-_PORTACFG	../src/radar_main.asm	/^_PORTACFG	=	0xe670$/;"	d
-_PORTACFG	../src/usrp_common.asm	/^_PORTACFG	=	0xe670$/;"	d
-_PORTCCFG	../lib/fx2utils.asm	/^_PORTCCFG	=	0xe671$/;"	d
-_PORTCCFG	../lib/isr.asm	/^_PORTCCFG	=	0xe671$/;"	d
-_PORTCCFG	../lib/timer.asm	/^_PORTCCFG	=	0xe671$/;"	d
-_PORTCCFG	../lib/usb_common.asm	/^_PORTCCFG	=	0xe671$/;"	d
-_PORTCCFG	../src/init_gpif.asm	/^_PORTCCFG	=	0xe671$/;"	d
-_PORTCCFG	../src/radar_main.asm	/^_PORTCCFG	=	0xe671$/;"	d
-_PORTCCFG	../src/usrp_common.asm	/^_PORTCCFG	=	0xe671$/;"	d
-_PORTECFG	../lib/fx2utils.asm	/^_PORTECFG	=	0xe672$/;"	d
-_PORTECFG	../lib/isr.asm	/^_PORTECFG	=	0xe672$/;"	d
-_PORTECFG	../lib/timer.asm	/^_PORTECFG	=	0xe672$/;"	d
-_PORTECFG	../lib/usb_common.asm	/^_PORTECFG	=	0xe672$/;"	d
-_PORTECFG	../src/init_gpif.asm	/^_PORTECFG	=	0xe672$/;"	d
-_PORTECFG	../src/radar_main.asm	/^_PORTECFG	=	0xe672$/;"	d
-_PORTECFG	../src/usrp_common.asm	/^_PORTECFG	=	0xe672$/;"	d
-_PS0	../lib/fx2utils.asm	/^_PS0	=	0x00bc$/;"	d
-_PS0	../lib/isr.asm	/^_PS0	=	0x00bc$/;"	d
-_PS0	../lib/timer.asm	/^_PS0	=	0x00bc$/;"	d
-_PS0	../lib/usb_common.asm	/^_PS0	=	0x00bc$/;"	d
-_PS0	../src/init_gpif.asm	/^_PS0	=	0x00bc$/;"	d
-_PS0	../src/radar_main.asm	/^_PS0	=	0x00bc$/;"	d
-_PS0	../src/usrp_common.asm	/^_PS0	=	0x00bc$/;"	d
-_PS1	../lib/fx2utils.asm	/^_PS1	=	0x00be$/;"	d
-_PS1	../lib/isr.asm	/^_PS1	=	0x00be$/;"	d
-_PS1	../lib/timer.asm	/^_PS1	=	0x00be$/;"	d
-_PS1	../lib/usb_common.asm	/^_PS1	=	0x00be$/;"	d
-_PS1	../src/init_gpif.asm	/^_PS1	=	0x00be$/;"	d
-_PS1	../src/radar_main.asm	/^_PS1	=	0x00be$/;"	d
-_PS1	../src/usrp_common.asm	/^_PS1	=	0x00be$/;"	d
-_PSW	../lib/fx2utils.asm	/^_PSW	=	0x00d0$/;"	d
-_PSW	../lib/isr.asm	/^_PSW	=	0x00d0$/;"	d
-_PSW	../lib/timer.asm	/^_PSW	=	0x00d0$/;"	d
-_PSW	../lib/usb_common.asm	/^_PSW	=	0x00d0$/;"	d
-_PSW	../src/init_gpif.asm	/^_PSW	=	0x00d0$/;"	d
-_PSW	../src/radar_main.asm	/^_PSW	=	0x00d0$/;"	d
-_PSW	../src/usrp_common.asm	/^_PSW	=	0x00d0$/;"	d
-_PT0	../lib/fx2utils.asm	/^_PT0	=	0x00b9$/;"	d
-_PT0	../lib/isr.asm	/^_PT0	=	0x00b9$/;"	d
-_PT0	../lib/timer.asm	/^_PT0	=	0x00b9$/;"	d
-_PT0	../lib/usb_common.asm	/^_PT0	=	0x00b9$/;"	d
-_PT0	../src/init_gpif.asm	/^_PT0	=	0x00b9$/;"	d
-_PT0	../src/radar_main.asm	/^_PT0	=	0x00b9$/;"	d
-_PT0	../src/usrp_common.asm	/^_PT0	=	0x00b9$/;"	d
-_PT1	../lib/fx2utils.asm	/^_PT1	=	0x00bb$/;"	d
-_PT1	../lib/isr.asm	/^_PT1	=	0x00bb$/;"	d
-_PT1	../lib/timer.asm	/^_PT1	=	0x00bb$/;"	d
-_PT1	../lib/usb_common.asm	/^_PT1	=	0x00bb$/;"	d
-_PT1	../src/init_gpif.asm	/^_PT1	=	0x00bb$/;"	d
-_PT1	../src/radar_main.asm	/^_PT1	=	0x00bb$/;"	d
-_PT1	../src/usrp_common.asm	/^_PT1	=	0x00bb$/;"	d
-_PT2	../lib/fx2utils.asm	/^_PT2	=	0x00bd$/;"	d
-_PT2	../lib/isr.asm	/^_PT2	=	0x00bd$/;"	d
-_PT2	../lib/timer.asm	/^_PT2	=	0x00bd$/;"	d
-_PT2	../lib/usb_common.asm	/^_PT2	=	0x00bd$/;"	d
-_PT2	../src/init_gpif.asm	/^_PT2	=	0x00bd$/;"	d
-_PT2	../src/radar_main.asm	/^_PT2	=	0x00bd$/;"	d
-_PT2	../src/usrp_common.asm	/^_PT2	=	0x00bd$/;"	d
-_PUSB	../lib/fx2utils.asm	/^_PUSB	=	0x00f8$/;"	d
-_PUSB	../lib/isr.asm	/^_PUSB	=	0x00f8$/;"	d
-_PUSB	../lib/timer.asm	/^_PUSB	=	0x00f8$/;"	d
-_PUSB	../lib/usb_common.asm	/^_PUSB	=	0x00f8$/;"	d
-_PUSB	../src/init_gpif.asm	/^_PUSB	=	0x00f8$/;"	d
-_PUSB	../src/radar_main.asm	/^_PUSB	=	0x00f8$/;"	d
-_PUSB	../src/usrp_common.asm	/^_PUSB	=	0x00f8$/;"	d
-_PX0	../lib/fx2utils.asm	/^_PX0	=	0x00b8$/;"	d
-_PX0	../lib/isr.asm	/^_PX0	=	0x00b8$/;"	d
-_PX0	../lib/timer.asm	/^_PX0	=	0x00b8$/;"	d
-_PX0	../lib/usb_common.asm	/^_PX0	=	0x00b8$/;"	d
-_PX0	../src/init_gpif.asm	/^_PX0	=	0x00b8$/;"	d
-_PX0	../src/radar_main.asm	/^_PX0	=	0x00b8$/;"	d
-_PX0	../src/usrp_common.asm	/^_PX0	=	0x00b8$/;"	d
-_PX1	../lib/fx2utils.asm	/^_PX1	=	0x00ba$/;"	d
-_PX1	../lib/isr.asm	/^_PX1	=	0x00ba$/;"	d
-_PX1	../lib/timer.asm	/^_PX1	=	0x00ba$/;"	d
-_PX1	../lib/usb_common.asm	/^_PX1	=	0x00ba$/;"	d
-_PX1	../src/init_gpif.asm	/^_PX1	=	0x00ba$/;"	d
-_PX1	../src/radar_main.asm	/^_PX1	=	0x00ba$/;"	d
-_PX1	../src/usrp_common.asm	/^_PX1	=	0x00ba$/;"	d
-_RADAR_REV1_REGS_H_	../include/radar_rev1_regs.h	27;"	d
-_RB8	../lib/fx2utils.asm	/^_RB8	=	0x009a$/;"	d
-_RB8	../lib/isr.asm	/^_RB8	=	0x009a$/;"	d
-_RB8	../lib/timer.asm	/^_RB8	=	0x009a$/;"	d
-_RB8	../lib/usb_common.asm	/^_RB8	=	0x009a$/;"	d
-_RB8	../src/init_gpif.asm	/^_RB8	=	0x009a$/;"	d
-_RB8	../src/radar_main.asm	/^_RB8	=	0x009a$/;"	d
-_RB8	../src/usrp_common.asm	/^_RB8	=	0x009a$/;"	d
-_RB81	../lib/fx2utils.asm	/^_RB81	=	0x00c2$/;"	d
-_RB81	../lib/isr.asm	/^_RB81	=	0x00c2$/;"	d
-_RB81	../lib/timer.asm	/^_RB81	=	0x00c2$/;"	d
-_RB81	../lib/usb_common.asm	/^_RB81	=	0x00c2$/;"	d
-_RB81	../src/init_gpif.asm	/^_RB81	=	0x00c2$/;"	d
-_RB81	../src/radar_main.asm	/^_RB81	=	0x00c2$/;"	d
-_RB81	../src/usrp_common.asm	/^_RB81	=	0x00c2$/;"	d
-_RCAP2H	../lib/fx2utils.asm	/^_RCAP2H	=	0x00cb$/;"	d
-_RCAP2H	../lib/isr.asm	/^_RCAP2H	=	0x00cb$/;"	d
-_RCAP2H	../lib/timer.asm	/^_RCAP2H	=	0x00cb$/;"	d
-_RCAP2H	../lib/usb_common.asm	/^_RCAP2H	=	0x00cb$/;"	d
-_RCAP2H	../src/init_gpif.asm	/^_RCAP2H	=	0x00cb$/;"	d
-_RCAP2H	../src/radar_main.asm	/^_RCAP2H	=	0x00cb$/;"	d
-_RCAP2H	../src/usrp_common.asm	/^_RCAP2H	=	0x00cb$/;"	d
-_RCAP2L	../lib/fx2utils.asm	/^_RCAP2L	=	0x00ca$/;"	d
-_RCAP2L	../lib/isr.asm	/^_RCAP2L	=	0x00ca$/;"	d
-_RCAP2L	../lib/timer.asm	/^_RCAP2L	=	0x00ca$/;"	d
-_RCAP2L	../lib/usb_common.asm	/^_RCAP2L	=	0x00ca$/;"	d
-_RCAP2L	../src/init_gpif.asm	/^_RCAP2L	=	0x00ca$/;"	d
-_RCAP2L	../src/radar_main.asm	/^_RCAP2L	=	0x00ca$/;"	d
-_RCAP2L	../src/usrp_common.asm	/^_RCAP2L	=	0x00ca$/;"	d
-_RCLK	../lib/fx2utils.asm	/^_RCLK	=	0x00cd$/;"	d
-_RCLK	../lib/isr.asm	/^_RCLK	=	0x00cd$/;"	d
-_RCLK	../lib/timer.asm	/^_RCLK	=	0x00cd$/;"	d
-_RCLK	../lib/usb_common.asm	/^_RCLK	=	0x00cd$/;"	d
-_RCLK	../src/init_gpif.asm	/^_RCLK	=	0x00cd$/;"	d
-_RCLK	../src/radar_main.asm	/^_RCLK	=	0x00cd$/;"	d
-_RCLK	../src/usrp_common.asm	/^_RCLK	=	0x00cd$/;"	d
-_REN	../lib/fx2utils.asm	/^_REN	=	0x009c$/;"	d
-_REN	../lib/isr.asm	/^_REN	=	0x009c$/;"	d
-_REN	../lib/timer.asm	/^_REN	=	0x009c$/;"	d
-_REN	../lib/usb_common.asm	/^_REN	=	0x009c$/;"	d
-_REN	../src/init_gpif.asm	/^_REN	=	0x009c$/;"	d
-_REN	../src/radar_main.asm	/^_REN	=	0x009c$/;"	d
-_REN	../src/usrp_common.asm	/^_REN	=	0x009c$/;"	d
-_REN1	../lib/fx2utils.asm	/^_REN1	=	0x00c4$/;"	d
-_REN1	../lib/isr.asm	/^_REN1	=	0x00c4$/;"	d
-_REN1	../lib/timer.asm	/^_REN1	=	0x00c4$/;"	d
-_REN1	../lib/usb_common.asm	/^_REN1	=	0x00c4$/;"	d
-_REN1	../src/init_gpif.asm	/^_REN1	=	0x00c4$/;"	d
-_REN1	../src/radar_main.asm	/^_REN1	=	0x00c4$/;"	d
-_REN1	../src/usrp_common.asm	/^_REN1	=	0x00c4$/;"	d
-_RESI	../lib/fx2utils.asm	/^_RESI	=	0x00dc$/;"	d
-_RESI	../lib/isr.asm	/^_RESI	=	0x00dc$/;"	d
-_RESI	../lib/timer.asm	/^_RESI	=	0x00dc$/;"	d
-_RESI	../lib/usb_common.asm	/^_RESI	=	0x00dc$/;"	d
-_RESI	../src/init_gpif.asm	/^_RESI	=	0x00dc$/;"	d
-_RESI	../src/radar_main.asm	/^_RESI	=	0x00dc$/;"	d
-_RESI	../src/usrp_common.asm	/^_RESI	=	0x00dc$/;"	d
-_RES_WAVEDATA_END	../lib/fx2utils.asm	/^_RES_WAVEDATA_END	=	0xe480$/;"	d
-_RES_WAVEDATA_END	../lib/isr.asm	/^_RES_WAVEDATA_END	=	0xe480$/;"	d
-_RES_WAVEDATA_END	../lib/timer.asm	/^_RES_WAVEDATA_END	=	0xe480$/;"	d
-_RES_WAVEDATA_END	../lib/usb_common.asm	/^_RES_WAVEDATA_END	=	0xe480$/;"	d
-_RES_WAVEDATA_END	../src/init_gpif.asm	/^_RES_WAVEDATA_END	=	0xe480$/;"	d
-_RES_WAVEDATA_END	../src/radar_main.asm	/^_RES_WAVEDATA_END	=	0xe480$/;"	d
-_RES_WAVEDATA_END	../src/usrp_common.asm	/^_RES_WAVEDATA_END	=	0xe480$/;"	d
-_REVCTL	../lib/fx2utils.asm	/^_REVCTL	=	0xe60b$/;"	d
-_REVCTL	../lib/isr.asm	/^_REVCTL	=	0xe60b$/;"	d
-_REVCTL	../lib/timer.asm	/^_REVCTL	=	0xe60b$/;"	d
-_REVCTL	../lib/usb_common.asm	/^_REVCTL	=	0xe60b$/;"	d
-_REVCTL	../src/init_gpif.asm	/^_REVCTL	=	0xe60b$/;"	d
-_REVCTL	../src/radar_main.asm	/^_REVCTL	=	0xe60b$/;"	d
-_REVCTL	../src/usrp_common.asm	/^_REVCTL	=	0xe60b$/;"	d
-_REVID	../lib/fx2utils.asm	/^_REVID	=	0xe60a$/;"	d
-_REVID	../lib/isr.asm	/^_REVID	=	0xe60a$/;"	d
-_REVID	../lib/timer.asm	/^_REVID	=	0xe60a$/;"	d
-_REVID	../lib/usb_common.asm	/^_REVID	=	0xe60a$/;"	d
-_REVID	../src/init_gpif.asm	/^_REVID	=	0xe60a$/;"	d
-_REVID	../src/radar_main.asm	/^_REVID	=	0xe60a$/;"	d
-_REVID	../src/usrp_common.asm	/^_REVID	=	0xe60a$/;"	d
-_RI	../lib/fx2utils.asm	/^_RI	=	0x0098$/;"	d
-_RI	../lib/isr.asm	/^_RI	=	0x0098$/;"	d
-_RI	../lib/timer.asm	/^_RI	=	0x0098$/;"	d
-_RI	../lib/usb_common.asm	/^_RI	=	0x0098$/;"	d
-_RI	../src/init_gpif.asm	/^_RI	=	0x0098$/;"	d
-_RI	../src/radar_main.asm	/^_RI	=	0x0098$/;"	d
-_RI	../src/usrp_common.asm	/^_RI	=	0x0098$/;"	d
-_RI1	../lib/fx2utils.asm	/^_RI1	=	0x00c0$/;"	d
-_RI1	../lib/isr.asm	/^_RI1	=	0x00c0$/;"	d
-_RI1	../lib/timer.asm	/^_RI1	=	0x00c0$/;"	d
-_RI1	../lib/usb_common.asm	/^_RI1	=	0x00c0$/;"	d
-_RI1	../src/init_gpif.asm	/^_RI1	=	0x00c0$/;"	d
-_RI1	../src/radar_main.asm	/^_RI1	=	0x00c0$/;"	d
-_RI1	../src/usrp_common.asm	/^_RI1	=	0x00c0$/;"	d
-_RS0	../lib/fx2utils.asm	/^_RS0	=	0x00d3$/;"	d
-_RS0	../lib/isr.asm	/^_RS0	=	0x00d3$/;"	d
-_RS0	../lib/timer.asm	/^_RS0	=	0x00d3$/;"	d
-_RS0	../lib/usb_common.asm	/^_RS0	=	0x00d3$/;"	d
-_RS0	../src/init_gpif.asm	/^_RS0	=	0x00d3$/;"	d
-_RS0	../src/radar_main.asm	/^_RS0	=	0x00d3$/;"	d
-_RS0	../src/usrp_common.asm	/^_RS0	=	0x00d3$/;"	d
-_RS1	../lib/fx2utils.asm	/^_RS1	=	0x00d4$/;"	d
-_RS1	../lib/isr.asm	/^_RS1	=	0x00d4$/;"	d
-_RS1	../lib/timer.asm	/^_RS1	=	0x00d4$/;"	d
-_RS1	../lib/usb_common.asm	/^_RS1	=	0x00d4$/;"	d
-_RS1	../src/init_gpif.asm	/^_RS1	=	0x00d4$/;"	d
-_RS1	../src/radar_main.asm	/^_RS1	=	0x00d4$/;"	d
-_RS1	../src/usrp_common.asm	/^_RS1	=	0x00d4$/;"	d
-_SBUF0	../lib/fx2utils.asm	/^_SBUF0	=	0x0099$/;"	d
-_SBUF0	../lib/isr.asm	/^_SBUF0	=	0x0099$/;"	d
-_SBUF0	../lib/timer.asm	/^_SBUF0	=	0x0099$/;"	d
-_SBUF0	../lib/usb_common.asm	/^_SBUF0	=	0x0099$/;"	d
-_SBUF0	../src/init_gpif.asm	/^_SBUF0	=	0x0099$/;"	d
-_SBUF0	../src/radar_main.asm	/^_SBUF0	=	0x0099$/;"	d
-_SBUF0	../src/usrp_common.asm	/^_SBUF0	=	0x0099$/;"	d
-_SBUF1	../lib/fx2utils.asm	/^_SBUF1	=	0x00c1$/;"	d
-_SBUF1	../lib/isr.asm	/^_SBUF1	=	0x00c1$/;"	d
-_SBUF1	../lib/timer.asm	/^_SBUF1	=	0x00c1$/;"	d
-_SBUF1	../lib/usb_common.asm	/^_SBUF1	=	0x00c1$/;"	d
-_SBUF1	../src/init_gpif.asm	/^_SBUF1	=	0x00c1$/;"	d
-_SBUF1	../src/radar_main.asm	/^_SBUF1	=	0x00c1$/;"	d
-_SBUF1	../src/usrp_common.asm	/^_SBUF1	=	0x00c1$/;"	d
-_SCON0	../lib/fx2utils.asm	/^_SCON0	=	0x0098$/;"	d
-_SCON0	../lib/isr.asm	/^_SCON0	=	0x0098$/;"	d
-_SCON0	../lib/timer.asm	/^_SCON0	=	0x0098$/;"	d
-_SCON0	../lib/usb_common.asm	/^_SCON0	=	0x0098$/;"	d
-_SCON0	../src/init_gpif.asm	/^_SCON0	=	0x0098$/;"	d
-_SCON0	../src/radar_main.asm	/^_SCON0	=	0x0098$/;"	d
-_SCON0	../src/usrp_common.asm	/^_SCON0	=	0x0098$/;"	d
-_SCON1	../lib/fx2utils.asm	/^_SCON1	=	0x00c0$/;"	d
-_SCON1	../lib/isr.asm	/^_SCON1	=	0x00c0$/;"	d
-_SCON1	../lib/timer.asm	/^_SCON1	=	0x00c0$/;"	d
-_SCON1	../lib/usb_common.asm	/^_SCON1	=	0x00c0$/;"	d
-_SCON1	../src/init_gpif.asm	/^_SCON1	=	0x00c0$/;"	d
-_SCON1	../src/radar_main.asm	/^_SCON1	=	0x00c0$/;"	d
-_SCON1	../src/usrp_common.asm	/^_SCON1	=	0x00c0$/;"	d
-_SEL	../lib/fx2utils.asm	/^_SEL	=	0x0086$/;"	d
-_SEL	../lib/isr.asm	/^_SEL	=	0x0086$/;"	d
-_SEL	../lib/timer.asm	/^_SEL	=	0x0086$/;"	d
-_SEL	../lib/usb_common.asm	/^_SEL	=	0x0086$/;"	d
-_SEL	../src/init_gpif.asm	/^_SEL	=	0x0086$/;"	d
-_SEL	../src/radar_main.asm	/^_SEL	=	0x0086$/;"	d
-_SEL	../src/usrp_common.asm	/^_SEL	=	0x0086$/;"	d
-_SETUPDAT	../lib/fx2utils.asm	/^_SETUPDAT	=	0xe6b8$/;"	d
-_SETUPDAT	../lib/isr.asm	/^_SETUPDAT	=	0xe6b8$/;"	d
-_SETUPDAT	../lib/timer.asm	/^_SETUPDAT	=	0xe6b8$/;"	d
-_SETUPDAT	../lib/usb_common.asm	/^_SETUPDAT	=	0xe6b8$/;"	d
-_SETUPDAT	../src/init_gpif.asm	/^_SETUPDAT	=	0xe6b8$/;"	d
-_SETUPDAT	../src/radar_main.asm	/^_SETUPDAT	=	0xe6b8$/;"	d
-_SETUPDAT	../src/usrp_common.asm	/^_SETUPDAT	=	0xe6b8$/;"	d
-_SM0	../lib/fx2utils.asm	/^_SM0	=	0x009f$/;"	d
-_SM0	../lib/isr.asm	/^_SM0	=	0x009f$/;"	d
-_SM0	../lib/timer.asm	/^_SM0	=	0x009f$/;"	d
-_SM0	../lib/usb_common.asm	/^_SM0	=	0x009f$/;"	d
-_SM0	../src/init_gpif.asm	/^_SM0	=	0x009f$/;"	d
-_SM0	../src/radar_main.asm	/^_SM0	=	0x009f$/;"	d
-_SM0	../src/usrp_common.asm	/^_SM0	=	0x009f$/;"	d
-_SM01	../lib/fx2utils.asm	/^_SM01	=	0x00c7$/;"	d
-_SM01	../lib/isr.asm	/^_SM01	=	0x00c7$/;"	d
-_SM01	../lib/timer.asm	/^_SM01	=	0x00c7$/;"	d
-_SM01	../lib/usb_common.asm	/^_SM01	=	0x00c7$/;"	d
-_SM01	../src/init_gpif.asm	/^_SM01	=	0x00c7$/;"	d
-_SM01	../src/radar_main.asm	/^_SM01	=	0x00c7$/;"	d
-_SM01	../src/usrp_common.asm	/^_SM01	=	0x00c7$/;"	d
-_SM1	../lib/fx2utils.asm	/^_SM1	=	0x009e$/;"	d
-_SM1	../lib/isr.asm	/^_SM1	=	0x009e$/;"	d
-_SM1	../lib/timer.asm	/^_SM1	=	0x009e$/;"	d
-_SM1	../lib/usb_common.asm	/^_SM1	=	0x009e$/;"	d
-_SM1	../src/init_gpif.asm	/^_SM1	=	0x009e$/;"	d
-_SM1	../src/radar_main.asm	/^_SM1	=	0x009e$/;"	d
-_SM1	../src/usrp_common.asm	/^_SM1	=	0x009e$/;"	d
-_SM11	../lib/fx2utils.asm	/^_SM11	=	0x00c6$/;"	d
-_SM11	../lib/isr.asm	/^_SM11	=	0x00c6$/;"	d
-_SM11	../lib/timer.asm	/^_SM11	=	0x00c6$/;"	d
-_SM11	../lib/usb_common.asm	/^_SM11	=	0x00c6$/;"	d
-_SM11	../src/init_gpif.asm	/^_SM11	=	0x00c6$/;"	d
-_SM11	../src/radar_main.asm	/^_SM11	=	0x00c6$/;"	d
-_SM11	../src/usrp_common.asm	/^_SM11	=	0x00c6$/;"	d
-_SM2	../lib/fx2utils.asm	/^_SM2	=	0x009d$/;"	d
-_SM2	../lib/isr.asm	/^_SM2	=	0x009d$/;"	d
-_SM2	../lib/timer.asm	/^_SM2	=	0x009d$/;"	d
-_SM2	../lib/usb_common.asm	/^_SM2	=	0x009d$/;"	d
-_SM2	../src/init_gpif.asm	/^_SM2	=	0x009d$/;"	d
-_SM2	../src/radar_main.asm	/^_SM2	=	0x009d$/;"	d
-_SM2	../src/usrp_common.asm	/^_SM2	=	0x009d$/;"	d
-_SM21	../lib/fx2utils.asm	/^_SM21	=	0x00c5$/;"	d
-_SM21	../lib/isr.asm	/^_SM21	=	0x00c5$/;"	d
-_SM21	../lib/timer.asm	/^_SM21	=	0x00c5$/;"	d
-_SM21	../lib/usb_common.asm	/^_SM21	=	0x00c5$/;"	d
-_SM21	../src/init_gpif.asm	/^_SM21	=	0x00c5$/;"	d
-_SM21	../src/radar_main.asm	/^_SM21	=	0x00c5$/;"	d
-_SM21	../src/usrp_common.asm	/^_SM21	=	0x00c5$/;"	d
-_SMOD1	../lib/fx2utils.asm	/^_SMOD1	=	0x00df$/;"	d
-_SMOD1	../lib/isr.asm	/^_SMOD1	=	0x00df$/;"	d
-_SMOD1	../lib/timer.asm	/^_SMOD1	=	0x00df$/;"	d
-_SMOD1	../lib/usb_common.asm	/^_SMOD1	=	0x00df$/;"	d
-_SMOD1	../src/init_gpif.asm	/^_SMOD1	=	0x00df$/;"	d
-_SMOD1	../src/radar_main.asm	/^_SMOD1	=	0x00df$/;"	d
-_SMOD1	../src/usrp_common.asm	/^_SMOD1	=	0x00df$/;"	d
-_SP	../lib/fx2utils.asm	/^_SP	=	0x0081$/;"	d
-_SP	../lib/isr.asm	/^_SP	=	0x0081$/;"	d
-_SP	../lib/timer.asm	/^_SP	=	0x0081$/;"	d
-_SP	../lib/usb_common.asm	/^_SP	=	0x0081$/;"	d
-_SP	../src/init_gpif.asm	/^_SP	=	0x0081$/;"	d
-_SP	../src/radar_main.asm	/^_SP	=	0x0081$/;"	d
-_SP	../src/usrp_common.asm	/^_SP	=	0x0081$/;"	d
-_SUDPTRCTL	../lib/fx2utils.asm	/^_SUDPTRCTL	=	0xe6b5$/;"	d
-_SUDPTRCTL	../lib/isr.asm	/^_SUDPTRCTL	=	0xe6b5$/;"	d
-_SUDPTRCTL	../lib/timer.asm	/^_SUDPTRCTL	=	0xe6b5$/;"	d
-_SUDPTRCTL	../lib/usb_common.asm	/^_SUDPTRCTL	=	0xe6b5$/;"	d
-_SUDPTRCTL	../src/init_gpif.asm	/^_SUDPTRCTL	=	0xe6b5$/;"	d
-_SUDPTRCTL	../src/radar_main.asm	/^_SUDPTRCTL	=	0xe6b5$/;"	d
-_SUDPTRCTL	../src/usrp_common.asm	/^_SUDPTRCTL	=	0xe6b5$/;"	d
-_SUDPTRH	../lib/fx2utils.asm	/^_SUDPTRH	=	0xe6b3$/;"	d
-_SUDPTRH	../lib/isr.asm	/^_SUDPTRH	=	0xe6b3$/;"	d
-_SUDPTRH	../lib/timer.asm	/^_SUDPTRH	=	0xe6b3$/;"	d
-_SUDPTRH	../lib/usb_common.asm	/^_SUDPTRH	=	0xe6b3$/;"	d
-_SUDPTRH	../src/init_gpif.asm	/^_SUDPTRH	=	0xe6b3$/;"	d
-_SUDPTRH	../src/radar_main.asm	/^_SUDPTRH	=	0xe6b3$/;"	d
-_SUDPTRH	../src/usrp_common.asm	/^_SUDPTRH	=	0xe6b3$/;"	d
-_SUDPTRL	../lib/fx2utils.asm	/^_SUDPTRL	=	0xe6b4$/;"	d
-_SUDPTRL	../lib/isr.asm	/^_SUDPTRL	=	0xe6b4$/;"	d
-_SUDPTRL	../lib/timer.asm	/^_SUDPTRL	=	0xe6b4$/;"	d
-_SUDPTRL	../lib/usb_common.asm	/^_SUDPTRL	=	0xe6b4$/;"	d
-_SUDPTRL	../src/init_gpif.asm	/^_SUDPTRL	=	0xe6b4$/;"	d
-_SUDPTRL	../src/radar_main.asm	/^_SUDPTRL	=	0xe6b4$/;"	d
-_SUDPTRL	../src/usrp_common.asm	/^_SUDPTRL	=	0xe6b4$/;"	d
-_SUSPEND	../lib/fx2utils.asm	/^_SUSPEND	=	0xe681$/;"	d
-_SUSPEND	../lib/isr.asm	/^_SUSPEND	=	0xe681$/;"	d
-_SUSPEND	../lib/timer.asm	/^_SUSPEND	=	0xe681$/;"	d
-_SUSPEND	../lib/usb_common.asm	/^_SUSPEND	=	0xe681$/;"	d
-_SUSPEND	../src/init_gpif.asm	/^_SUSPEND	=	0xe681$/;"	d
-_SUSPEND	../src/radar_main.asm	/^_SUSPEND	=	0xe681$/;"	d
-_SUSPEND	../src/usrp_common.asm	/^_SUSPEND	=	0xe681$/;"	d
-_SYNCDELAY_H_	../include/syncdelay.h	23;"	d
-_T2CON	../lib/fx2utils.asm	/^_T2CON	=	0x00c8$/;"	d
-_T2CON	../lib/isr.asm	/^_T2CON	=	0x00c8$/;"	d
-_T2CON	../lib/timer.asm	/^_T2CON	=	0x00c8$/;"	d
-_T2CON	../lib/usb_common.asm	/^_T2CON	=	0x00c8$/;"	d
-_T2CON	../src/init_gpif.asm	/^_T2CON	=	0x00c8$/;"	d
-_T2CON	../src/radar_main.asm	/^_T2CON	=	0x00c8$/;"	d
-_T2CON	../src/usrp_common.asm	/^_T2CON	=	0x00c8$/;"	d
-_TB8	../lib/fx2utils.asm	/^_TB8	=	0x009b$/;"	d
-_TB8	../lib/isr.asm	/^_TB8	=	0x009b$/;"	d
-_TB8	../lib/timer.asm	/^_TB8	=	0x009b$/;"	d
-_TB8	../lib/usb_common.asm	/^_TB8	=	0x009b$/;"	d
-_TB8	../src/init_gpif.asm	/^_TB8	=	0x009b$/;"	d
-_TB8	../src/radar_main.asm	/^_TB8	=	0x009b$/;"	d
-_TB8	../src/usrp_common.asm	/^_TB8	=	0x009b$/;"	d
-_TB81	../lib/fx2utils.asm	/^_TB81	=	0x00c3$/;"	d
-_TB81	../lib/isr.asm	/^_TB81	=	0x00c3$/;"	d
-_TB81	../lib/timer.asm	/^_TB81	=	0x00c3$/;"	d
-_TB81	../lib/usb_common.asm	/^_TB81	=	0x00c3$/;"	d
-_TB81	../src/init_gpif.asm	/^_TB81	=	0x00c3$/;"	d
-_TB81	../src/radar_main.asm	/^_TB81	=	0x00c3$/;"	d
-_TB81	../src/usrp_common.asm	/^_TB81	=	0x00c3$/;"	d
-_TCLK	../lib/fx2utils.asm	/^_TCLK	=	0x00cc$/;"	d
-_TCLK	../lib/isr.asm	/^_TCLK	=	0x00cc$/;"	d
-_TCLK	../lib/timer.asm	/^_TCLK	=	0x00cc$/;"	d
-_TCLK	../lib/usb_common.asm	/^_TCLK	=	0x00cc$/;"	d
-_TCLK	../src/init_gpif.asm	/^_TCLK	=	0x00cc$/;"	d
-_TCLK	../src/radar_main.asm	/^_TCLK	=	0x00cc$/;"	d
-_TCLK	../src/usrp_common.asm	/^_TCLK	=	0x00cc$/;"	d
-_TCON	../lib/fx2utils.asm	/^_TCON	=	0x0088$/;"	d
-_TCON	../lib/isr.asm	/^_TCON	=	0x0088$/;"	d
-_TCON	../lib/timer.asm	/^_TCON	=	0x0088$/;"	d
-_TCON	../lib/usb_common.asm	/^_TCON	=	0x0088$/;"	d
-_TCON	../src/init_gpif.asm	/^_TCON	=	0x0088$/;"	d
-_TCON	../src/radar_main.asm	/^_TCON	=	0x0088$/;"	d
-_TCON	../src/usrp_common.asm	/^_TCON	=	0x0088$/;"	d
-_TESTCFG	../lib/fx2utils.asm	/^_TESTCFG	=	0xe6f9$/;"	d
-_TESTCFG	../lib/isr.asm	/^_TESTCFG	=	0xe6f9$/;"	d
-_TESTCFG	../lib/timer.asm	/^_TESTCFG	=	0xe6f9$/;"	d
-_TESTCFG	../lib/usb_common.asm	/^_TESTCFG	=	0xe6f9$/;"	d
-_TESTCFG	../src/init_gpif.asm	/^_TESTCFG	=	0xe6f9$/;"	d
-_TESTCFG	../src/radar_main.asm	/^_TESTCFG	=	0xe6f9$/;"	d
-_TESTCFG	../src/usrp_common.asm	/^_TESTCFG	=	0xe6f9$/;"	d
-_TF0	../lib/fx2utils.asm	/^_TF0	=	0x008d$/;"	d
-_TF0	../lib/isr.asm	/^_TF0	=	0x008d$/;"	d
-_TF0	../lib/timer.asm	/^_TF0	=	0x008d$/;"	d
-_TF0	../lib/usb_common.asm	/^_TF0	=	0x008d$/;"	d
-_TF0	../src/init_gpif.asm	/^_TF0	=	0x008d$/;"	d
-_TF0	../src/radar_main.asm	/^_TF0	=	0x008d$/;"	d
-_TF0	../src/usrp_common.asm	/^_TF0	=	0x008d$/;"	d
-_TF1	../lib/fx2utils.asm	/^_TF1	=	0x008f$/;"	d
-_TF1	../lib/isr.asm	/^_TF1	=	0x008f$/;"	d
-_TF1	../lib/timer.asm	/^_TF1	=	0x008f$/;"	d
-_TF1	../lib/usb_common.asm	/^_TF1	=	0x008f$/;"	d
-_TF1	../src/init_gpif.asm	/^_TF1	=	0x008f$/;"	d
-_TF1	../src/radar_main.asm	/^_TF1	=	0x008f$/;"	d
-_TF1	../src/usrp_common.asm	/^_TF1	=	0x008f$/;"	d
-_TF2	../lib/fx2utils.asm	/^_TF2	=	0x00cf$/;"	d
-_TF2	../lib/isr.asm	/^_TF2	=	0x00cf$/;"	d
-_TF2	../lib/timer.asm	/^_TF2	=	0x00cf$/;"	d
-_TF2	../lib/usb_common.asm	/^_TF2	=	0x00cf$/;"	d
-_TF2	../src/init_gpif.asm	/^_TF2	=	0x00cf$/;"	d
-_TF2	../src/radar_main.asm	/^_TF2	=	0x00cf$/;"	d
-_TF2	../src/usrp_common.asm	/^_TF2	=	0x00cf$/;"	d
-_TH0	../lib/fx2utils.asm	/^_TH0	=	0x008c$/;"	d
-_TH0	../lib/isr.asm	/^_TH0	=	0x008c$/;"	d
-_TH0	../lib/timer.asm	/^_TH0	=	0x008c$/;"	d
-_TH0	../lib/usb_common.asm	/^_TH0	=	0x008c$/;"	d
-_TH0	../src/init_gpif.asm	/^_TH0	=	0x008c$/;"	d
-_TH0	../src/radar_main.asm	/^_TH0	=	0x008c$/;"	d
-_TH0	../src/usrp_common.asm	/^_TH0	=	0x008c$/;"	d
-_TH1	../lib/fx2utils.asm	/^_TH1	=	0x008d$/;"	d
-_TH1	../lib/isr.asm	/^_TH1	=	0x008d$/;"	d
-_TH1	../lib/timer.asm	/^_TH1	=	0x008d$/;"	d
-_TH1	../lib/usb_common.asm	/^_TH1	=	0x008d$/;"	d
-_TH1	../src/init_gpif.asm	/^_TH1	=	0x008d$/;"	d
-_TH1	../src/radar_main.asm	/^_TH1	=	0x008d$/;"	d
-_TH1	../src/usrp_common.asm	/^_TH1	=	0x008d$/;"	d
-_TH2	../lib/fx2utils.asm	/^_TH2	=	0x00cd$/;"	d
-_TH2	../lib/isr.asm	/^_TH2	=	0x00cd$/;"	d
-_TH2	../lib/timer.asm	/^_TH2	=	0x00cd$/;"	d
-_TH2	../lib/usb_common.asm	/^_TH2	=	0x00cd$/;"	d
-_TH2	../src/init_gpif.asm	/^_TH2	=	0x00cd$/;"	d
-_TH2	../src/radar_main.asm	/^_TH2	=	0x00cd$/;"	d
-_TH2	../src/usrp_common.asm	/^_TH2	=	0x00cd$/;"	d
-_TI	../lib/fx2utils.asm	/^_TI	=	0x0099$/;"	d
-_TI	../lib/isr.asm	/^_TI	=	0x0099$/;"	d
-_TI	../lib/timer.asm	/^_TI	=	0x0099$/;"	d
-_TI	../lib/usb_common.asm	/^_TI	=	0x0099$/;"	d
-_TI	../src/init_gpif.asm	/^_TI	=	0x0099$/;"	d
-_TI	../src/radar_main.asm	/^_TI	=	0x0099$/;"	d
-_TI	../src/usrp_common.asm	/^_TI	=	0x0099$/;"	d
-_TI1	../lib/fx2utils.asm	/^_TI1	=	0x00c1$/;"	d
-_TI1	../lib/isr.asm	/^_TI1	=	0x00c1$/;"	d
-_TI1	../lib/timer.asm	/^_TI1	=	0x00c1$/;"	d
-_TI1	../lib/usb_common.asm	/^_TI1	=	0x00c1$/;"	d
-_TI1	../src/init_gpif.asm	/^_TI1	=	0x00c1$/;"	d
-_TI1	../src/radar_main.asm	/^_TI1	=	0x00c1$/;"	d
-_TI1	../src/usrp_common.asm	/^_TI1	=	0x00c1$/;"	d
-_TIMER_H_	../include/timer.h	24;"	d
-_TL0	../lib/fx2utils.asm	/^_TL0	=	0x008a$/;"	d
-_TL0	../lib/isr.asm	/^_TL0	=	0x008a$/;"	d
-_TL0	../lib/timer.asm	/^_TL0	=	0x008a$/;"	d
-_TL0	../lib/usb_common.asm	/^_TL0	=	0x008a$/;"	d
-_TL0	../src/init_gpif.asm	/^_TL0	=	0x008a$/;"	d
-_TL0	../src/radar_main.asm	/^_TL0	=	0x008a$/;"	d
-_TL0	../src/usrp_common.asm	/^_TL0	=	0x008a$/;"	d
-_TL1	../lib/fx2utils.asm	/^_TL1	=	0x008b$/;"	d
-_TL1	../lib/isr.asm	/^_TL1	=	0x008b$/;"	d
-_TL1	../lib/timer.asm	/^_TL1	=	0x008b$/;"	d
-_TL1	../lib/usb_common.asm	/^_TL1	=	0x008b$/;"	d
-_TL1	../src/init_gpif.asm	/^_TL1	=	0x008b$/;"	d
-_TL1	../src/radar_main.asm	/^_TL1	=	0x008b$/;"	d
-_TL1	../src/usrp_common.asm	/^_TL1	=	0x008b$/;"	d
-_TL2	../lib/fx2utils.asm	/^_TL2	=	0x00cc$/;"	d
-_TL2	../lib/isr.asm	/^_TL2	=	0x00cc$/;"	d
-_TL2	../lib/timer.asm	/^_TL2	=	0x00cc$/;"	d
-_TL2	../lib/usb_common.asm	/^_TL2	=	0x00cc$/;"	d
-_TL2	../src/init_gpif.asm	/^_TL2	=	0x00cc$/;"	d
-_TL2	../src/radar_main.asm	/^_TL2	=	0x00cc$/;"	d
-_TL2	../src/usrp_common.asm	/^_TL2	=	0x00cc$/;"	d
-_TMOD	../lib/fx2utils.asm	/^_TMOD	=	0x0089$/;"	d
-_TMOD	../lib/isr.asm	/^_TMOD	=	0x0089$/;"	d
-_TMOD	../lib/timer.asm	/^_TMOD	=	0x0089$/;"	d
-_TMOD	../lib/usb_common.asm	/^_TMOD	=	0x0089$/;"	d
-_TMOD	../src/init_gpif.asm	/^_TMOD	=	0x0089$/;"	d
-_TMOD	../src/radar_main.asm	/^_TMOD	=	0x0089$/;"	d
-_TMOD	../src/usrp_common.asm	/^_TMOD	=	0x0089$/;"	d
-_TOGCTL	../lib/fx2utils.asm	/^_TOGCTL	=	0xe683$/;"	d
-_TOGCTL	../lib/isr.asm	/^_TOGCTL	=	0xe683$/;"	d
-_TOGCTL	../lib/timer.asm	/^_TOGCTL	=	0xe683$/;"	d
-_TOGCTL	../lib/usb_common.asm	/^_TOGCTL	=	0xe683$/;"	d
-_TOGCTL	../src/init_gpif.asm	/^_TOGCTL	=	0xe683$/;"	d
-_TOGCTL	../src/radar_main.asm	/^_TOGCTL	=	0xe683$/;"	d
-_TOGCTL	../src/usrp_common.asm	/^_TOGCTL	=	0xe683$/;"	d
-_TR0	../lib/fx2utils.asm	/^_TR0	=	0x008c$/;"	d
-_TR0	../lib/isr.asm	/^_TR0	=	0x008c$/;"	d
-_TR0	../lib/timer.asm	/^_TR0	=	0x008c$/;"	d
-_TR0	../lib/usb_common.asm	/^_TR0	=	0x008c$/;"	d
-_TR0	../src/init_gpif.asm	/^_TR0	=	0x008c$/;"	d
-_TR0	../src/radar_main.asm	/^_TR0	=	0x008c$/;"	d
-_TR0	../src/usrp_common.asm	/^_TR0	=	0x008c$/;"	d
-_TR1	../lib/fx2utils.asm	/^_TR1	=	0x008e$/;"	d
-_TR1	../lib/isr.asm	/^_TR1	=	0x008e$/;"	d
-_TR1	../lib/timer.asm	/^_TR1	=	0x008e$/;"	d
-_TR1	../lib/usb_common.asm	/^_TR1	=	0x008e$/;"	d
-_TR1	../src/init_gpif.asm	/^_TR1	=	0x008e$/;"	d
-_TR1	../src/radar_main.asm	/^_TR1	=	0x008e$/;"	d
-_TR1	../src/usrp_common.asm	/^_TR1	=	0x008e$/;"	d
-_TR2	../lib/fx2utils.asm	/^_TR2	=	0x00ca$/;"	d
-_TR2	../lib/isr.asm	/^_TR2	=	0x00ca$/;"	d
-_TR2	../lib/timer.asm	/^_TR2	=	0x00ca$/;"	d
-_TR2	../lib/usb_common.asm	/^_TR2	=	0x00ca$/;"	d
-_TR2	../src/init_gpif.asm	/^_TR2	=	0x00ca$/;"	d
-_TR2	../src/radar_main.asm	/^_TR2	=	0x00ca$/;"	d
-_TR2	../src/usrp_common.asm	/^_TR2	=	0x00ca$/;"	d
-_UART230	../lib/fx2utils.asm	/^_UART230	=	0xe608$/;"	d
-_UART230	../lib/isr.asm	/^_UART230	=	0xe608$/;"	d
-_UART230	../lib/timer.asm	/^_UART230	=	0xe608$/;"	d
-_UART230	../lib/usb_common.asm	/^_UART230	=	0xe608$/;"	d
-_UART230	../src/init_gpif.asm	/^_UART230	=	0xe608$/;"	d
-_UART230	../src/radar_main.asm	/^_UART230	=	0xe608$/;"	d
-_UART230	../src/usrp_common.asm	/^_UART230	=	0xe608$/;"	d
-_UDMACRCH	../lib/fx2utils.asm	/^_UDMACRCH	=	0xe67d$/;"	d
-_UDMACRCH	../lib/isr.asm	/^_UDMACRCH	=	0xe67d$/;"	d
-_UDMACRCH	../lib/timer.asm	/^_UDMACRCH	=	0xe67d$/;"	d
-_UDMACRCH	../lib/usb_common.asm	/^_UDMACRCH	=	0xe67d$/;"	d
-_UDMACRCH	../src/init_gpif.asm	/^_UDMACRCH	=	0xe67d$/;"	d
-_UDMACRCH	../src/radar_main.asm	/^_UDMACRCH	=	0xe67d$/;"	d
-_UDMACRCH	../src/usrp_common.asm	/^_UDMACRCH	=	0xe67d$/;"	d
-_UDMACRCL	../lib/fx2utils.asm	/^_UDMACRCL	=	0xe67e$/;"	d
-_UDMACRCL	../lib/isr.asm	/^_UDMACRCL	=	0xe67e$/;"	d
-_UDMACRCL	../lib/timer.asm	/^_UDMACRCL	=	0xe67e$/;"	d
-_UDMACRCL	../lib/usb_common.asm	/^_UDMACRCL	=	0xe67e$/;"	d
-_UDMACRCL	../src/init_gpif.asm	/^_UDMACRCL	=	0xe67e$/;"	d
-_UDMACRCL	../src/radar_main.asm	/^_UDMACRCL	=	0xe67e$/;"	d
-_UDMACRCL	../src/usrp_common.asm	/^_UDMACRCL	=	0xe67e$/;"	d
-_UDMACRCQUAL	../lib/fx2utils.asm	/^_UDMACRCQUAL	=	0xe67f$/;"	d
-_UDMACRCQUAL	../lib/isr.asm	/^_UDMACRCQUAL	=	0xe67f$/;"	d
-_UDMACRCQUAL	../lib/timer.asm	/^_UDMACRCQUAL	=	0xe67f$/;"	d
-_UDMACRCQUAL	../lib/usb_common.asm	/^_UDMACRCQUAL	=	0xe67f$/;"	d
-_UDMACRCQUAL	../src/init_gpif.asm	/^_UDMACRCQUAL	=	0xe67f$/;"	d
-_UDMACRCQUAL	../src/radar_main.asm	/^_UDMACRCQUAL	=	0xe67f$/;"	d
-_UDMACRCQUAL	../src/usrp_common.asm	/^_UDMACRCQUAL	=	0xe67f$/;"	d
-_USBCS	../lib/fx2utils.asm	/^_USBCS	=	0xe680$/;"	d
-_USBCS	../lib/isr.asm	/^_USBCS	=	0xe680$/;"	d
-_USBCS	../lib/timer.asm	/^_USBCS	=	0xe680$/;"	d
-_USBCS	../lib/usb_common.asm	/^_USBCS	=	0xe680$/;"	d
-_USBCS	../src/init_gpif.asm	/^_USBCS	=	0xe680$/;"	d
-_USBCS	../src/radar_main.asm	/^_USBCS	=	0xe680$/;"	d
-_USBCS	../src/usrp_common.asm	/^_USBCS	=	0xe680$/;"	d
-_USBERRIE	../lib/fx2utils.asm	/^_USBERRIE	=	0xe662$/;"	d
-_USBERRIE	../lib/isr.asm	/^_USBERRIE	=	0xe662$/;"	d
-_USBERRIE	../lib/timer.asm	/^_USBERRIE	=	0xe662$/;"	d
-_USBERRIE	../lib/usb_common.asm	/^_USBERRIE	=	0xe662$/;"	d
-_USBERRIE	../src/init_gpif.asm	/^_USBERRIE	=	0xe662$/;"	d
-_USBERRIE	../src/radar_main.asm	/^_USBERRIE	=	0xe662$/;"	d
-_USBERRIE	../src/usrp_common.asm	/^_USBERRIE	=	0xe662$/;"	d
-_USBERRIRQ	../lib/fx2utils.asm	/^_USBERRIRQ	=	0xe663$/;"	d
-_USBERRIRQ	../lib/isr.asm	/^_USBERRIRQ	=	0xe663$/;"	d
-_USBERRIRQ	../lib/timer.asm	/^_USBERRIRQ	=	0xe663$/;"	d
-_USBERRIRQ	../lib/usb_common.asm	/^_USBERRIRQ	=	0xe663$/;"	d
-_USBERRIRQ	../src/init_gpif.asm	/^_USBERRIRQ	=	0xe663$/;"	d
-_USBERRIRQ	../src/radar_main.asm	/^_USBERRIRQ	=	0xe663$/;"	d
-_USBERRIRQ	../src/usrp_common.asm	/^_USBERRIRQ	=	0xe663$/;"	d
-_USBFRAMEH	../lib/fx2utils.asm	/^_USBFRAMEH	=	0xe684$/;"	d
-_USBFRAMEH	../lib/isr.asm	/^_USBFRAMEH	=	0xe684$/;"	d
-_USBFRAMEH	../lib/timer.asm	/^_USBFRAMEH	=	0xe684$/;"	d
-_USBFRAMEH	../lib/usb_common.asm	/^_USBFRAMEH	=	0xe684$/;"	d
-_USBFRAMEH	../src/init_gpif.asm	/^_USBFRAMEH	=	0xe684$/;"	d
-_USBFRAMEH	../src/radar_main.asm	/^_USBFRAMEH	=	0xe684$/;"	d
-_USBFRAMEH	../src/usrp_common.asm	/^_USBFRAMEH	=	0xe684$/;"	d
-_USBFRAMEL	../lib/fx2utils.asm	/^_USBFRAMEL	=	0xe685$/;"	d
-_USBFRAMEL	../lib/isr.asm	/^_USBFRAMEL	=	0xe685$/;"	d
-_USBFRAMEL	../lib/timer.asm	/^_USBFRAMEL	=	0xe685$/;"	d
-_USBFRAMEL	../lib/usb_common.asm	/^_USBFRAMEL	=	0xe685$/;"	d
-_USBFRAMEL	../src/init_gpif.asm	/^_USBFRAMEL	=	0xe685$/;"	d
-_USBFRAMEL	../src/radar_main.asm	/^_USBFRAMEL	=	0xe685$/;"	d
-_USBFRAMEL	../src/usrp_common.asm	/^_USBFRAMEL	=	0xe685$/;"	d
-_USBIE	../lib/fx2utils.asm	/^_USBIE	=	0xe65c$/;"	d
-_USBIE	../lib/isr.asm	/^_USBIE	=	0xe65c$/;"	d
-_USBIE	../lib/timer.asm	/^_USBIE	=	0xe65c$/;"	d
-_USBIE	../lib/usb_common.asm	/^_USBIE	=	0xe65c$/;"	d
-_USBIE	../src/init_gpif.asm	/^_USBIE	=	0xe65c$/;"	d
-_USBIE	../src/radar_main.asm	/^_USBIE	=	0xe65c$/;"	d
-_USBIE	../src/usrp_common.asm	/^_USBIE	=	0xe65c$/;"	d
-_USBIRQ	../lib/fx2utils.asm	/^_USBIRQ	=	0xe65d$/;"	d
-_USBIRQ	../lib/isr.asm	/^_USBIRQ	=	0xe65d$/;"	d
-_USBIRQ	../lib/timer.asm	/^_USBIRQ	=	0xe65d$/;"	d
-_USBIRQ	../lib/usb_common.asm	/^_USBIRQ	=	0xe65d$/;"	d
-_USBIRQ	../src/init_gpif.asm	/^_USBIRQ	=	0xe65d$/;"	d
-_USBIRQ	../src/radar_main.asm	/^_USBIRQ	=	0xe65d$/;"	d
-_USBIRQ	../src/usrp_common.asm	/^_USBIRQ	=	0xe65d$/;"	d
-_USBTEST	../lib/fx2utils.asm	/^_USBTEST	=	0xe6fa$/;"	d
-_USBTEST	../lib/isr.asm	/^_USBTEST	=	0xe6fa$/;"	d
-_USBTEST	../lib/timer.asm	/^_USBTEST	=	0xe6fa$/;"	d
-_USBTEST	../lib/usb_common.asm	/^_USBTEST	=	0xe6fa$/;"	d
-_USBTEST	../src/init_gpif.asm	/^_USBTEST	=	0xe6fa$/;"	d
-_USBTEST	../src/radar_main.asm	/^_USBTEST	=	0xe6fa$/;"	d
-_USBTEST	../src/usrp_common.asm	/^_USBTEST	=	0xe6fa$/;"	d
-_USB_COMMON_H_	../include/usb_common.h	24;"	d
-_USB_REQUESTS_H_	../include/usb_requests.h	28;"	d
-_USRPCOMMON_H_	../include/usrp_common.h	28;"	d
-_USRP_COMMANDS_H_	../include/usrp_commands.h	22;"	d
-_WAKEUPCS	../lib/fx2utils.asm	/^_WAKEUPCS	=	0xe682$/;"	d
-_WAKEUPCS	../lib/isr.asm	/^_WAKEUPCS	=	0xe682$/;"	d
-_WAKEUPCS	../lib/timer.asm	/^_WAKEUPCS	=	0xe682$/;"	d
-_WAKEUPCS	../lib/usb_common.asm	/^_WAKEUPCS	=	0xe682$/;"	d
-_WAKEUPCS	../src/init_gpif.asm	/^_WAKEUPCS	=	0xe682$/;"	d
-_WAKEUPCS	../src/radar_main.asm	/^_WAKEUPCS	=	0xe682$/;"	d
-_WAKEUPCS	../src/usrp_common.asm	/^_WAKEUPCS	=	0xe682$/;"	d
-_WaveData	../src/radar_gpif2.asm	/^_WaveData:$/;"	l
-_XAUTODAT1	../lib/fx2utils.asm	/^_XAUTODAT1	=	0xe67b$/;"	d
-_XAUTODAT1	../lib/isr.asm	/^_XAUTODAT1	=	0xe67b$/;"	d
-_XAUTODAT1	../lib/timer.asm	/^_XAUTODAT1	=	0xe67b$/;"	d
-_XAUTODAT1	../lib/usb_common.asm	/^_XAUTODAT1	=	0xe67b$/;"	d
-_XAUTODAT1	../src/init_gpif.asm	/^_XAUTODAT1	=	0xe67b$/;"	d
-_XAUTODAT1	../src/radar_main.asm	/^_XAUTODAT1	=	0xe67b$/;"	d
-_XAUTODAT1	../src/usrp_common.asm	/^_XAUTODAT1	=	0xe67b$/;"	d
-_XAUTODAT2	../lib/fx2utils.asm	/^_XAUTODAT2	=	0xe67c$/;"	d
-_XAUTODAT2	../lib/isr.asm	/^_XAUTODAT2	=	0xe67c$/;"	d
-_XAUTODAT2	../lib/timer.asm	/^_XAUTODAT2	=	0xe67c$/;"	d
-_XAUTODAT2	../lib/usb_common.asm	/^_XAUTODAT2	=	0xe67c$/;"	d
-_XAUTODAT2	../src/init_gpif.asm	/^_XAUTODAT2	=	0xe67c$/;"	d
-_XAUTODAT2	../src/radar_main.asm	/^_XAUTODAT2	=	0xe67c$/;"	d
-_XAUTODAT2	../src/usrp_common.asm	/^_XAUTODAT2	=	0xe67c$/;"	d
-_XGPIFSGLDATH	../lib/fx2utils.asm	/^_XGPIFSGLDATH	=	0xe6f0$/;"	d
-_XGPIFSGLDATH	../lib/isr.asm	/^_XGPIFSGLDATH	=	0xe6f0$/;"	d
-_XGPIFSGLDATH	../lib/timer.asm	/^_XGPIFSGLDATH	=	0xe6f0$/;"	d
-_XGPIFSGLDATH	../lib/usb_common.asm	/^_XGPIFSGLDATH	=	0xe6f0$/;"	d
-_XGPIFSGLDATH	../src/init_gpif.asm	/^_XGPIFSGLDATH	=	0xe6f0$/;"	d
-_XGPIFSGLDATH	../src/radar_main.asm	/^_XGPIFSGLDATH	=	0xe6f0$/;"	d
-_XGPIFSGLDATH	../src/usrp_common.asm	/^_XGPIFSGLDATH	=	0xe6f0$/;"	d
-_XGPIFSGLDATLNOX	../lib/fx2utils.asm	/^_XGPIFSGLDATLNOX	=	0xe6f2$/;"	d
-_XGPIFSGLDATLNOX	../lib/isr.asm	/^_XGPIFSGLDATLNOX	=	0xe6f2$/;"	d
-_XGPIFSGLDATLNOX	../lib/timer.asm	/^_XGPIFSGLDATLNOX	=	0xe6f2$/;"	d
-_XGPIFSGLDATLNOX	../lib/usb_common.asm	/^_XGPIFSGLDATLNOX	=	0xe6f2$/;"	d
-_XGPIFSGLDATLNOX	../src/init_gpif.asm	/^_XGPIFSGLDATLNOX	=	0xe6f2$/;"	d
-_XGPIFSGLDATLNOX	../src/radar_main.asm	/^_XGPIFSGLDATLNOX	=	0xe6f2$/;"	d
-_XGPIFSGLDATLNOX	../src/usrp_common.asm	/^_XGPIFSGLDATLNOX	=	0xe6f2$/;"	d
-_XGPIFSGLDATLX	../lib/fx2utils.asm	/^_XGPIFSGLDATLX	=	0xe6f1$/;"	d
-_XGPIFSGLDATLX	../lib/isr.asm	/^_XGPIFSGLDATLX	=	0xe6f1$/;"	d
-_XGPIFSGLDATLX	../lib/timer.asm	/^_XGPIFSGLDATLX	=	0xe6f1$/;"	d
-_XGPIFSGLDATLX	../lib/usb_common.asm	/^_XGPIFSGLDATLX	=	0xe6f1$/;"	d
-_XGPIFSGLDATLX	../src/init_gpif.asm	/^_XGPIFSGLDATLX	=	0xe6f1$/;"	d
-_XGPIFSGLDATLX	../src/radar_main.asm	/^_XGPIFSGLDATLX	=	0xe6f1$/;"	d
-_XGPIFSGLDATLX	../src/usrp_common.asm	/^_XGPIFSGLDATLX	=	0xe6f1$/;"	d
-__interrupt_vect	../src/radar_main.asm	/^__interrupt_vect:$/;"	l
-__sdcc_program_startup	../src/radar_main.asm	/^__sdcc_program_startup:$/;"	l
-__start__stack	../src/radar_main.asm	/^__start__stack:$/;"	l
-_app_vendor_cmd	../src/radar_main.asm	/^_app_vendor_cmd:$/;"	l
-_epcs	../lib/usb_common.asm	/^_epcs:$/;"	l
-_fx2_renumerate	../lib/fx2utils.asm	/^_fx2_renumerate:$/;"	l
-_fx2_reset_data_toggle	../lib/fx2utils.asm	/^_fx2_reset_data_toggle:$/;"	l
-_fx2_stall_ep0	../lib/fx2utils.asm	/^_fx2_stall_ep0:$/;"	l
-_get_ep0_data	../src/radar_main.asm	/^_get_ep0_data:$/;"	l
-_hook_fgv	../lib/isr.asm	/^_hook_fgv:$/;"	l
-_hook_sv	../lib/isr.asm	/^_hook_sv:$/;"	l
-_hook_timer_tick	../lib/timer.asm	/^_hook_timer_tick:$/;"	l
-_hook_uv	../lib/isr.asm	/^_hook_uv:$/;"	l
-_init_gpif	../src/init_gpif.asm	/^_init_gpif:$/;"	l
-_init_usrp	../src/usrp_common.asm	/^_init_usrp:$/;"	l
-_isr_HIGHSPEED	../lib/usb_common.asm	/^_isr_HIGHSPEED:$/;"	l
-_isr_SUDAV	../lib/usb_common.asm	/^_isr_SUDAV:$/;"	l
-_isr_USBRESET	../lib/usb_common.asm	/^_isr_USBRESET:$/;"	l
-_isr_tick	../src/radar_main.asm	/^_isr_tick:$/;"	l
-_isr_tick_count_1_1	../src/radar_main.asm	/^_isr_tick_count_1_1:$/;"	l
-_isr_tick_state_1_1	../src/radar_main.asm	/^_isr_tick_state_1_1:$/;"	l
-_main	../src/radar_main.asm	/^_main:$/;"	l
-_main_loop	../src/radar_main.asm	/^_main_loop:$/;"	l
-_mdelay	../lib/delay.asm	/^_mdelay:$/;"	l
-_mdelay1	../lib/delay.asm	/^_mdelay1:$/;"	l
-_plausible_endpoint	../lib/usb_common.asm	/^_plausible_endpoint:$/;"	l
-_setup_autovectors	../lib/isr.asm	/^_setup_autovectors:$/;"	l
-_setup_descriptors	../lib/usb_common.asm	/^_setup_descriptors:$/;"	l
-_udelay	../lib/delay.asm	/^_udelay:$/;"	l
-_udelay1	../lib/delay.asm	/^_udelay1:$/;"	l
-_usb_alt_setting	../lib/usb_common.c	/^unsigned char	_usb_alt_setting = 0;	\/\/ FIXME really 1\/interface$/;"	v
-_usb_config	../lib/usb_common.c	/^unsigned char	_usb_config = 0;$/;"	v
-_usb_got_SUDAV	../lib/usb_common.c	/^volatile bit _usb_got_SUDAV;$/;"	v
-_usb_handle_setup_packet	../lib/usb_common.asm	/^_usb_handle_setup_packet:$/;"	l
-_usb_install_handlers	../lib/usb_common.asm	/^_usb_install_handlers:$/;"	l
-app_vendor_cmd	../src/radar_main.c	/^app_vendor_cmd(void)$/;"	f
-ar0	../lib/delay.asm	/^	ar0 = 0x00$/;"	d
-ar0	../lib/fx2utils.asm	/^	ar0 = 0x00$/;"	d
-ar0	../lib/isr.asm	/^	ar0 = 0x00$/;"	d
-ar0	../lib/timer.asm	/^	ar0 = 0x00$/;"	d
-ar0	../lib/usb_common.asm	/^	ar0 = 0x00$/;"	d
-ar0	../src/init_gpif.asm	/^	ar0 = 0x00$/;"	d
-ar0	../src/radar_main.asm	/^	ar0 = 0x00$/;"	d
-ar0	../src/usrp_common.asm	/^	ar0 = 0x00$/;"	d
-ar1	../lib/delay.asm	/^	ar1 = 0x01$/;"	d
-ar1	../lib/fx2utils.asm	/^	ar1 = 0x01$/;"	d
-ar1	../lib/isr.asm	/^	ar1 = 0x01$/;"	d
-ar1	../lib/timer.asm	/^	ar1 = 0x01$/;"	d
-ar1	../lib/usb_common.asm	/^	ar1 = 0x01$/;"	d
-ar1	../src/init_gpif.asm	/^	ar1 = 0x01$/;"	d
-ar1	../src/radar_main.asm	/^	ar1 = 0x01$/;"	d
-ar1	../src/usrp_common.asm	/^	ar1 = 0x01$/;"	d
-ar2	../lib/delay.asm	/^	ar2 = 0x02$/;"	d
-ar2	../lib/fx2utils.asm	/^	ar2 = 0x02$/;"	d
-ar2	../lib/isr.asm	/^	ar2 = 0x02$/;"	d
-ar2	../lib/timer.asm	/^	ar2 = 0x02$/;"	d
-ar2	../lib/usb_common.asm	/^	ar2 = 0x02$/;"	d
-ar2	../src/init_gpif.asm	/^	ar2 = 0x02$/;"	d
-ar2	../src/radar_main.asm	/^	ar2 = 0x02$/;"	d
-ar2	../src/usrp_common.asm	/^	ar2 = 0x02$/;"	d
-ar3	../lib/delay.asm	/^	ar3 = 0x03$/;"	d
-ar3	../lib/fx2utils.asm	/^	ar3 = 0x03$/;"	d
-ar3	../lib/isr.asm	/^	ar3 = 0x03$/;"	d
-ar3	../lib/timer.asm	/^	ar3 = 0x03$/;"	d
-ar3	../lib/usb_common.asm	/^	ar3 = 0x03$/;"	d
-ar3	../src/init_gpif.asm	/^	ar3 = 0x03$/;"	d
-ar3	../src/radar_main.asm	/^	ar3 = 0x03$/;"	d
-ar3	../src/usrp_common.asm	/^	ar3 = 0x03$/;"	d
-ar4	../lib/delay.asm	/^	ar4 = 0x04$/;"	d
-ar4	../lib/fx2utils.asm	/^	ar4 = 0x04$/;"	d
-ar4	../lib/isr.asm	/^	ar4 = 0x04$/;"	d
-ar4	../lib/timer.asm	/^	ar4 = 0x04$/;"	d
-ar4	../lib/usb_common.asm	/^	ar4 = 0x04$/;"	d
-ar4	../src/init_gpif.asm	/^	ar4 = 0x04$/;"	d
-ar4	../src/radar_main.asm	/^	ar4 = 0x04$/;"	d
-ar4	../src/usrp_common.asm	/^	ar4 = 0x04$/;"	d
-ar5	../lib/delay.asm	/^	ar5 = 0x05$/;"	d
-ar5	../lib/fx2utils.asm	/^	ar5 = 0x05$/;"	d
-ar5	../lib/isr.asm	/^	ar5 = 0x05$/;"	d
-ar5	../lib/timer.asm	/^	ar5 = 0x05$/;"	d
-ar5	../lib/usb_common.asm	/^	ar5 = 0x05$/;"	d
-ar5	../src/init_gpif.asm	/^	ar5 = 0x05$/;"	d
-ar5	../src/radar_main.asm	/^	ar5 = 0x05$/;"	d
-ar5	../src/usrp_common.asm	/^	ar5 = 0x05$/;"	d
-ar6	../lib/delay.asm	/^	ar6 = 0x06$/;"	d
-ar6	../lib/fx2utils.asm	/^	ar6 = 0x06$/;"	d
-ar6	../lib/isr.asm	/^	ar6 = 0x06$/;"	d
-ar6	../lib/timer.asm	/^	ar6 = 0x06$/;"	d
-ar6	../lib/usb_common.asm	/^	ar6 = 0x06$/;"	d
-ar6	../src/init_gpif.asm	/^	ar6 = 0x06$/;"	d
-ar6	../src/radar_main.asm	/^	ar6 = 0x06$/;"	d
-ar6	../src/usrp_common.asm	/^	ar6 = 0x06$/;"	d
-ar7	../lib/delay.asm	/^	ar7 = 0x07$/;"	d
-ar7	../lib/fx2utils.asm	/^	ar7 = 0x07$/;"	d
-ar7	../lib/isr.asm	/^	ar7 = 0x07$/;"	d
-ar7	../lib/timer.asm	/^	ar7 = 0x07$/;"	d
-ar7	../lib/usb_common.asm	/^	ar7 = 0x07$/;"	d
-ar7	../src/init_gpif.asm	/^	ar7 = 0x07$/;"	d
-ar7	../src/radar_main.asm	/^	ar7 = 0x07$/;"	d
-ar7	../src/usrp_common.asm	/^	ar7 = 0x07$/;"	d
-bRequest	../lib/usb_common.c	40;"	d	file:
-bRequest	../src/radar_main.c	35;"	d	file:
-bRequestType	../lib/usb_common.c	39;"	d	file:
-bRequestType	../src/radar_main.c	34;"	d	file:
-bm1KBUF	../include/fx2regs.h	688;"	d
-bm3048MHZ	../include/fx2regs.h	648;"	d
-bm400KHZ	../include/fx2regs.h	567;"	d
-bm8051RES	../include/fx2regs.h	532;"	d
-bmACK	../include/fx2regs.h	563;"	d
-bmASYNC	../include/fx2regs.h	651;"	d
-bmAUTOIN	../include/fx2regs.h	662;"	d
-bmAUTOOUT	../include/fx2regs.h	661;"	d
-bmAV2EN	../include/fx2regs.h	587;"	d
-bmAV4EN	../include/fx2regs.h	589;"	d
-bmBERR	../include/fx2regs.h	562;"	d
-bmBIT0	../include/fx2regs.h	516;"	d
-bmBIT1	../include/fx2regs.h	517;"	d
-bmBIT2	../include/fx2regs.h	518;"	d
-bmBIT3	../include/fx2regs.h	519;"	d
-bmBIT4	../include/fx2regs.h	520;"	d
-bmBIT5	../include/fx2regs.h	521;"	d
-bmBIT6	../include/fx2regs.h	522;"	d
-bmBIT7	../include/fx2regs.h	523;"	d
-bmBPEN	../include/fx2regs.h	585;"	d
-bmBPPULSE	../include/fx2regs.h	584;"	d
-bmBREAK	../include/fx2regs.h	583;"	d
-bmBUF0	../include/fx2regs.h	690;"	d
-bmBUF1	../include/fx2regs.h	689;"	d
-bmBULK	../include/fx2regs.h	686;"	d
-bmCLKINV	../include/fx2regs.h	530;"	d
-bmCLKOE	../include/fx2regs.h	531;"	d
-bmCLKSPD	../include/fx2regs.h	527;"	d
-bmCLKSPD0	../include/fx2regs.h	529;"	d
-bmCLKSPD1	../include/fx2regs.h	528;"	d
-bmDISCON	../include/fx2regs.h	592;"	d
-bmDONE	../include/fx2regs.h	564;"	d
-bmDOUBLEBUF	../include/fx2regs.h	693;"	d
-bmDPEN	../include/fx2regs.h	601;"	d
-bmDYN_OUT	../include/fx2regs.h	673;"	d
-bmENH_PKT	../include/fx2regs.h	674;"	d
-bmEP0ACK	../include/fx2regs.h	575;"	d
-bmEP0IBN	../include/fx2regs.h	635;"	d
-bmEP0PING	../include/fx2regs.h	643;"	d
-bmEP1IBN	../include/fx2regs.h	634;"	d
-bmEP1PING	../include/fx2regs.h	642;"	d
-bmEP2EMPTY	../include/fx2regs.h	621;"	d
-bmEP2FULL	../include/fx2regs.h	620;"	d
-bmEP2IBN	../include/fx2regs.h	633;"	d
-bmEP2PING	../include/fx2regs.h	641;"	d
-bmEP4EMPTY	../include/fx2regs.h	619;"	d
-bmEP4FULL	../include/fx2regs.h	618;"	d
-bmEP4IBN	../include/fx2regs.h	632;"	d
-bmEP4PING	../include/fx2regs.h	640;"	d
-bmEP6EMPTY	../include/fx2regs.h	617;"	d
-bmEP6FULL	../include/fx2regs.h	616;"	d
-bmEP6IBN	../include/fx2regs.h	631;"	d
-bmEP6PING	../include/fx2regs.h	639;"	d
-bmEP8EMPTY	../include/fx2regs.h	615;"	d
-bmEP8FULL	../include/fx2regs.h	614;"	d
-bmEP8IBN	../include/fx2regs.h	630;"	d
-bmEP8PING	../include/fx2regs.h	638;"	d
-bmEPBUSY	../include/fx2regs.h	607;"	d
-bmEPEMPTY	../include/fx2regs.h	612;"	d
-bmEPFULL	../include/fx2regs.h	611;"	d
-bmEPSTALL	../include/fx2regs.h	608;"	d
-bmEXIF_I2CINT	../include/fx2regs.h	711;"	d
-bmEXIF_IE4	../include/fx2regs.h	712;"	d
-bmEXIF_IE5	../include/fx2regs.h	713;"	d
-bmEXIF_USBINT	../include/fx2regs.h	710;"	d
-bmFLAGD	../include/fx2regs.h	535;"	d
-bmGPIFA0	../include/fx2regs.h	546;"	d
-bmGPIFA1	../include/fx2regs.h	545;"	d
-bmGPIFA2	../include/fx2regs.h	544;"	d
-bmGPIFA3	../include/fx2regs.h	543;"	d
-bmGPIFA4	../include/fx2regs.h	542;"	d
-bmGPIFA5	../include/fx2regs.h	541;"	d
-bmGPIFA6	../include/fx2regs.h	540;"	d
-bmGPIFA7	../include/fx2regs.h	539;"	d
-bmGPIFA8	../include/fx2regs.h	548;"	d
-bmGPIF_EP2_START	../include/fx2regs.h	702;"	d
-bmGPIF_EP4_START	../include/fx2regs.h	703;"	d
-bmGPIF_EP6_START	../include/fx2regs.h	704;"	d
-bmGPIF_EP8_START	../include/fx2regs.h	705;"	d
-bmGPIF_IDLE	../include/fx2regs.h	700;"	d
-bmGPIF_READ	../include/fx2regs.h	706;"	d
-bmGPIF_WRITE	../include/fx2regs.h	707;"	d
-bmGSDA_REM_WAKEUP	../include/usb_requests.h	85;"	d
-bmGSDA_SELF_POWERED	../include/usb_requests.h	84;"	d
-bmGSTATE	../include/fx2regs.h	652;"	d
-bmHSGRANT	../include/fx2regs.h	576;"	d
-bmHSM	../include/fx2regs.h	591;"	d
-bmHSNAK	../include/fx2regs.h	605;"	d
-bmIBN	../include/fx2regs.h	644;"	d
-bmID	../include/fx2regs.h	561;"	d
-bmIFCFG0	../include/fx2regs.h	654;"	d
-bmIFCFG1	../include/fx2regs.h	653;"	d
-bmIFCFGMASK	../include/fx2regs.h	655;"	d
-bmIFCLKOE	../include/fx2regs.h	649;"	d
-bmIFCLKPOL	../include/fx2regs.h	650;"	d
-bmIFCLKSRC	../include/fx2regs.h	647;"	d
-bmIFGPIF	../include/fx2regs.h	656;"	d
-bmIN	../include/fx2regs.h	682;"	d
-bmINFM	../include/fx2regs.h	659;"	d
-bmINT0	../include/fx2regs.h	537;"	d
-bmINT1	../include/fx2regs.h	536;"	d
-bmINT4IN	../include/fx2regs.h	588;"	d
-bmINT6	../include/fx2regs.h	550;"	d
-bmINTERRUPT	../include/fx2regs.h	687;"	d
-bmINVALIDBUF	../include/fx2regs.h	692;"	d
-bmISOCHRONOUS	../include/fx2regs.h	685;"	d
-bmIV0	../include/fx2regs.h	573;"	d
-bmIV1	../include/fx2regs.h	572;"	d
-bmIV2	../include/fx2regs.h	571;"	d
-bmIV3	../include/fx2regs.h	570;"	d
-bmIV4	../include/fx2regs.h	569;"	d
-bmLASTRD	../include/fx2regs.h	560;"	d
-bmLED0	../include/radar_rev1_regs.h	75;"	d
-bmLED1	../include/radar_rev1_regs.h	76;"	d
-bmNAKALL	../include/fx2regs.h	678;"	d
-bmNOAUTOARM	../include/fx2regs.h	670;"	d
-bmNOSYNSOF	../include/fx2regs.h	593;"	d
-bmNPAK	../include/fx2regs.h	610;"	d
-bmOEP	../include/fx2regs.h	660;"	d
-bmPORT_A_INITIAL	../include/radar_rev1_regs.h	61;"	d
-bmPORT_A_OUTPUTS	../include/radar_rev1_regs.h	60;"	d
-bmPORT_C_INITIAL	../include/radar_rev1_regs.h	72;"	d
-bmPORT_C_OUTPUTS	../include/radar_rev1_regs.h	70;"	d
-bmPORT_E_INITIAL	../include/radar_rev1_regs.h	84;"	d
-bmPORT_E_OUTPUTS	../include/radar_rev1_regs.h	83;"	d
-bmPRTCSTB	../include/fx2regs.h	526;"	d
-bmQUADBUF	../include/fx2regs.h	691;"	d
-bmQUERYTOGGLE	../include/fx2regs.h	625;"	d
-bmRENUM	../include/fx2regs.h	594;"	d
-bmRESETTOGGLE	../include/fx2regs.h	627;"	d
-bmRT_DIR_IN	../include/usb_requests.h	33;"	d
-bmRT_DIR_MASK	../include/usb_requests.h	32;"	d
-bmRT_DIR_OUT	../include/usb_requests.h	34;"	d
-bmRT_RECIP_DEVICE	../include/usb_requests.h	43;"	d
-bmRT_RECIP_ENDPOINT	../include/usb_requests.h	45;"	d
-bmRT_RECIP_INTERFACE	../include/usb_requests.h	44;"	d
-bmRT_RECIP_MASK	../include/usb_requests.h	42;"	d
-bmRT_RECIP_OTHER	../include/usb_requests.h	46;"	d
-bmRT_TYPE_CLASS	../include/usb_requests.h	38;"	d
-bmRT_TYPE_MASK	../include/usb_requests.h	36;"	d
-bmRT_TYPE_RESERVED	../include/usb_requests.h	40;"	d
-bmRT_TYPE_STD	../include/usb_requests.h	37;"	d
-bmRT_TYPE_VENDOR	../include/usb_requests.h	39;"	d
-bmRXD0OUT	../include/fx2regs.h	552;"	d
-bmRXD1OUT	../include/fx2regs.h	551;"	d
-bmSDPAUTO	../include/fx2regs.h	623;"	d
-bmSETTOGGLE	../include/fx2regs.h	626;"	d
-bmSIGRESUME	../include/fx2regs.h	595;"	d
-bmSKIP	../include/fx2regs.h	697;"	d
-bmSKIPCOMMIT	../include/fx2regs.h	671;"	d
-bmSOF	../include/fx2regs.h	580;"	d
-bmSTART	../include/fx2regs.h	558;"	d
-bmSTOP	../include/fx2regs.h	559;"	d
-bmSTOPIE	../include/fx2regs.h	566;"	d
-bmSUDAV	../include/fx2regs.h	581;"	d
-bmSUSP	../include/fx2regs.h	578;"	d
-bmSUTOK	../include/fx2regs.h	579;"	d
-bmT0OUT	../include/fx2regs.h	555;"	d
-bmT1OUT	../include/fx2regs.h	554;"	d
-bmT2EX	../include/fx2regs.h	549;"	d
-bmT2OUT	../include/fx2regs.h	553;"	d
-bmTOGCTLEPMASK	../include/fx2regs.h	628;"	d
-bmTRIPLEBUF	../include/fx2regs.h	694;"	d
-bmTYPE0	../include/fx2regs.h	684;"	d
-bmTYPE1	../include/fx2regs.h	683;"	d
-bmURES	../include/fx2regs.h	577;"	d
-bmVALID	../include/fx2regs.h	681;"	d
-bmWORDWIDE	../include/fx2regs.h	665;"	d
-bmWU	../include/fx2regs.h	598;"	d
-bmWU2	../include/fx2regs.h	597;"	d
-bmWU2EN	../include/fx2regs.h	602;"	d
-bmWU2POL	../include/fx2regs.h	599;"	d
-bmWUEN	../include/fx2regs.h	603;"	d
-bmWUPOL	../include/fx2regs.h	600;"	d
-bmZEROLENIN	../include/fx2regs.h	663;"	d
-check_flow_state	../src/edit-gpif	/^def check_flow_state (line, flow_state_dict):$/;"	f
-clear_fifo_gpif_irq	../include/isr.h	168;"	d
-clear_timer_irq	../include/timer.h	31;"	d
-clear_usb_irq	../include/isr.h	161;"	d
-current_config_descr	../lib/usb_common.c	/^xdata unsigned char *current_config_descr;$/;"	v
-current_device_descr	../lib/usb_common.c	/^xdata unsigned char *current_device_descr;$/;"	v
-current_devqual_descr	../lib/usb_common.c	/^xdata unsigned char *current_devqual_descr;$/;"	v
-delta	../src/edit-gpif	/^def delta (xseq, yseq):$/;"	f
-edit_gpif	../src/edit-gpif	/^def edit_gpif (input_name, output_name, inline_name):$/;"	f
-epcs	../lib/usb_common.c	/^epcs (unsigned char ep)$/;"	f
-fx2_renumerate	../lib/fx2utils.c	/^fx2_renumerate (void)$/;"	f
-fx2_reset_data_toggle	../lib/fx2utils.c	/^fx2_reset_data_toggle (unsigned char ep)$/;"	f
-fx2_stall_ep0	../lib/fx2utils.c	/^fx2_stall_ep0 (void)$/;"	f
-get_ep0_data	../src/radar_main.c	/^static void get_ep0_data(void)$/;"	f	file:
-hook_fgv	../lib/isr.c	/^hook_fgv (unsigned char vector_number, unsigned short addr)$/;"	f
-hook_sv	../lib/isr.c	/^hook_sv (unsigned char vector_number, unsigned short addr)$/;"	f
-hook_timer_tick	../lib/timer.c	/^hook_timer_tick (unsigned short isr_tick_handler)$/;"	f
-hook_uv	../lib/isr.c	/^hook_uv (unsigned char vector_number, unsigned short addr)$/;"	f
-i2c_read	../lib/i2c.c	/^i2c_read (unsigned char addr, xdata unsigned char *buf, unsigned char len)$/;"	f
-i2c_write	../lib/i2c.c	/^i2c_write (unsigned char addr, xdata const unsigned char *buf, unsigned char len)$/;"	f
-init_gpif	../src/init_gpif.c	/^init_gpif(void)$/;"	f
-init_usrp	../src/usrp_common.c	/^void init_usrp(void)$/;"	f
-main	../src/radar_main.c	/^void main(void) {$/;"	f
-main_loop	../src/radar_main.c	/^static void main_loop(void) $/;"	f	file:
-mdelay	../lib/delay.c	/^mdelay (unsigned int msecs)$/;"	f
-other_config_descr	../lib/usb_common.c	/^xdata unsigned char *other_config_descr;$/;"	v
-plausible_endpoint	../lib/usb_common.c	/^plausible_endpoint (unsigned char ep)$/;"	f
-setup_autovectors	../lib/isr.c	/^setup_autovectors (void)$/;"	f
-setup_descriptors	../lib/usb_common.c	/^setup_descriptors (void)$/;"	f	file:
-setup_flowstate_common	../include/radar_gpif_inline.h	5;"	d
-setup_flowstate_common	../include/radar_gpif_inline2.h	5;"	d
-setup_flowstate_read	../include/radar_gpif_inline.h	18;"	d
-setup_flowstate_read	../include/radar_gpif_inline2.h	18;"	d
-setup_flowstate_write	../include/radar_gpif_inline.h	26;"	d
-setup_flowstate_write	../include/radar_gpif_inline2.h	26;"	d
-udelay	../lib/delay.c	/^udelay (unsigned char usecs)$/;"	f
-usb_handle_setup_packet	../lib/usb_common.c	/^usb_handle_setup_packet (void)$/;"	f
-usb_install_handlers	../lib/usb_common.c	/^usb_install_handlers (void)$/;"	f
-usb_setup_packet_avail	../include/usb_common.h	35;"	d
-wIndexH	../lib/usb_common.c	44;"	d	file:
-wIndexH	../src/radar_main.c	39;"	d	file:
-wIndexL	../lib/usb_common.c	43;"	d	file:
-wIndexL	../src/radar_main.c	38;"	d	file:
-wLengthH	../lib/usb_common.c	46;"	d	file:
-wLengthH	../src/radar_main.c	41;"	d	file:
-wLengthL	../lib/usb_common.c	45;"	d	file:
-wLengthL	../src/radar_main.c	40;"	d	file:
-wValueH	../lib/usb_common.c	42;"	d	file:
-wValueH	../src/radar_main.c	37;"	d	file:
-wValueL	../lib/usb_common.c	41;"	d	file:
-wValueL	../src/radar_main.c	36;"	d	file:
-wordwide	../src/usrp_common.c	29;"	d	file:
-write_define	../src/edit-gpif	/^def write_define (output, name, pairs):$/;"	f
-write_inlines	../src/edit-gpif	/^def write_inlines (output, dict):$/;"	f
diff --git a/firmware/GN3S_v2/src/usb_descriptors.a51 b/firmware/GN3S_v2/src/usb_descriptors.a51
deleted file mode 100644
index 94760d6..0000000
--- a/firmware/GN3S_v2/src/usb_descriptors.a51
+++ /dev/null
@@ -1,422 +0,0 @@
-;;;  
-;;; Code from: USRP - Universal Software Radio Peripheral (GNU Radio) 
-;;;  
-;;; Initial modifications by: 
-;;;  
-;;; Stephan Esterhuizen, Aerospace Engineering Sciences 
-;;; University of Colorado at Boulder 
-;;; Boulder CO, USA 
-;;;  
-;;; Further modifications for use with the SiGe USB module to accompany 
-;;; the textbook: "A Software-Defined GPS and Galileo Receiver: A 
-;;; Single-Frequency Approach" by Kai Borre, Dennis Akos, et.al. by: 
-;;;  
-;;; Marcus Junered, GNSS Research Group 
-;;; Lulea University of Technology 
-;;; Lulea, Sweden  
-;;; junered at ltu.se 
-;;;  
-;;; --------------------------------------------------------------------- 
-;;;  
-;;; GN3S - GNSS IF Streamer for Cypress FX2LP 
-;;; Copyright (C) 2006 Marcus Junered 
-;;;  
-;;; 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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
-;;;  
- 
- 
-;;; USB Descriptor table for the USRP 
-;;;  
-;;; We're a high-speed only device (480 Mb/sec) with 1 configuration 
-;;; and 3 interfaces.   
-;;;  
-;;;	interface 0:	command and status (ep0 COMMAND) 
-;;;	interface 1:	Transmit path (ep2 OUT BULK) 
-;;;	interface 2:	Receive path (ep6 IN BULK) 
- 
-	.module usb_descriptors 
-	 
-	;;VID_FREE	 = 0x1781	; GN3S Project
-	;;PID_USRP	 = 0x0B39	; CU AAU SE4120L-EK3
-	VID_FREE	 = 0x16C0	; GN3S Modified driver Project
-	PID_USRP	 = 0x072F	; CU AAU SE4120L-EK3
-	;; We distinguish configured from unconfigured USRPs using the Device ID. 
-	;; If the MSB of the DID is 0, the device is unconfigured. 
-	;; The LSB of the DID is reserved for hardware revs. 
-	 
-	DID_USRP1	 = 0x0102	; Device ID (bcd) 
- 
-	 
-	DSCR_DEVICE	 =   1	; Descriptor type: Device 
-	DSCR_CONFIG	 =   2	; Descriptor type: Configuration 
-	DSCR_STRING	 =   3	; Descriptor type: String 
-	DSCR_INTRFC	 =   4	; Descriptor type: Interface 
-	DSCR_ENDPNT	 =   5	; Descriptor type: Endpoint 
-	DSCR_DEVQUAL 	 =   6	; Descriptor type: Device Qualifier 
-	 
-	DSCR_DEVICE_LEN	 =  18 
-	DSCR_CONFIG_LEN  =   9 
-	DSCR_INTRFC_LEN  =   9 
-	DSCR_ENDPNT_LEN  =   7 
-	DSCR_DEVQUAL_LEN =  10 
-	 
-	ET_CONTROL	 =   0	; Endpoint type: Control 
-	ET_ISO		 =   1	; Endpoint type: Isochronous 
-	ET_BULK		 =   2	; Endpoint type: Bulk 
-	ET_INT		 =   3	; Endpoint type: Interrupt 
-	 
-	 
-	;; configuration attributes 
-	bmSELF_POWERED	=	1 << 6 
- 
-;;; -------------------------------------------------------- 
-;;;	external ram data 
-;;;-------------------------------------------------------- 
-	 
-	.area USBDESCSEG    (XDATA) 
-	 
-;;; ---------------------------------------------------------------- 
-;;; descriptors used when operating at high speed (480Mb/sec) 
-;;; ---------------------------------------------------------------- 
-	 
-	.even	; descriptors must be 2-byte aligned for SUDPTR{H,L} to work 
- 
-	;; The .even directive isn't really honored by the linker.  Bummer! 
-	;; (There's no way to specify an alignment requirement for a given area, 
-	;; hence when they're concatenated together, even doesn't work.) 
-	;;  
-	;; We work around this by telling the linker to put USBDESCSEG 
-	;; at 0xE000 absolute.  This means that the maximimum length of this 
-	;; segment is 480 bytes, leaving room for the two hash slots  
-	;; at 0xE1EO to 0xE1FF.   
-	;;  
-	;; As of July 7, 2004, this segment is 326 bytes long 
-	 
-_high_speed_device_descr:: 
-	.db	DSCR_DEVICE_LEN 
-	.db	DSCR_DEVICE 
-	.db	<0x0200		; Specification version (LSB) 
-	.db	>0x0200		; Specification version (MSB) 
-	.db	0xff		; device class (vendor specific) 
-	.db	0xff		; device subclass (vendor specific) 
-	.db	0xff		; device protocol (vendor specific) 
-	.db	64		; bMaxPacketSize0 for endpoint 0 
-	.db	<VID_FREE	; idVendor 
-	.db	>VID_FREE	; idVendor 
-	.db	<PID_USRP	; idProduct 
-	.db	>PID_USRP	; idProduct 
-	.db	<DID_USRP1	; bcdDevice 
-	.db	>DID_USRP1	; bcdDevice 
-	.db	SI_VENDOR	; iManufacturer (string index) 
-	.db	SI_PRODUCT	; iProduct (string index) 
-	.db	SI_SERIAL	; iSerial number (string index) 
-	.db	1		; bNumConfigurations 
-	 
-;;; describes the other speed (12Mb/sec) 
-	.even 
-_high_speed_devqual_descr:: 
-	.db	DSCR_DEVQUAL_LEN 
-	.db	DSCR_DEVQUAL 
-	.db	<0x0200		; bcdUSB (LSB) 
-	.db	>0x0200		; bcdUSB (MSB) 
-	.db	0xff		; bDeviceClass 
-	.db	0xff		; bDeviceSubClass 
-	.db	0xff		; bDeviceProtocol 
-	.db	64		; bMaxPacketSize0 
-	.db	1		; bNumConfigurations (one config at 12Mb/sec) 
-	.db	0		; bReserved 
-	 
-	.even 
-_high_speed_config_descr::	 
-	.db	DSCR_CONFIG_LEN 
-	.db	DSCR_CONFIG 
-	.db	<(_high_speed_config_descr_end - _high_speed_config_descr) ; LSB 
-	.db	>(_high_speed_config_descr_end - _high_speed_config_descr) ; MSB 
-	.db	3		; bNumInterfaces 
-	.db	1		; bConfigurationValue 
-	.db	0		; iConfiguration 
-	.db	0x80 | bmSELF_POWERED ; bmAttributes 
-	.db	0		; bMaxPower 
- 
-	;; interface descriptor 0 (command & status, ep0 COMMAND) 
-	 
-	.db	DSCR_INTRFC_LEN 
-	.db	DSCR_INTRFC 
-	.db	0		; bInterfaceNumber (zero based) 
-	.db	0		; bAlternateSetting 
-	.db	0		; bNumEndpoints 
-	.db	0xff		; bInterfaceClass (vendor specific) 
-	.db	0xff		; bInterfaceSubClass (vendor specific) 
-	.db	0xff		; bInterfaceProtocol (vendor specific) 
-	.db	SI_COMMAND_AND_STATUS	; iInterface (description) 
- 
-	;; interface descriptor 1 (transmit path, ep2 OUT BULK) 
-	 
-	.db	DSCR_INTRFC_LEN 
-	.db	DSCR_INTRFC 
-	.db	1		; bInterfaceNumber (zero based) 
-	.db	0		; bAlternateSetting 
-	.db	1		; bNumEndpoints 
-	.db	0xff		; bInterfaceClass (vendor specific) 
-	.db	0xff		; bInterfaceSubClass (vendor specific) 
-	.db	0xff		; bInterfaceProtocol (vendor specific) 
-	.db	SI_TX_PATH	; iInterface (description) 
- 
-	;; interface 1's end point 
- 
-	.db	DSCR_ENDPNT_LEN 
-	.db	DSCR_ENDPNT 
-	.db	0x02		; bEndpointAddress (ep 2 OUT) 
-	.db	ET_BULK		; bmAttributes 
-	.db	<512		; wMaxPacketSize (LSB) 
-	.db	>512		; wMaxPacketSize (MSB) 
-	.db	0		; bInterval (iso only) 
- 
-	;; interface descriptor 2 (receive path, ep6 IN BULK) 
-	 
-	.db	DSCR_INTRFC_LEN 
-	.db	DSCR_INTRFC 
-	.db	2		; bInterfaceNumber (zero based) 
-	.db	0		; bAlternateSetting 
-	.db	1		; bNumEndpoints 
-	.db	0xff		; bInterfaceClass (vendor specific) 
-	.db	0xff		; bInterfaceSubClass (vendor specific) 
-	.db	0xff		; bInterfaceProtocol (vendor specific) 
-	.db	SI_RX_PATH	; iInterface (description) 
- 
-	;; interface 2's end point 
- 
-	.db	DSCR_ENDPNT_LEN 
-	.db	DSCR_ENDPNT 
-	.db	0x86		; bEndpointAddress (ep 6 IN) 
-	.db	ET_BULK		; bmAttributes 
-	.db	<512		; wMaxPacketSize (LSB) 
-	.db	>512		; wMaxPacketSize (MSB) 
-	.db	0		; bInterval (iso only) 
- 
-_high_speed_config_descr_end:		 
- 
-;;; ---------------------------------------------------------------- 
-;;; descriptors used when operating at full speed (12Mb/sec) 
-;;; ---------------------------------------------------------------- 
- 
-	.even 
-_full_speed_device_descr::	 
-	.db	DSCR_DEVICE_LEN 
-	.db	DSCR_DEVICE 
-	.db	<0x0200		; Specification version (LSB) 
-	.db	>0x0200		; Specification version (MSB) 
-	.db	0xff		; device class (vendor specific) 
-	.db	0xff		; device subclass (vendor specific) 
-	.db	0xff		; device protocol (vendor specific) 
-	.db	64		; bMaxPacketSize0 for endpoint 0 
-	.db	<VID_FREE	; idVendor 
-	.db	>VID_FREE	; idVendor 
-	.db	<PID_USRP	; idProduct 
-	.db	>PID_USRP	; idProduct 
-	.db	<DID_USRP1	; bcdDevice 
-	.db	>DID_USRP1	; bcdDevice 
-	.db	SI_VENDOR	; iManufacturer (string index) 
-	.db	SI_PRODUCT	; iProduct (string index) 
-	.db	SI_NONE		; iSerial number (None) 
-	.db	1		; bNumConfigurations 
-	 
-	 
-;;; describes the other speed (480Mb/sec) 
-	.even 
-_full_speed_devqual_descr:: 
-	.db	DSCR_DEVQUAL_LEN 
-	.db	DSCR_DEVQUAL 
-	.db	<0x0200		; bcdUSB 
-	.db	>0x0200		; bcdUSB 
-	.db	0xff		; bDeviceClass 
-	.db	0xff		; bDeviceSubClass 
-	.db	0xff		; bDeviceProtocol 
-	.db	64		; bMaxPacketSize0 
-	.db	1		; bNumConfigurations (one config at 480Mb/sec) 
-	.db	0		; bReserved 
-	 
-	.even 
-_full_speed_config_descr::	 
-	.db	DSCR_CONFIG_LEN 
-	.db	DSCR_CONFIG 
-	.db	<(_full_speed_config_descr_end - _full_speed_config_descr) ; LSB 
-	.db	>(_full_speed_config_descr_end - _full_speed_config_descr) ; MSB 
-	.db	1		; bNumInterfaces 
-	.db	1		; bConfigurationValue 
-	.db	0		; iConfiguration 
-	.db	0x80 | bmSELF_POWERED ; bmAttributes 
-	.db	0		; bMaxPower 
- 
-	;; interface descriptor 0 (command & status, ep0 COMMAND) 
-	 
-	.db	DSCR_INTRFC_LEN 
-	.db	DSCR_INTRFC 
-	.db	0		; bInterfaceNumber (zero based) 
-	.db	0		; bAlternateSetting 
-	.db	0		; bNumEndpoints 
-	.db	0xff		; bInterfaceClass (vendor specific) 
-	.db	0xff		; bInterfaceSubClass (vendor specific) 
-	.db	0xff		; bInterfaceProtocol (vendor specific) 
-	.db	SI_COMMAND_AND_STATUS	; iInterface (description) 
-	 
-_full_speed_config_descr_end:	 
-	 
-;;; ---------------------------------------------------------------- 
-;;;			string descriptors 
-;;; ---------------------------------------------------------------- 
- 
-_nstring_descriptors:: 
-	.db	(_string_descriptors_end - _string_descriptors) / 2 
- 
-_string_descriptors:: 
-	.db	<str0, >str0 
-	.db	<str1, >str1 
-	.db	<str2, >str2 
-	.db	<str3, >str3 
-	.db	<str4, >str4 
-	.db	<str5, >str5 
-	.db	<str6, >str6 
-_string_descriptors_end: 
- 
-	SI_NONE = 0 
-	;; str0 contains the language ID's. 
-	.even 
-str0:	.db	str0_end - str0 
-	.db	DSCR_STRING 
-	.db	0 
-	.db	0 
-	.db	<0x0409		; magic code for US English (LSB) 
-	.db	>0x0409		; magic code for US English (MSB) 
-str0_end: 
- 
-	SI_VENDOR = 1 
-	.even 
-str1:	.db	str1_end - str1 
-	.db	DSCR_STRING 
-	.db	'G, 0		; 16-bit unicode 
-	.db	'N, 0 
-	.db	'3, 0 
-	.db	'S, 0 
-	.db	' , 0 
-	.db	'P, 0 
-	.db	'r, 0 
-	.db	'o, 0 
-	.db	'j, 0 
-	.db	'e, 0 
-	.db	'c, 0 
-	.db	't, 0 
-str1_end: 
- 
-	SI_PRODUCT = 2 
-	.even 
-str2:	.db	str2_end - str2 
-	.db	DSCR_STRING 
-	.db	'C, 0 
-	.db	'U, 0 
-	.db	' , 0 
-	.db	'A, 0 
-	.db	'A, 0 
-	.db	'U, 0 
-	.db	' , 0 
-	.db	'S, 0 
-	.db	'i, 0 
-	.db	'G, 0 
-	.db	'e, 0 
-	.db	' , 0 
-	.db	'S, 0 
-	.db	'E, 0 
-	.db	'4, 0 
-	.db	'1, 0 
-	.db	'1, 0 
-	.db	'0, 0 
-	.db	'L, 0 
-	.db	'-, 0 
-	.db	'E, 0 
-	.db	'K, 0 
-	.db	'3, 0 
-str2_end: 
- 
-	SI_COMMAND_AND_STATUS = 3 
-	.even 
-str3:	.db	str3_end - str3 
-	.db	DSCR_STRING 
-	.db	'C, 0 
-	.db	'o, 0 
-	.db	'm, 0 
-	.db	'm, 0 
-	.db	'a, 0 
-	.db	'n, 0 
-	.db	'd, 0 
-	.db	' , 0 
-	.db	'&, 0 
-	.db	' , 0 
-	.db	'S, 0 
-	.db	't, 0 
-	.db	'a, 0 
-	.db	't, 0 
-	.db	'u, 0 
-	.db	's, 0 
-str3_end: 
- 
-	SI_TX_PATH = 4 
-	.even 
-str4:	.db	str4_end - str4 
-	.db	DSCR_STRING 
-	.db	'T, 0 
-	.db	'r, 0 
-	.db	'a, 0 
-	.db	'n, 0 
-	.db	's, 0 
-	.db	'm, 0 
-	.db	'i, 0 
-	.db	't, 0 
-	.db	' , 0 
-	.db	'P, 0 
-	.db	'a, 0 
-	.db	't, 0 
-	.db	'h, 0 
-str4_end: 
- 
-	SI_RX_PATH = 5 
-	.even 
-str5:	.db	str5_end - str5 
-	.db	DSCR_STRING 
-	.db	'R, 0 
-	.db	'e, 0 
-	.db	'c, 0 
-	.db	'e, 0 
-	.db	'i, 0 
-	.db	'v, 0 
-	.db	'e, 0 
-	.db	' , 0 
-	.db	'P, 0 
-	.db	'a, 0 
-	.db	't, 0 
-	.db	'h, 0 
-str5_end: 
- 
-	SI_SERIAL = 6 
-	.even 
-_serial_number_descriptor:: 
-str6:	.db	str6_end - str6 
-	.db	DSCR_STRING 
-	.db	'1, 0 
-	.db	'0, 0 
-	.db	'0, 0 
-	.db	'0, 0 
-	.db	'0, 0 
-str6_end: 
- 
diff --git a/firmware/GN3S_v2/src/usrp_common.c b/firmware/GN3S_v2/src/usrp_common.c
deleted file mode 100644
index f6c7f90..0000000
--- a/firmware/GN3S_v2/src/usrp_common.c
+++ /dev/null
@@ -1,132 +0,0 @@
-/* 
- * Code from: USRP - Universal Software Radio Peripheral (GNU Radio) 
- * 
- * Initial modifications by: 
- * 
- * Stephan Esterhuizen, Aerospace Engineering Sciences 
- * University of Colorado at Boulder 
- * Boulder CO, USA 
- *  
- * Further modifications for use with the SiGe USB module to accompany 
- * the textbook: "A Software-Defined GPS and Galileo Receiver: A 
- * Single-Frequency Approach" by Kai Borre, Dennis Akos, et.al. by: 
- * 
- * Marcus Junered, GNSS Research Group 
- * Lulea University of Technology 
- * Lulea, Sweden  
- * 
- * http://ccar.colorado.edu/gnss
- * 
- * --------------------------------------------------------------------- 
- * 
- * GN3S - GNSS IF Streamer for Windows 
- * Copyright (C) 2006 Marcus Junered 
- * 
- * 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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
- */ 
- 
- 
-#include "usrp_common.h"
-
-
-/* If wordwide is defined, will grab 16 bits, otherwise only
- * bits 7-0 is used */
-#undef wordwide
-
-void init_usrp(void)
-{
-    CPUCS = bmCLKSPD1;          // CPU runs @ 48 MHz
-    CKCON = 0;                  // MOVX takes 2 cycles
-
-    IFCONFIG = bmIFGPIF;
-    //IFCONFIG = bmIFGPIF|bmIFCLKSRC|bmIFCLKOE;//|bm3048MHZ;
-    //IFCONFIG = bmIFGPIF|bmIFCLKSRC;
-    SYNCDELAY;
-
-	//REVCTL = bmDYN_OUT | bmENH_PKT; // highly recommended by docs
-    //SYNCDELAY;
-
-    // configure end points
-
-    EP1OUTCFG = bmVALID | bmBULK;
-    SYNCDELAY;
-    EP1INCFG = bmVALID | bmBULK | bmIN;
-    SYNCDELAY;
-
-	// 512 quad bulk OUT
-    //EP2CFG = bmVALID | bmBULK ;	//| bmQUADBUF;
-	EP2CFG = 0;
-    SYNCDELAY;          
-	// disabled
-    EP4CFG = 0;					
-    SYNCDELAY; 
-	// 512 quad bulk IN
-    EP6CFG = bmVALID | bmBULK | bmQUADBUF | bmIN;
-    SYNCDELAY;                  
-	// disabled
-    EP8CFG = 0;
-    SYNCDELAY;                  
-
-    // reset FIFOs
-    FIFORESET = bmNAKALL;
-    SYNCDELAY;
-    //FIFORESET = 2;
-    //SYNCDELAY;
-    // FIFORESET = 4; SYNCDELAY;
-    FIFORESET = 6;
-    SYNCDELAY;
-    // FIFORESET = 8; SYNCDELAY;
-    FIFORESET = 0;
-    SYNCDELAY;
-
-    // configure end point FIFOs
-
-    // let core see 0 to 1 transistion of autoout bit
-
-
-#ifdef wordwide 
-	EP2FIFOCFG = 0x00;
-	EP6FIFOCFG = bmZEROLENIN | bmAUTOIN | bmWORDWIDE;
-#else
-	EP2FIFOCFG = 0x00;
-   	EP4FIFOCFG = 0x00;
-    EP6FIFOCFG = bmZEROLENIN | bmAUTOIN;
-	EP8FIFOCFG = 0x00;
-#endif
-
-    SYNCDELAY;
-
-    EP0BCH = 0;
-    SYNCDELAY;
-
-    // arm EP1OUT so we can receive "out" packets (TRM pg 8-8)
-
-    EP1OUTBC = 0;
-    SYNCDELAY;
-
-    //EP2GPIFFLGSEL = 0x01;
-    //SYNCDELAY;                  // For EP2OUT, GPIF uses EF flag
-    EP6GPIFFLGSEL = 0x02;
-    SYNCDELAY;                  // For EP6IN, GPIF uses FF flag
-    
-	/* waveform DONE when FF/EF flags get set */
-    EP6GPIFPFSTOP=0x01; SYNCDELAY;
-    //EP2GPIFPFSTOP=0x01; SYNCDELAY;
-
-    EP6AUTOINLENH = (512) >> 8;
-    SYNCDELAY;                  // this is the length for high speed
-    EP6AUTOINLENL = (512) & 0xff;
-    SYNCDELAY;
-}
diff --git a/firmware/GN3S_v2/src/usrp_gpif.c b/firmware/GN3S_v2/src/usrp_gpif.c
deleted file mode 100644
index 2970458..0000000
--- a/firmware/GN3S_v2/src/usrp_gpif.c
+++ /dev/null
@@ -1,206 +0,0 @@
-/*
- * Machine generated by "edit-gpif".  Do not edit by hand.
- */
-
-// This program configures the General Programmable Interface (GPIF) for FX2.
-// Please do not modify sections of text which are marked as "DO NOT EDIT ...".
-//
-// DO NOT EDIT ...
-// GPIF Initialization
-// Interface Timing      Async
-// Internal Ready Init   IntRdy=1
-// CTL Out Tristate-able Binary
-// SingleWrite WF Select     1
-// SingleRead WF Select      0
-// FifoWrite WF Select       3
-// FifoRead WF Select        2
-// Data Bus Idle Drive   Tristate
-// END DO NOT EDIT
-
-// DO NOT EDIT ...
-// GPIF Wave Names
-// Wave 0   = Single R
-// Wave 1   = Single W
-// Wave 2   = FIFO Rea
-// Wave 3   = FIFO Wri
-
-// GPIF Ctrl Outputs   Level
-// CTL 0    = BOGUS    CMOS
-// CTL 1    = CTL1     CMOS
-// CTL 2    = CTL2     CMOS
-// CTL 3    = CTL3     CMOS
-// CTL 4    = CTL4     CMOS
-// CTL 5    = CTL5     CMOS
-
-// GPIF Rdy Inputs
-// RDY0     = ADC_CLK
-// RDY1     = RDY1
-// RDY2     = RDY2
-// RDY3     = RDY3
-// RDY4     = RDY4
-// RDY5     = TCXpire
-// FIFOFlag = FIFOFlag
-// IntReady = IntReady
-// END DO NOT EDIT
-// DO NOT EDIT ...
-//
-// GPIF Waveform 0: Single R
-//
-// Interval     0         1         2         3         4         5         6     Idle (7)
-//          _________ _________ _________ _________ _________ _________ _________ _________
-//
-// AddrMode Same Val  Same Val  Same Val  Same Val  Same Val  Same Val  Same Val
-// DataMode NO Data   NO Data   NO Data   NO Data   NO Data   NO Data   NO Data
-// NextData SameData  SameData  SameData  SameData  SameData  SameData  SameData
-// Int Trig No Int    No Int    No Int    No Int    No Int    No Int    No Int
-// IF/Wait  Wait 1    Wait 1    Wait 1    Wait 1    Wait 1    Wait 1    Wait 1
-//   Term A
-//   LFunc
-//   Term B
-// Branch1
-// Branch0
-// Re-Exec
-// Sngl/CRC Default   Default   Default   Default   Default   Default   Default
-// BOGUS        0         0         0         0         0         0         0         0
-// CTL1         0         0         0         0         0         0         0         0
-// CTL2         0         0         0         0         0         0         0         0
-// CTL3         0         0         0         0         0         0         0         0
-// CTL4         0         0         0         0         0         0         0         0
-// CTL5         0         0         0         0         0         0         0         0
-//
-// END DO NOT EDIT
-// DO NOT EDIT ...
-//
-// GPIF Waveform 1: Single W
-//
-// Interval     0         1         2         3         4         5         6     Idle (7)
-//          _________ _________ _________ _________ _________ _________ _________ _________
-//
-// AddrMode Same Val  Same Val  Same Val  Same Val  Same Val  Same Val  Same Val
-// DataMode NO Data   NO Data   NO Data   NO Data   NO Data   NO Data   NO Data
-// NextData SameData  SameData  SameData  SameData  SameData  SameData  SameData
-// Int Trig No Int    No Int    No Int    No Int    No Int    No Int    No Int
-// IF/Wait  Wait 1    Wait 1    Wait 1    Wait 1    Wait 1    Wait 1    Wait 1
-//   Term A
-//   LFunc
-//   Term B
-// Branch1
-// Branch0
-// Re-Exec
-// Sngl/CRC Default   Default   Default   Default   Default   Default   Default
-// BOGUS        0         0         0         0         0         0         0         0
-// CTL1         0         0         0         0         0         0         0         0
-// CTL2         0         0         0         0         0         0         0         0
-// CTL3         0         0         0         0         0         0         0         0
-// CTL4         0         0         0         0         0         0         0         0
-// CTL5         0         0         0         0         0         0         0         0
-//
-// END DO NOT EDIT
-// DO NOT EDIT ...
-//
-// GPIF Waveform 2: FIFO Rea
-//
-// Interval     0         1         2         3         4         5         6     Idle (7)
-//          _________ _________ _________ _________ _________ _________ _________ _________
-//
-// AddrMode Same Val  Same Val  Same Val  Same Val  Same Val  Same Val  Same Val
-// DataMode Activate  Activate  Activate  Activate  Activate  Activate  Activate
-// NextData SameData  SameData  SameData  SameData  SameData  SameData  SameData
-// Int Trig No Int    No Int    No Int    No Int    No Int    No Int    No Int
-// IF/Wait  IF        Wait 1    Wait 1    Wait 1    Wait 1    Wait 1    Wait 1
-//   Term A TCXpire
-//   LFunc  AND
-//   Term B TCXpire
-// Branch1  ThenIdle
-// Branch0  Else 0
-// Re-Exec  No
-// Sngl/CRC Default   Default   Default   Default   Default   Default   Default
-// BOGUS        0         0         0         0         0         0         0         0
-// CTL1         0         0         0         0         0         0         0         0
-// CTL2         0         0         0         0         0         0         0         0
-// CTL3         0         0         0         0         0         0         0         0
-// CTL4         0         0         0         0         0         0         0         0
-// CTL5         0         0         0         0         0         0         0         0
-//
-// END DO NOT EDIT
-// DO NOT EDIT ...
-//
-// GPIF Waveform 3: FIFO Wri
-//
-// Interval     0         1         2         3         4         5         6     Idle (7)
-//          _________ _________ _________ _________ _________ _________ _________ _________
-//
-// AddrMode Same Val  Same Val  Same Val  Same Val  Same Val  Same Val  Same Val
-// DataMode NO Data   NO Data   NO Data   NO Data   NO Data   NO Data   NO Data
-// NextData SameData  SameData  SameData  SameData  SameData  SameData  SameData
-// Int Trig No Int    No Int    No Int    No Int    No Int    No Int    No Int
-// IF/Wait  Wait 1    Wait 1    Wait 1    Wait 1    Wait 1    Wait 1    Wait 1
-//   Term A
-//   LFunc
-//   Term B
-// Branch1
-// Branch0
-// Re-Exec
-// Sngl/CRC Default   Default   Default   Default   Default   Default   Default
-// BOGUS        0         0         0         0         0         0         0         0
-// CTL1         0         0         0         0         0         0         0         0
-// CTL2         0         0         0         0         0         0         0         0
-// CTL3         0         0         0         0         0         0         0         0
-// CTL4         0         0         0         0         0         0         0         0
-// CTL5         0         0         0         0         0         0         0         0
-//
-// END DO NOT EDIT
-
-// GPIF Program Code
-
-// DO NOT EDIT ...
-// #include "fx2.h"
-// #include "fx2regs.h"
-// #include "fx2sdly.h"     // SYNCDELAY macro
-// END DO NOT EDIT
-
-// DO NOT EDIT ...
-const char WaveData[128] =
-{
-// Wave 0
-/* LenBr */ 0x01,     0x01,     0x01,     0x01,     0x01,     0x01,     0x01,     0x07,
-/* Opcode*/ 0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,
-/* Output*/ 0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,
-/* LFun  */ 0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x3F,
-// Wave 1
-/* LenBr */ 0x01,     0x01,     0x01,     0x01,     0x01,     0x01,     0x01,     0x07,
-/* Opcode*/ 0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,
-/* Output*/ 0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,
-/* LFun  */ 0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x3F,
-// Wave 2
-/* LenBr */ 0x38,     0x01,     0x01,     0x01,     0x01,     0x01,     0x01,     0x07,
-/* Opcode*/ 0x03,     0x02,     0x02,     0x02,     0x02,     0x02,     0x02,     0x00,
-/* Output*/ 0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,
-/* LFun  */ 0x2D,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x3F,
-// Wave 3
-/* LenBr */ 0x01,     0x01,     0x01,     0x01,     0x01,     0x01,     0x01,     0x07,
-/* Opcode*/ 0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,
-/* Output*/ 0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,
-/* LFun  */ 0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x3F,
-};
-// END DO NOT EDIT
-
-// DO NOT EDIT ...
-const char FlowStates[36] =
-{
-/* Wave 0 FlowStates */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-/* Wave 1 FlowStates */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-/* Wave 2 FlowStates */ 0x80,0x2D,0x00,0x00,0x00,0x00,0x03,0x02,0x00,
-/* Wave 3 FlowStates */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-};
-// END DO NOT EDIT
-
-// DO NOT EDIT ...
-const char InitData[7] =
-{
-/* Regs  */ 0xA0,0x00,0x00,0x00,0x46,0x4E,0x00
-};
-// END DO NOT EDIT
-
-// TO DO: You may add additional code below.
-
diff --git a/firmware/GN3S_v2/src/vectors.a51 b/firmware/GN3S_v2/src/vectors.a51
deleted file mode 100644
index 7fd5f95..0000000
--- a/firmware/GN3S_v2/src/vectors.a51
+++ /dev/null
@@ -1,180 +0,0 @@
-;;; -*- asm -*-
-;;;
-;;; Copyright 2003 Free Software Foundation, Inc.
-;;; 
-;;; This file is part of GNU Radio
-;;; 
-;;; GNU Radio 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, or (at your option)
-;;; any later version.
-;;; 
-;;; GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
-;;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;;; Boston, MA 02111-1307, USA.
-;;; 
-
-;;; Interrupt vectors.
-
-;;; N.B. This object module must come first in the list of modules
-
-	.module vectors
-
-;;; ----------------------------------------------------------------
-;;;		  standard FX2 interrupt vectors
-;;; ----------------------------------------------------------------
-
-	.area CSEG (CODE)
-	.area GSINIT (CODE)
-	.area CSEG (CODE)
-__standard_interrupt_vector::
-__reset_vector::
-	ljmp	s_GSINIT
-	
-	;; 13 8-byte entries.  We point them all at __isr_nop
-	ljmp	__isr_nop	; 3 bytes
-	.ds	5		; + 5 = 8 bytes for vector slot
-	ljmp	__isr_nop
-	.ds	5
-	ljmp	__isr_nop
-	.ds	5
-	ljmp	__isr_nop
-	.ds	5
-	ljmp	__isr_nop
-	.ds	5
-	ljmp	__isr_nop
-	.ds	5
-	ljmp	__isr_nop
-	.ds	5
-	ljmp	__isr_nop
-	.ds	5
-	ljmp	__isr_nop
-	.ds	5
-	ljmp	__isr_nop
-	.ds	5
-	ljmp	__isr_nop
-	.ds	5
-	ljmp	__isr_nop
-	.ds	5
-	ljmp	__isr_nop
-	.ds	5
-
-__isr_nop::
-	reti
-
-;;; ----------------------------------------------------------------
-;;; the FIFO/GPIF autovector.  14 4-byte entries.
-;;; must start on a 128 byte boundary.
-;;; ----------------------------------------------------------------
-	
-	. = __reset_vector + 0x0080
-		
-__fifo_gpif_autovector::
-	ljmp	__isr_nop
-	nop	
-	ljmp	__isr_nop
-	nop	
-	ljmp	__isr_nop
-	nop	
-	ljmp	__isr_nop
-	nop	
-	ljmp	__isr_nop
-	nop	
-	ljmp	__isr_nop
-	nop	
-	ljmp	__isr_nop
-	nop	
-	ljmp	__isr_nop
-	nop	
-	ljmp	__isr_nop
-	nop	
-	ljmp	__isr_nop
-	nop	
-	ljmp	__isr_nop
-	nop	
-	ljmp	__isr_nop
-	nop	
-	ljmp	__isr_nop
-	nop	
-	ljmp	__isr_nop
-	nop	
-
-	
-;;; ----------------------------------------------------------------
-;;; the USB autovector.  32 4-byte entries.
-;;; must start on a 256 byte boundary.
-;;; ----------------------------------------------------------------
-
-	. = __reset_vector + 0x0100
-	
-__usb_autovector::
-	ljmp	__isr_nop
-	nop
-	ljmp	__isr_nop
-	nop
-	ljmp	__isr_nop
-	nop
-	ljmp	__isr_nop
-	nop
-	ljmp	__isr_nop
-	nop
-	ljmp	__isr_nop
-	nop
-	ljmp	__isr_nop
-	nop
-	ljmp	__isr_nop
-	nop
-	ljmp	__isr_nop
-	nop
-	ljmp	__isr_nop
-	nop
-	ljmp	__isr_nop
-	nop
-	ljmp	__isr_nop
-	nop
-	ljmp	__isr_nop
-	nop
-	ljmp	__isr_nop
-	nop
-	ljmp	__isr_nop
-	nop
-	ljmp	__isr_nop
-	nop
-	ljmp	__isr_nop
-	nop
-	ljmp	__isr_nop
-	nop
-	ljmp	__isr_nop
-	nop
-	ljmp	__isr_nop
-	nop
-	ljmp	__isr_nop
-	nop
-	ljmp	__isr_nop
-	nop
-	ljmp	__isr_nop
-	nop
-	ljmp	__isr_nop
-	nop
-	ljmp	__isr_nop
-	nop
-	ljmp	__isr_nop
-	nop
-	ljmp	__isr_nop
-	nop
-	ljmp	__isr_nop
-	nop
-	ljmp	__isr_nop
-	nop
-	ljmp	__isr_nop
-	nop
-	ljmp	__isr_nop
-	nop
-	ljmp	__isr_nop
-	nop
diff --git a/src/algorithms/signal_source/adapters/CMakeLists.txt b/src/algorithms/signal_source/adapters/CMakeLists.txt
index 952fb64..ad00956 100644
--- a/src/algorithms/signal_source/adapters/CMakeLists.txt
+++ b/src/algorithms/signal_source/adapters/CMakeLists.txt
@@ -22,85 +22,48 @@ if(ENABLE_GN3S)
      ##############################################
      # GN3S (USB dongle)
      ##############################################
-
-     # find_package(GrGN3S)
-     # if not found, build it with ExternalPackage_Add
-     include(ExternalProject)
-     ExternalProject_Add(
-          gr-gn3s
-          SOURCE_DIR ${CMAKE_SOURCE_DIR}/drivers/gr-gn3s
-          BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/../../../../gr-gn3s
-          UPDATE_COMMAND ""
-          PATCH_COMMAND ""
-          INSTALL_COMMAND ""
-     )
-
-     # Set up variables
-     set(GRGN3S_INCLUDE_DIRS ${GRGN3S_DIR}/include ${GRGN3S_DIR} ${GRGN3S_DIR}/src)
-     set(GRGN3S_LIBRARIES
-         "${CMAKE_CURRENT_BINARY_DIR}/../../../../gr-gn3s/lib/${CMAKE_FIND_LIBRARY_PREFIXES}gr-gn3s${CMAKE_SHARED_LIBRARY_SUFFIX}"
-     )
-     set(OPT_LIBRARIES ${OPT_LIBRARIES} ${GRGN3S_LIBRARIES})
-     set(OPT_DRIVER_INCLUDE_DIRS ${OPT_DRIVER_INCLUDE_DIRS} ${GRGN3S_INCLUDE_DIRS})
+     find_package(GrGN3S REQUIRED)
+     if(NOT GR_GN3S_FOUND)
+         message(" gr-gn3s not found, install it from https://github.com/gnss-sdr/gr-gn3s ")
+         message(FATAL_ERROR "gr-gn3s required for building gnss-sdr with this option enabled")
+     endif(NOT GR_GN3S_FOUND)
+     set(OPT_LIBRARIES ${OPT_LIBRARIES} ${GR_GN3S_LIBRARIES})
+     set(OPT_DRIVER_INCLUDE_DIRS ${OPT_DRIVER_INCLUDE_DIRS} ${GR_GN3S_INCLUDE_DIRS})
      set(OPT_DRIVER_SOURCES ${OPT_DRIVER_SOURCES} gn3s_signal_source.cc)
-
-     #  Copy GN3S firmware binary file to install folder
-     message(STATUS "Copying the GN3S firmware binary file to install folder")
-     file(COPY ${CMAKE_SOURCE_DIR}/firmware/GN3S_v2/bin/gn3s_firmware.ihx
-          DESTINATION ${CMAKE_SOURCE_DIR}/install/
-     )
 endif(ENABLE_GN3S)
 
+
 if(ENABLE_FLEXIBAND)
      ##############################################
      # TELEORBIT FLEXIBAND FRONTEND ADAPTER
      ##############################################
-     if(OS_IS_MACOSX)
-          set(MACOSX_ARGS "-DCMAKE_CXX_COMPILER=/usr/bin/clang++")
-     endif(OS_IS_MACOSX)
-    find_package(Teleorbit REQUIRED)
-    if(NOT TELEORBIT_FOUND)
-        message(FATAL_ERROR "Teleorbit Flexiband GNURadio driver required to build gnss-sdr with the optional FLEXIBAND adapter")
-    endif(NOT TELEORBIT_FOUND)
+     find_package(Teleorbit REQUIRED)
+     if(NOT TELEORBIT_FOUND)
+         message(FATAL_ERROR "Teleorbit Flexiband GNU Radio driver required to build gnss-sdr with the optional FLEXIBAND adapter")
+     endif(NOT TELEORBIT_FOUND)
 
      # Set up variables
-    set(FLEXIBAND_DRIVER_INCLUDE_DIRS
-        ${OPT_DRIVER_INCLUDE_DIRS}
-        ${TELEORBIT_INCLUDE_DIR}/teleorbit
-    )
-    set(OPT_LIBRARIES ${OPT_LIBRARIES} ${TELEORBIT_LIBRARIES})
-    set(OPT_DRIVER_INCLUDE_DIRS ${OPT_DRIVER_INCLUDE_DIRS} ${FLEXIBAND_DRIVER_INCLUDE_DIRS})
-    set(OPT_DRIVER_SOURCES ${OPT_DRIVER_SOURCES} flexiband_signal_source.cc)
+     set(FLEXIBAND_DRIVER_INCLUDE_DIRS
+         ${OPT_DRIVER_INCLUDE_DIRS}
+         ${TELEORBIT_INCLUDE_DIR}/teleorbit
+     )
+     set(OPT_LIBRARIES ${OPT_LIBRARIES} ${TELEORBIT_LIBRARIES})
+     set(OPT_DRIVER_INCLUDE_DIRS ${OPT_DRIVER_INCLUDE_DIRS} ${FLEXIBAND_DRIVER_INCLUDE_DIRS})
+     set(OPT_DRIVER_SOURCES ${OPT_DRIVER_SOURCES} flexiband_signal_source.cc)
 endif(ENABLE_FLEXIBAND)
 
 
 if(ENABLE_ARRAY)
      ##############################################
-     # GRDBFCTTC GNSS EXPERIMENTAL ARRAY PROTOTYPE
+     # DBFCTTC GNSS EXPERIMENTAL ARRAY PROTOTYPE
      ##############################################
-     if(OS_IS_MACOSX)
-          set(MACOSX_ARGS "-DCMAKE_CXX_COMPILER=/usr/bin/clang++")
-     endif(OS_IS_MACOSX)
-     # find_package(GrDbfcttc)
-     # if not found, build it with ExternalPackage_Add
-     include(ExternalProject)
-     ExternalProject_Add(
-          gr-dbfcttc
-          SOURCE_DIR ${CMAKE_SOURCE_DIR}/drivers/gr-dbfcttc
-          BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/../../../../gr-dbfcttc
-          UPDATE_COMMAND ""
-          PATCH_COMMAND ""
-          CMAKE_ARGS ${MACOSX_ARGS}
-          INSTALL_COMMAND ""
-     )
-
-     # Set up variables
-     set(GRDBFCTTC_INCLUDE_DIRS ${GRDBFCTTC_DIR}/include ${GRDBFCTTC_DIR} ${GRDBFCTTC_DIR}/src)
-     set(GRDBFCTTC_LIBRARIES
-         "${CMAKE_CURRENT_BINARY_DIR}/../../../../gr-dbfcttc/lib/${CMAKE_FIND_LIBRARY_PREFIXES}gnuradio-dbfcttc${CMAKE_SHARED_LIBRARY_SUFFIX}"
-     )
-     set(OPT_LIBRARIES ${OPT_LIBRARIES} ${GRDBFCTTC_LIBRARIES})
-     set(OPT_DRIVER_INCLUDE_DIRS ${OPT_DRIVER_INCLUDE_DIRS} ${GRDBFCTTC_INCLUDE_DIRS})
+     find_package(GrDbfcttc REQUIRED)
+     if(NOT GR_DBFCTTC_FOUND)
+         message(" gr-dbfcttc not found, install it from https://github.com/gnss-sdr/gr-dbfcttc ")
+         message(FATAL_ERROR "gr-dbfcttc required for building gnss-sdr with this option enabled")
+     endif(NOT GR_DBFCTTC_FOUND)
+     set(OPT_LIBRARIES ${OPT_LIBRARIES} ${GR_DBFCTTC_LIBRARIES})
+     set(OPT_DRIVER_INCLUDE_DIRS ${OPT_DRIVER_INCLUDE_DIRS} ${GR_DBFCTTC_INCLUDE_DIRS})
      set(OPT_DRIVER_SOURCES ${OPT_DRIVER_SOURCES} raw_array_signal_source.cc)
 endif(ENABLE_ARRAY)
 
@@ -177,3 +140,4 @@ target_link_libraries(signal_source_adapters signal_source_gr_blocks
                                              ${OPT_LIBRARIES}
                                              gnss_sp_libs
 )
+

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-hamradio/gnss-sdr.git



More information about the pkg-hamradio-commits mailing list