2006-10-10  Greg Troxel  <gdt@ir.bbn.com>

	* firmware/include/Makefile.am: avoid nonportable use of $< (first
	prereq in GNU make, implied source for pattern rule in BSD make)
	used in a non-pattern rule.

2006-06-25  Eric Blossom  <eb@comsec.com>

	* firmware/include/fpga_regs_standard.h: doc fix to reflect current reality.

2006-06-10  Eric Blossom  <eb@comsec.com>

	* host/apps/usrper.cc: removed dead (#if 0'd) code, that's no longer applicable.

2006-05-11  Martin Dudok van Heel <nldudok1 at olifantasia dot com>
	Added synchronised multi_usrp support using a new fpga firmware build in a new toplevel usrp_multi.
	A few changes were needed in the mainline code, but they shouldn't affect anyone
	(No functionality changes in the existing code, just a few API additions)

	* firmware/include/fpga_regs_standard.v: added Master/slave control register FR_RX_MASTER_SLAVE
	* firmware/include/fpga_regs_common.h: added 32 bit counter support bmFR_MODE_RX_COUNTING_32BIT
	* firmware/include/generate_regs.py: added support for bitno and bm defines
	* firmware/include/fpga_regs_standard.h: added Master/slave control register FR_RX_MASTER_SLAVE
	* host/lib/usrp_basic.h: added _write_fpga_reg_masked
	* host/lib/usrp_basic.cc: added _write_fpga_reg_masked
	* host/lib/usrp_standard.h: added FPGA_MODE_COUNTING_32BIT
	* fpga/Makefile.extra: regenerated to add new usrp_multi files
	* fpga/rbf/rev4/multi_2rxhb_2tx.rbf: new (fpga firmware for synchronised multi_usrp support)
	* fpga/rbf/rev4/multi_4rx_0tx.rbf: new (fpga firmware for synchronised multi_usrp support)
	* fpga/rbf/Makefile.am: added commented out rev2/multi_2rxhb_2tx.rbf and	rev4/multi_2rxhb_2tx.rbf	
	* fpga/rbf/rev2/multi_2rxhb_2tx.rbf: new (fpga firmware for synchronised multi_usrp support)
	* fpga/rbf/rev2/multi_4rx_0tx.rbf: new (fpga firmware for synchronised multi_usrp support)
	* fpga/toplevel/usrp_std/usrp_std.v: split rx_buffer reset into dsp reset and reset_regs 
	* fpga/toplevel/usrp_multi: new fpga toplevel for synchronised multi_usrp support
	* fpga/toplevel/usrp_multi/usrp_multi.esf: new
	* fpga/toplevel/usrp_multi/usrp_multi.vh: new toplevel verilog include, 
	    to turn on/off multi usrp support and number of rx/tx channels and halfband
	* fpga/toplevel/usrp_multi/usrp_std.vh: new wrapper for usrp_multi.vh
	* fpga/toplevel/usrp_multi/usrp_multi_config_2rxhb_0tx.vh: new
	* fpga/toplevel/usrp_multi/usrp_multi_config_2rxhb_2tx.vh: new
	* fpga/toplevel/usrp_multi/usrp_multi.v: new toplevel verilog file for multi_usrp support.
	    The multi_usrp support can be turned on and off in usrp_multi.vh.
	    If it is turned off this file will generate exactly the same as usrp_std.v
	    (just do a diff between usrp_std.v and usrp_multi.v to see how this is done) 
	* fpga/toplevel/usrp_multi/usrp_multi.qpf: new
	* fpga/toplevel/usrp_multi/usrp_multi.psf: new
	* fpga/toplevel/usrp_multi/usrp_multi_config_2rx_0tx.vh: new
	* fpga/toplevel/usrp_multi/usrp_multi.qsf: new
	* fpga/toplevel/usrp_multi/usrp_multi_config_4rx_0tx.vh: new
	* fpga/toplevel/usrp_multi/usrp_multi.csf: new
	* fpga/toplevel/usrp_multi/.cvsignore: new
	* fpga/sdr_lib/rx_buffer.v: split reset into dsp reset and reset registers
	* fpga/sdr_lib/master_control_multi.v: new wrapper for master_control.v which adds multi_usrp support
	* fpga/sdr_lib/phase_acc.v: set reset of FREQADDR register to 1'b0
	    This way reset can be used to reset phase_acc without resetting the frequency
	    (this reset was not used untill now)
	* fpga/sdr_lib/setting_reg_masked.v: new masked 16 bit register

2006-05-01  Michael Dickens  <mdickens@nd.edu>

	* host/lib/Makefile.am, host/lib/fusb_darwin.{h,cc}: mods for
	higher speed OS/X support.
	* host/lib/darwin_libusb.h, host/lib/mld_threads.h,
	host/lib/circular_buffer.h, host/lib/circular_linked_list.h,
	README_OSX: new files for higher speed OS/X support.


2006-03-29  Eric Blossom  <eb@comsec.com>

	* fpga/Makefile.am: regenerated Makefile.extra so that make distcheck
	passes.
	* fpga/rbf/Makefile.am: simplified installation of FPGA rbf
	files.  It actually works again ;)

2006-03-09  Eric Blossom  <eb@comsec.com>

	* fpga/gen_makefile_extra.py, fpga/Makefile.am,
	fpga/Makefile.extra:  based on an idea by Martin, we now machine
	generate the list of FPGA related files that should go into the
	tarball distribution.  After adding or removing fpga files from
	CVS, you must run gen_makefile_extra.py to regenerate the Makefile
	fragment.

2006-03-09  Martin Dudok van Heel <nldudok1@olifantasia.com>

	* firmware/src/usrp2/Makefile.am, usrp/rbf/Makefile.am: fixed 
	make distcheck failures.

2006-03-06  Eric Blossom  <eb@comsec.com>

	* host/lib/usrp_standard.cc (compute_freq_control_word_fpga):
	Removed host-side truncation of frequency control word.  
	Tuning resolution is now approximately 0.03 Hz.

2006-02-18  Eric Blossom  <eb@comsec.com>

	* host/lib/usrp_prims.{h,cc}, host/lib/usrp_basic.{h,cc},
	host/lib/usrp_standard.{h,cc}: added support for specifying the
	firmware and fpga files that is to be loaded.  Also provided
	default override via USRP_FPGA and USRP_FIRMWARE environment
	variables.

2006-02-17  Eric Blossom  <eb@comsec.com>

	* host/lib/usrp_basic.{h,cc}, host/lib/usrp_prims.{h,cc}: added
	methods to retrieve serial number from usrp motherboard.
	* host/apps/burn-serial-number: burn a serial number into usrp motherboard.
	* firmware/src/usrp2/eeprom_io.{h,c}: routines to read and write eeprom.
	* firmware/src/usrp2/usrp_main.c (patch_usb_descriptors): read h/w
	rev and serial number out of boot eeprom and patch into returned
	usb descriptors.

	* host/apps/test_usrp0.cc, host/lib/usrp0.{h,cc}: removed usrp0
	host code.
	* firmware/src/Makefile.am: removed all rev0 and rev1 usrp firmware.

2006-02-09  Eric Blossom  <eb@comsec.com>

	* fpga/toplevel/usrp_std/usrp_std.vh: refactored condition compilation.
	* fpga/toplevel/usrp_std/usrp_std_config_2rxhb_2tx.vh: new
	* fpga/toplevel/usrp_std/usrp_std_config_4rx_0tx.vh: new

	* firmware/include/fpga_regs_common.{h,v}, host/lib/usrp_basic.cc:
	removed reference to FR_ATR_CTL.
	* fpga/sdr_lib/rx_chain_hb.v: deleted.  Capability was folded into rx_chain.v

2006-02-01  Eric Blossom  <eb@comsec.com>

	* host/lib/usrp_prims.cc (usrp_open_interface): reenabled
	usb_set_configuration for WIN32 platform.  Thanks Martin!

2006-01-30  Eric Blossom  <eb@comsec.com>

	* fpga/sdr_lib/master_control.v: modified code so that it appears
	that atr_ctl is always asserted.  This allows us to simplify the
	daughterboard and applications code.  They can control everything
	via the other three ATR_* regs.
	* fpga/rbf/usrp_fpga_rev2.rbf: updated with new binary.

	* host/lib/usrp_prims.cc (_usrp_load_fpga): manually reset fpga
	regs by writing zero to them.

2006-01-25  Eric Blossom  <eb@comsec.com>

	* host/lib/usrp_standard.{h,cc}: new methods for reporting on FPGA
	capabilities.
	* firmware/include/fpga_regs_standard.h (FR_RB_CAPS): new reg that
	describes FPGA capabilities.

2005-12-15  Eric Blossom  <eb@comsec.com>

	* fpga/Makefile.am: Added missing files to EXTRA_DIST.

2005-12-08  Martin Dudok van Heel <nldudok1@olifantasia.com>
	
	tagged RBF_2005_12_08
	
	* fpga/rbf/usrp_fpga_rev2.rbf: updated.	
	* fpga/toplevel/usrp_std/usrp_std.v: fixed counter mode bug
	related to half-band filter.

2005-12-07  Eric Blossom  <eb@comsec.com>

	Tagged all files: RBF_2005_12_07
	
	* fpga/rbf/usrp_fpga_rev2.rbf: updated with new Auto T/R switching code.

2005-12-06  Eric Blossom  <eb@comsec.com>

	* host/swig/Makefile.am (prims.cc usrp_prims.py): added new dependencies.
	* host/lib/usrp_basic.cc: disabled printing of daughterboard types.

2005-12-05  Eric Blossom  <eb@comsec.com>

	* firmware/include/fpga_regs_standard.h: renumbed
	FR_TX_FORMAT and FR_RX_FORMAT to remove gap.
	* firmware/include/fpga_regs_common.h: moved FR_ATR regs here from
	fpga_regs_standard.h.
	* host/lib/usrp_basic.cc: zero Auto T/R regs at init time.

2005-12-01  Eric Blossom  <eb@comsec.com>

	* host/swig/usrp_fpga_regs.py: define all fpga register names and
	bit masks.  This is effectively a python binding for the contents
	of firmware/include/fpga_regs_{common,standard}.h
	* host/swig/prims.i: swigged fpga_regs_{common,standard}.h

2005-11-30  Eric Blossom  <eb@comsec.com>

	* firmware/include/fpga_regs_standard.h: fixed typo in FR_ATR_*
	series.  Renumbered to start after the 16 registers reserved for
	custom user definition.
	* firmware/include/generate_regs.py (generate_fpga_regs): changed
	generated register const width to 7 bits.

2005-11-19  Martin Dudok van Heel <nldudok1@olifantasia.com>

        * host/apps/Makefile.am: make make-dist work again by
          added new burn-db-eeprom and removing burn-dbs-eeprom
          and burn-tvrx-eeprom from noinst_PYTHON.
        * fpga/Makefile.am: make make-dist work again by making
          EXTRA_DIST consistant with latest cleanup of old files.

2005-11-18  Eric Blossom  <eb@comsec.com>

	* firmware/include/fpga_regs_standard.h: redefined auto
	transmit/receive control registers.

2005-11-17  Eric Blossom  <eb@comsec.com>

	* host/lib/fusb_linux.cc (write): added code to minimize transmit
	buffering.  This allows the higher level code to control buffering
	of USB transfers.

2005-11-15  Eric Blossom  <eb@comsec.com>

	* host/lib/usrp_basic.cc: zero the daughterboard i/o registers on open.
	* fpga/rbf/usrp_fgpa_rev2.rbf: new RBF_2005_11_15
	
2005-11-15  Matt Ettus  <matt@ettus.com>
	
	* fpga/sdr_lib/master_control.v, fpga/sdr_lib/io_pins.v:
	Refactored resets to fix problem where starting Rx side was
	killing Tx side.

2005-11-13  Eric Blossom  <eb@comsec.com>

	* host/lib/usrp_prims.cc (usrp_open_interface): removed call to	usb_set_configuration.
	
2005-11-02  Eric Blossom  <eb@comsec.com>

	* host/lib/usrp_basic.h (class usrp_basic_tx): fixed pga_db_per_step.

2005-10-31  Eric Blossom  <eb@comsec.com>

	* host/lib/usrp_prims.cc (usrp_open_interface): ignore error on
	usb_set_configuration.

2005-10-28  Eric Blossom  <eb@comsec.com>

	* fpga/rbf/Makefile.am (install-data-local): conditionally install
	fpga .rbf files.  If a file named DONT_INSTALL_RBF exists in the
	install directory, the install will not be done.

2005-10-24  Eric Blossom  <eb@comsec.com>

	* host/lib/usrp_standard.{h,cc}: mods to use halfband decimator
	in FPGA.

	* fpga/sdr_lib/hb/halfband_decim.v: added documentation.

2005-10-20  Eric Blossom  <eb@comsec.com>

	* host/lib/usrp_standard.{h,cc} (class usrp_standard_rx): support
	setting and getting rx format (8-bit values, etc).
	* host/lib/usrp_basic.cc (usrp_basic): disable FPGA DEBUG_EN in ctor.
	* host/lib/gen_usrp_dbid.py, host/lib/usrp_prims.h: handle <none> and
	<unknown> cases.
	* host/apps/test_usrp_standard_rx.cc (main): added support for 8-bit samples.
	
	* fpga/sdr_lib/rx_buffer.v: fixed misspelled netname.
	* fpga/toplevel/usrp_std/usrp_std.v: added additional ../ to includes.
	* fpga/sdr_lib/master_control.v: put FR_DEBUG_EN back to single reg.

2005-10-17  Eric Blossom  <eb@comsec.com>

	* firmware/include/fpga_regs_standard.h: redefined RX_FORMAT register.
	* firmware/include/fpga_regs_common.h: split FR_DEBUG_EN into a TX
	and an RX register.

2005-10-13  Eric Blossom  <eb@comsec.com>

	* host/lib/usrp_standard.cc: initialize nchannels before interp/decim
	rate.  Fixed problem computing polling iterval.
	* host/apps/test_usrp_standard_tx.cc (main): added -M megabytes option.

2005-09-21  Eric Blossom  <eb@comsec.com>

	* host/lib/usrp_basic.h: adc_freq() -> adc_rate(); dac_freq() ->
	dac_rate().  Also added converter_rate() which is defined on both
	Tx and Rx sides.

2005-09-20  Eric Blossom  <eb@comsec.com>

	* host/apps/burn-db-eeprom: new.  Burns eeproms on all kinds of
	daughterboards. 

2005-09-17  Eric Blossom  <eb@comsec.com>

	* host/swig/prims.i: added interface for usrp_dbid_to_string.

2005-09-09  Larry Doolittle <ldoolitt@recycle.lbl.gov>

	* host/apps/test_usrp_standard_rx.cc: Added -M option to specify
	how many megabytes to transfer.

2005-09-06  Martin Dudok van Heel <nldudok1 at olifantasia.com>

        * host/lib/fusb_win32.cc: Solved missing samples bug in usb code.
        (Which you could see by running test_counting.py example)
	
2005-08-26  Eric Blossom  <eb@comsec.com>

	* firmware/include/fpga_regs_standard.{h,v}: Added defs for new
	FR_TX_FORMAT and FR_RX_FORMAT registers.

2005-08-19  Eric Blossom  <eb@comsec.com>

	* doc/Makefile.am: clean-local now uses $(RM) -fr

2005-07-29  Martin Dvh <nldudok1 at olifantasia.com>, Stephane Fillod

        * host/lib/fusb_win32.{cc,h}: WTH made win32 fast usb buffer work 
 	* host/lib/usrp_prims.cc: Get usrp basepath for firmware from
 	environment variable USRP_PATH.  Needed for win32 binary installer

2005-07-24  Stephane Fillod  <f8cfe@free.fr>

        * config/usrp_fusb_tech.m4: select win32 fusb for Cygwin
	
2005-07-19  Eric Blossom  <eb@comsec.com>

	* host/apps/usrp_cal_dc_offset.cc: new.  control system for
	determining ADC DC offset correction.  Works, but really ought to
	be reimplemented in FPGA and run constantly.  Part of the problem
	is that the offset correction varies with temperature, pga gain,
	and daughterboard.

	* firmware/src/common/build_eeprom.py (build_shell_script): added
	sleep 1 after each command.

	* host/lib/usrp_standard.h (class usrp_standard_rx): new method:
	set_ddc_phase.

	* host/lib/usrp_basic.{h,cc}, host/lib/usrp_standard.{h,cc}: added
	fusb_block_size and fusb_nblocks args to constructors so that
	application code can control "fast usb" buffer.

2005-07-11  Eric Blossom  <eb@comsec.com>

	* host/lib/gen_usrp_dbid.py: new.  Generate usrp_dbid.h,
	usrp_dbid.py and usrp_dbid.cc using usrp_dbid.dat as the input file.
	* host/apps/burn-basic-eeprom, host/apps/burn-dbs-eeprom,
	host/apps/burn-tvrx-eeprom: import usrp_dbid
	
2005-07-02  Eric Blossom  <eb@comsec.com>

	* config/gr_no_undefined.m4, config/gr_x86_64.m4: new, x86_64 support.
	* config/gr_python.m4: backed out search for libpython, making
	x86_64 work and breaking Cygwin/MinGW.
	* configure.ac, host/lib/Makefile.am, host/swig/Makefile.am: mods
	for x86_64, $(NO_UNDEFINED)
	
2005-05-18  Eric Blossom  <eb@comsec.com>

	* host/lib/usrp_standard.{h,cc}, host/lib/usrp_basic.{h,cc}: new
	start and stop methods to kick off data xfer.  (Useful for
	minimizing latency).
	* host/apps/test_usrp_standard_{tx,rx}.cc: modified to use new
	start method.
	
2005-05-09  Stephane Fillod  <f8cfe@free.fr>

        * config/gr_sysv_shm.m4: SysV shared memory not mandatory
	* config/gr_pwin32.m4, config/gr_python.m4, config/lf_cxx.m4:
	  fixes for Cygwin, MinGW
	* usrp.inf, usrp.iss.in: new for windows installer

2005-05-01  Stephane Fillod  <f8cfe@free.fr>

        * config/usrp_fusb_tech.m4,host/lib/Makefile.am: added win32
        fusb support.
        * host/lib/fusb_sysconfig_win32.cc, host/lib/fusb_win32.{h,cc}:
        new files
        * host/apps/test_usrp0.cc, host/apps/test_usrp_standard_rx.cc,
        host/apps/test_usrp_standard_tx.cc, host/lib/fusb.h,
        host/lib/fusb_linux.cc, host/lib/fusb_sysconfig_darwin.cc,
        host/lib/fusb_sysconfig_generic.cc, host/lib/fusb_sysconfig_linux.cc,
        host/lib/usrp0.cc, host/lib/usrp0.h, host/lib/usrp_basic.cc,
        host/lib/usrp_basic.h: do not hardcode the usb driver block_size.
        * host/lib/fusb_darwin.cc, host/lib/fusb_generic.cc: typo and read
        endpoint fix.
	
2005-03-31  Eric Blossom  <eb@comsec.com>

	* firmware/include/usrp_spi_defs.h,firmware/include/Makefile.am:
	renamed from spi_defs.h to usrp_spi_defs.h.  It's now installed.

2005-03-26  Eric Blossom  <eb@comsec.com>

	* host/lib/fusb_linux.cc (read): fix for x86_64 compile.

2005-03-15  Eric Blossom  <eb@comsec.com>

	* host/lib/usrp_basic.{h,cc}: hoisted write_aux_dac and read_aux_dac
	methods out of usrp_basic and into usrp_basic_rx and usrp_basic_tx.

2005-03-11  Eric Blossom  <eb@comsec.com>

	* host/lib/usrp_basic.{h,cc}: new methods: set_adc_offset,
	set_dac_offset, set_adc_buffer_bypass.

2005-03-03  Eric Blossom  <eb@comsec.com>

	* host/lib/usrp_standard.cc (set_decim_rate): added warning about rates > 128.

2005-02-22  Eric Blossom  <eb@comsec.com>

	* firmware/src/usrp1/spi.c (read_byte_msb): rewritten to work
	around SDCC 2.4.0 bug.

2005-02-20  Eric Blossom  <eb@comsec.com>

	* firmware/include/usrp_ids.h (USB_PID_FSF_SSRP_reserved): added
	PID for SSRP.

2005-02-18  Eric Blossom  <eb@comsec.com>

	* host/lib/usrp_standard.cc (set_interp_rate,set_decim_rate): added range check.
	* host/lib/usrp_standard.h: doc fix.

2005-02-16  Eric Blossom  <eb@comsec.com>

	* host/lib/usrp_dbid.cc: new ID.
	* host/lib/usrp_daughterboards.h (USRP_DBID_DBS_RX): new ID.
	* host/lib/usrp_basic.{h,cc}: added read_i2c and write_i2c methods.
	* host/apps/burn-dbs-eeprom: init eeprom on DBS Rx daughterboard.

2005-02-11  Eric Blossom  <eb@comsec.com>

	* doc/Makefile.am: fixes for distcheck.
	* src/host/apps/Makefile.am: add burn-basic-eeprom to tarball.

2005-02-10  Eric Blossom  <eb@comsec.com>

	* configure.ac, doc/Makefile.am: build html from DocBook if
	they've got xmlto installed.
	
2005-02-09  Eric Blossom  <eb@comsec.com>

	* host/lib/std_paths.h.in (std_paths): new.  Use prefix to locate
	fpga and firmware binaries.

	* host/lib/usrp_prims.cc (compute_hash): rewritten to use embedded
	md5 code instead of calling out to program.
	* host/lib/md5.{h,c}: new. imported from core-utils.

2005-02-08  Eric Blossom  <eb@comsec.com>

	* host/apps/usrper.cc (usage): added missing parameter.

2005-02-06  Eric Blossom  <eb@comsec.com>

	* configure.ac: upped rev to 0.7 for release.
	* host/swig/Makefile.am: backed out dependency on libpython
	* host/apps/Makefile.am, host/apps/test_fusb.cc: removed test_fusb.cc
	* doc/Makefile.am: new.  Generate doxygen docs.

2005-02-05  Eric Blossom  <eb@comsec.com>

	* fpga/Makefile.am: new. distribute verilog with tarball.
	* fpga/rbf/Makefile.am: new.  distribute rbf's with tarball
	* host/apps/test_usrp_standard_rx.cc (main): fixed calling sequence.

2005-02-02  Eric Blossom  <eb@comsec.com>

	* fpga/toplevel/usrp_basic/usrp_basic.v: Removed
	ch?tx_freq from list of signals passed to serial_io in order to
	get it to compile.

2005-01-28  Stephane Fillod <f8cfe@free.fr>

	* src/Makefile.am: fixes for MinGW.
	
2005-01-10  Eric Blossom  <eb@comsec.com>

	* host/lib/usrp_standard.{h,cc}: changed default strategy on mux values. 

	* host/lib/usrp_basic.{h,cc}: probe d'boards and initialize
	fpga adc_offset and oe regs.  Add methods to control all knobs.
	Includes d'board i/o pins, PGA's, query daugherboard ids.

	* host/lib/usrp_prims.{h,cc},host/lib/usrp_dbid.cc: new code to
	read, parse and write d'board EEPROMs.

2005-01-08  Eric Blossom  <eb@comsec.com>

	* firmware/include/usrp_i2c_addr.h: doc fix on d'board EEPROM contents

2005-01-05  Eric Blossom  <eb@comsec.com>

	* host/lib/usrp_basic.cc (set_pga): fixed incorrect upper limit.

2005-01-04  Eric Blossom  <eb@comsec.com>

	* host/lib/usrp_basic.{h,cc} (class usrp_basic_rx): new methods
	for controlling Rx PGA.

2004-12-20  Eric Blossom  <eb@comsec.com>

	* firmware/src/common/build_eeprom.py: new.  builds shell script
	to burn low-power code into usrp motherboard EEPROM.

2004-12-19  Eric Blossom  <eb@comsec.com>

	* firmware/src/usrp1/{eeprom_boot.a51,eeprom_init.c}: new.  Mimimum
	code that will put board in low-power state at boot time.

	* firmware/src/usrp2/Makefile.am: reorg to remove duplicate code
	between rev1 and rev2.
	* firmware/src/usrp2/{fpga.h,fpga_load.h,fpga_rev2.c,fpga_rev2,usrp_common.h,
	usrp_globals.h,usrp_rev2_regs.h}: removed.
	* firmware/src/usrp2/fpga_rev1.c: new

2004-12-08  Eric Blossom  <eb@comsec.com>

	* host/lib/usrp_prims.{h,cc}, host/lib/usrp_basic.cc: minor tweaks for rev2 h/w.

	* firmware/src/usrp2/.cvsignore,Makefile.am,_startup.a51,blink_leds.c,
	board_specific.c,check_mdelay.c,check_udelay.c,edit-gpif,fpga.h,
	fpga_load.c,fpga_load.h,fpga_rev2.c,fpga_rev2.h,gpif.c,gpif.gpf,init_gpif.c,
	spi.c,spi.h,usb_descriptors.a51,usrp_common.c,usrp_common.h,usrp_globals.h,
	usrp_main.c,usrp_rev2_regs.h,vectors.a51: new. copied from usrp1.
	Should remerge this after we're sorted out.

2004-11-29  Berndt Josef Wulf <wulf@ping.net.au>

	* configure.ac, config/usrp_sdcc.m4: new. check for proper version
	of SDCC 8051 compiler and assembler.
	* config/usrp_libusb.m4: fixed check for usb.h
	
2004-11-14  Eric Blossom  <eb@comsec.com>

	* firmware/src/usrp1/usrp_rev1_regs.h (bmMISC_OUTPUTS): removed
	unused define.
	(bmPORT_E_OUTPUTS): made bmPE_FPGA_CLR_STATUS an output (as it
	should have been all along).

2004-10-20  Stephane Fillod <f8cfe@free.fr>

        * configure.ac, config/Makefile.am, config/gr_pwin32.m4,
        host/Makefile.am, host/apps/Makefile.am,
        host/apps/time_stuff.c, host/lib/Makefile.am,
        host/swig/Makefile.am: detect missing functions under Win32.

        * config/mkstemp.m4, config/onceonly.m4,
        host/misc/bug_work_around_8.cc, host/misc/getopt.c,
        host/misc/getopt.h, host/misc/gettimeofday.c,
        host/misc/Makefile.am, host/misc/mkstemp.c,
        host/misc/tempname.c, host/misc/usleep.c,
        host/misc/.cvsignore: new files, replacements for win32 support

        * host/lib/usrp_prims.cc: fix libusb init on systems not as
        clever as Linux (no easy shared global variable, and no
        auto set_configuration).
	
2004-10-20  Eric Blossom  <eb@comsec.com>

	* firmware/src/common/Makefile.am, firmware/lib/Makefile.am,
	firmware/src/common/Makefile.am, firmware/src/usrp0/Makefile.am,
	firmware/src/usrp1/Makefile.am: make distcheck now works!

2004-10-20  Stephane Fillod <f8cfe@free.fr>
	
        * firmware/src/common/Makefile.am,
        firmware/src/common/edit-gpif, firmware/src/usrp0/Makefile.am,
        firmware/src/usrp1/Makefile.am, firmware/src/usrp1/edit-gpif:
        allow VPATH building.

2004-10-18  Eric Blossom  <eb@comsec.com>

	* fpga/sdr_lib/serial_io.v: removed dac_offset stuff.
	* fpga/toplevel/usrp_basic/usrp_basic.v: removed dac_offset stuff.
	Conditionalized debug output.
	* host/swig/util.py: fixed import

	* fpga/toplevel/usrp_basic/usrp_basic.v,fpga/sdr_lib/serial_io.v:
	modified to use 0-based naming on frequencies.
	
	* firmware/include/generate_all.py (generate_fpga_regs): new.
	Generate fpga_regs.v from fpga_regs.h
	* fpga/sdr_lib/serial_io.v: now use symbolic defines for register numbers.

2004-10-13  Eric Blossom  <eb@comsec.com>

	* configure.ac: upped rev to 0.5cvs

2004-10-11  Eric Blossom  <eb@comsec.com>

	* configure.ac: bumped rev to 0.5, made release
	* Makefile.am (EXTRA_DIST): added config.h.in

2004-09-30  Eric Blossom  <eb@comsec.com>

	* firmware/include/usrp_i2c_addr.h: renamed from i2c_addr.h.
	Now installed.

	* host/lib/usrp_basic.{h,cc}: added methods for writing/reading
	aux dac/adc and eeproms.

2004-09-29  Eric Blossom  <eb@comsec.com>

	* host/lib/usrp_prims.{h,cc} (usrp_read_aux_adc, usrp_write_aux_dac):
	Redefined the interface such that aux i/o values are 12-bit.
	This buys us a bit of independence from the AD9862.

2004-09-24  Eric Blossom  <eb@comsec.com>

	* fpga/toplevel/usrp_basic/usrp_basic.v: subtract adc offset from
	buffered input values.

2004-09-23  Eric Blossom  <eb@comsec.com>

	* config/usrp_fusb_tech.m4, config/bnv_have_qt.m4, config/cppunit.m4,
	config/gr_check_mc4020.m4, config/gr_check_usrp.m4, config/gr_doxygen.m4,
	config/gr_gprof.m4, config/gr_scripting.m4, config/gr_set_md_cpu.m4,
	config/pkg.m4, config/usrp_fusb_tech.m4: added additional quoting
	to first arg of AC_DEFUN to silence automake warning.

2004-08-19  Eric Blossom  <eb@comsec.com>

	* host/lib/usrp_basic.{h,cc}, host/lib/usrp_standard.cc: make
	verbose output conditional.

2004-08-14  Matt Ettus  <matt@ettus.com>

	Rx timing problem fixed!
	
	* fpga/sdr_lib/rx_buffer.v: revised to use extended RD assertion
	timing.

2004-08-14  Eric Blossom  <eb@comsec.com>

	* firmware/src/usrp1/{edit-gpif,gpif.gpf}: copied for common and
	modified.  For the time being we've got a different gpif program
	for the usrp0 and usrp1, though the usrp0 should get updated to
	use the new organization.
	* firmware/src/usrp1/{usrp_gpif.c,usrp_gpif_inline.h}: removed
	links to common.  Now generated in usrp1 from usrp1 specific gpif.c

2004-08-06  Eric Blossom  <eb@comsec.com>

	* host/lib/fusb_linux.cc (write): failure of submit_urb is now
	propagated upward as an error.

2004-08-04  Eric Blossom  <eb@comsec.com>

	Rx counting and Rx/Tx digital loopback are now working, modulo the
	problem at the beginning of the packet.  The good news is that it
	is completely reproducible, and there's no PLL being used in the FPGA.
	
	* host/lib/usrp_basic.{h,cc} (set_usb_data_rate,usb_data_rate): new methods.
	* host/lib/usrp_standard.{h,cc}: polling rate is now
	f(usb_data_rate).  Moved fpga_mode into rx only, and changed
	constructor to take optional mode.
	* host/apps/test_usrp_standard_rx.cc (main): changes to match new
	constructor.
	* host/apps/test_usrp_standard_tx.cc (main): -c generates counting
	sequence.
	* fpga/toplevel/usrp_basic/usrp_basic.v: Fixed race.  Changed
	strobe_decim to strobe_interp in loopback setup.
	* fpga/sdr_lib/tx_buffer.v: Removed unnecessary zero assignment.

2004-07-31  Eric Blossom  <eb@comsec.com>

	* host/apps/test_usrp_standard_tx.cc (main): added -l (loopback) option
	* host/apps/test_usrp_standard_tx.cc (main): added -l (loopback) option

	* firmware/include/fpga_regs.h (FR_MODE): added new mode register.
	* host/lib/usrp_basic.cc (usrp_basic): init to non-loopback mode
	
	* host/apps/test_usrp_standard_tx.cc (main): changed default
	interp rate to 16 (=> 32MB/sec).

	* host/lib/usrp_bytesex.h (host_to_usrp_short): New.  Conditional
	byte swapping between host and usrp.
	* host/app/test_usrp0.cc: added conditional byte swapping.
	* host/app/test_usrp_standard_{rx,tx}.cc: added conditional byte swapping.

2004-07-30  Eric Blossom  <eb@comsec.com>

	* host/swig/Makefile.am: now installs usrp_prims.* directly in site-packages.
	One could argue that this isn't particularly pretty, but it does
	get it into the namespace where we want it.	

2004-07-29  Eric Blossom  <eb@comsec.com>

	* host/apps/test_usrp0.cc (main): added code to set tx frequency.

2004-07-12  Eric Blossom  <eb@comsec.com>

	* configure.ac: upped rev to 0.4cvs

2004-07-11  Eric Blossom  <eb@comsec.com>

	* host/lib/usrp_basic.cc: invert TX_SYNC

	* host/lib/usrp_basic.{h,cc},usrp_standard.cc: now temporarily
	disable tx and rx paths when changing interpolation or decimation
	rate.  Didn't fix the problem, but shouldn't hurt either.

2004-07-07  Eric Blossom  <eb@comsec.com>

	* firmware/src/common/_startup.a51 (__sdcc_external_startup):
	Rewritten to avoid fragile kludge.  Now requires that all firmware
	be compiled with --no-xinit-opt.

	* firmware/src/usrp{0,1}/Makefile.am: pass in linker option to
	place usb descriptors at 0xE000 absolute.  This works around the
	fact that the assembler and linker don't really implement the
	.even directive.
	* firmware/src/usrp{0,1}/usb_descriptors.a51: now place
	descriptors in USBDESCSEG, which we force to 0xE000.
	
	* firmware/src/usrp1/board_specific.c (power_down_9862s):
	Power down the 9862's when the firmware is loaded to keep from
	burning up the board.  Note to Analog Devices: put a power pad
	on these or some other way to get the heat out of them.

	* host/lib/usrp_prims.cc (_usrp_load_fpga): Since loading the FPGA
	wiggles the shared reset line with the 9862s, we now once again
	power down the 9862's.

2004-07-06  Eric Blossom  <eb@comsec.com>

	* firmware/src/common/_startup.a51 (__sdcc_external_startup):
	picked up bug fixes from 2.4.0 release, and added a fragile kludge
	that ensures that our variables are all initialized properly.
	
	* firmware/src/usrp0/usrp_main.c, firmware/src/usrp1/usrp_main.c,
	firmware/src/common/usb_common.c: removed deprecated use of 
	pragma NOIV.

2004-07-05  Eric Blossom  <eb@comsec.com>

	* host/lib/fusb_linux.cc (alloc_urb): removed
	USBDEVFS_URB_QUEUE_BULK flag.

2004-07-02  Eric Blossom  <eb@comsec.com>

	* host/lib/usrp_basic.h: added adc_freq and dac_freq
	to disambiguate the interpretation of interpolation and decimation
	ratios.

2004-07-01  Eric Blossom  <eb@comsec.com>

	* host/swig/prims.i: renamed from usrp_prims.i  Module is now
	installed as usrp.prims
	* host/lib/usrp_basic.cc (usrp_basic_tx, usrp_basic_rx): power
	down 9862 tx or rx path in destructor.
	* host/lib/usrp_standard.cc: now control coarse and fine
	modulators transparently, based on user provided center freq.
	* fpga/sdr_lib/gen_cordic_consts.py: new. generate magic constants for cordic.
	* fpga/sdr_lib/cordic.v: `define constants.  integer c00 = <foo>
	wasn't being synthesized correctly by Quartus II 4.0	

2004-05-28  Eric Blossom  <eb@comsec.com>

	* host/lib/usrp_standard.{h,cc}: Now uses 4x interpolator and
	9862 cordic.  Tx path looks great up to +/- 44 MHz!
	This code still twiddles the coarse modulator manually.

2004-05-27  Eric Blossom  <eb@comsec.com>

	* Tagged everything with BEFORE_CLOCK_REVAMP_2004_05_27.
	We're about to rework the boards, host code and the verilog to
	directly feed the 64 MHz oscillator to the 9862's and the FPGA.
	With any luck, life will drastically improve...
	

2004-05-25  Eric Blossom  <eb@comsec.com>

	* host/lib/usrp_standard.{h,cc} (class usrp_standard_tx_use_nco):
	new.  Class that utilizes the AD9862's built-in NCO for up conversion.
	There's still something slightly flaky going on.
	
	* host/lib/usrp_basic.cc: initialize 9862 Tx FTW

2004-05-21  Eric Blossom  <eb@comsec.com>

	* firmware/src/usrp1/usrp_main.c (main): work around compiler
	data initialization bug.

	* firmware/src/usrp1/fpga_rev1.{h,c}: added support for {TX,RX}_RESET

2004-05-10  Eric Blossom  <eb@comsec.com>

	* host/lib/usrp_basic.cc (~usrp_basic_rx): turn off rx_enable.

	* firmware/src/usrp1/usrp_main.c: removed unneeded global
	g_fpga_reset.

2004-05-08  Eric Blossom  <eb@comsec.com>

	* firmware/src/usrp1/usrp_main.c (main): enabled GSTATE output.

2004-05-07  Eric Blossom  <eb@comsec.com>

	* host/lib/usrp_standard.cc (make): changed constructors and make
	to pass the interp/decim rate.  This ensures that the rate is set
	to something the user wants when the rx and tx paths are first
	enabled.

	* host/lib/usrp_basic.cc (initialize): enabled xrun status polling.
	(set_fpga_rx_sample_rate_divisor,set_fpga_rx_sample_rate_divisor):
	set FPGA register to N-1.

	* host/lib/usrp_standard.cc (set_interp_rate, set_decim_rate): now
	set FPGA register to N-1.

2004-04-18  Eric Blossom  <eb@comsec.com>

	* firmware/src/usrp1/spi.c (spi_read, spi_write): removed extra
	clocks.  FPGA is now doing the right thing.

	* host/lib/ad9862.h: new.  register defs for AD962 codec.

	* firmware/src/usrp1/spi.c (spi_write,spi_read): clock once w/o 
	enables for the FPGA's benefit.  We're also clocking one extra
	cycle at the end with enables again for the FPGA.  I think we
	should remove the extra clocking at the end.

2004-04-17  Eric Blossom  <eb@comsec.com>

	* host/lib/usrp_prims.{h,cc} (usrp_read_aux_adc,usrp_write_aux_dac): new.
	* host/lib/usrp_prims.{h,cc} (usrp_eeprom_write,usrp_eeprom_read): new.

2004-04-16  Eric Blossom  <eb@comsec.com>

	* firmware/include/i2c_addr.h: new.  I2C addresses.

2004-04-12  Eric Blossom  <eb@comsec.com>

	* host/apps/test_usrp0.cc: renamed from test_usrp.cc
	* firmware/include/fpga_regs.h: corrected to match latest control_bus.v

2004-04-11  Eric Blossom  <eb@comsec.com>

	* host/lib/usrp0.{h,cc}: new.  copies of original usrp.{h,cc}
	* host/lib/usrp_basic.{h,cc}: new.  reflect rev1 hardware.

2004-04-10  Eric Blossom  <eb@comsec.com>

	* host/swig/usrp_prims.i: new.  SWIG'd usrp_prims.
	* host/lib/usrp_prims.cc: added usrp_rescan; dispatch on hardware revision
	when appropriate; added usrp_read_fpga_reg
	* firmware/src/usrp1/fpga_rev1.h: added declarations
	* firmware/src/usrp1/fpga_rev.c: added implementations for
	fpga_write_reg, fpga_set_reset, fpga_set_tx_enable, fpga_set_rx_enable.
	* firmware/include/fpga_regs0.h: renamed prev fpga_regs.h to fpga_regs0.h
	* firmware/include/fpga_regs.h: new for usrp rev1.  Needs checking
	against verilog.
	

2004-03-01  Eric Blossom  <eb@comsec.com>

	* host/lib/rate_to_regval.h: new. mapping table.
	* host/lib/usrp.cc (map_rate_to_regval): now support all 97 legal
	values. 

2004-01-11  Eric Blossom  <eb@comsec.com>

	* configure.ac: configure fast usb technique as f(os)
	* config/usrp_fusb_tech.m4: new autoconf macro
	* host/lib/fusb.{h,cc}: refactored in to abstract class
	* host/lib/fusb_{darwin,generic,linux}.{h,cc}: new concrete classes
	* host/lib/fusb_sysconfig_{darwin,generic,linux}.cc: new

	* config/usrp_libusb.m4: new. check for libusb.
	* configure.ac: check for libusb
	
	* firmware/src/Makefile.am: fixed dependencies
	* firmware/src/fpga.{h,c}, firmware/src/usrp_main.c: cleanup to
	make board with no FPGA usable again.
	* firmware/include/usrp_config.h: doc fix.

2003-12-30  Eric Blossom  <eb@comsec.com>

	* host/lib/fusb.cc (alloc_urb): fixes for linux 2.5/2.6

2003-12-12  Eric Blossom  <eb@comsec.com>

	* firmware/lib/i2c.c (i2c_read): worked around sdcc compiler bug.

2003-12-07  Eric Blossom  <eb@comsec.com>

	* configure.ac: autoconfiscated the firmware directory.  It now
	builds from the top along with the host code.

	* I've touched just about every file in the tree, both
	firmware and host side.  The combo is now working well.  It is
	capable of half duplex reading or writing at 31.25 MB/sec and
	(pseudo) full duplex reading and writing at 15.625 MS/sec in each
	direction.

	In addition, the receive side is decoupled from the transmit side
	so that separate processes can open each side.
	
	
2003-11-27  Eric Blossom  <eb@comsec.com>

	* firmware/src/fpga.c (clock_out_config_byte): assembly speedup
	for loading fpga.

	basic support for interrupts is now working.
	
	* firmware/lib/{isr.c,timer.c}: new
	* firmware/include/{isr.h,timer.h}: new
	* firmware/src/command_loop.c (isr_tick): blink led

2003-11-21  Eric Blossom  <eb@comsec.com>

	* firmware/src/edit-gpif (edit_gpif): now leave xdata alone
	* firmware/src/init_gpif.c: added xdata storage qualifer
	* firmware/Makefile: added linker opts to get xdata located properly

	Rearranged the firmware directory.
	firmware/basic_fw/include --> firmware/include
	firmware/basic_fw/src     --> firmware/src
	All older firmware stuff was removed

2003-11-15  Eric Blossom  <eb@comsec.com>

	* host/lib/fusb.cc (fusb_devhandle, _cancel_pending_rqsts): now
	use reverse_iterator to cancel pending requests from the back to
	the front.  This removes the mystery of more than one cancelled
	urb having a non-zero transfer count.

	* host/lib/test_fusb.cc (test_output): fixed defective test case
	that was having me think the tx code wasn't working.

2003-11-13  Eric Blossom  <eb@comsec.com>

	* host/lib/fusb.{h,cc}:  work in progress on the Rx path.

2003-11-11  Eric Blossom  <eb@comsec.com>

	* host/lib/fusb.{h,cc}: halved net Tx memory requirement by using
	a single user mode buffer.

2003-11-10  Eric Blossom  <eb@comsec.com>

	System is now sustaining 31MB/sec on the TX path, no underruns ;-)
	
	* firmware/basic_fw/src/edit-gpif: now machine generate inline
	definitions for setup_flowstate_common, setup_flowstate_read and
	setup_flowstate_write. 

	* firmware/basic_fw/src/usrp_common.c: clear_usrp_error now clears
	over and underrun flags from status word.
	* firmware/basic_fw/src/usrp_comands.c: added bit defs for overrun
	and underrun status indicators.
	* firmware/basic_fw/src/command_loop.c (poll_gpif): now checks for
	over and underruns and clears fpga status.
	
	* firmware/basic_fw/include/usrp_regs.h (bmFCB_CLR_STATUS): moved
	FPGA clear_status line to the previous location of SDO.  This
	means that firmware from here out will only work with the latest
	FPGA bitstreams that have this pin configurd as an input.

	* host/lib/fusb.{h,cc}: fast streaming usb library built on top of libusb.
	This version uses linux specific magic.

	* host/lib/test_fusb.cc: test and benchmarking code for fusb.
	
2003-11-08  Eric Blossom  <eb@comsec.com>

	* firmware/basic_fw/src/gpif.gpf: moved BOGUS ctl line to CTL5.
	Added clear_status as CTL3.
	* firmware/basic_fw/src/usrp_common.c (init_usrp): removed
	obsolete ENABLE_FIFO ifdef.  Disabled RX pump priming.
	* firmware/basic_fw/src/command_loop.c (main): enable both RX and TX.

2003-10-22  Eric Blossom  <eb@comsec.com>

	* host/lib/Usrp.{h,cc}: added accessors for get_rx_freq, get_tx_freq

2003-10-17  Eric Blossom  <eb@comsec.com>

	* host/usrper/test_input.cc (main): new program to exercise USRP
	input path.

	* host/lib/Usrp.{h,cc} (read): changed return value from bool to int

2003-09-30  Eric Blossom  <eb@comsec.com>

	* host/lib/Usrp.{h,cc}: handle new format interp and decim regs.
	* firmware/basic_fw/src/command_loop.c (g_enable_read): disabled
	read for the time being.

2003-09-17  Eric Blossom  <eb@comsec.com>

	* host/lib/Usrp.cc (find_file): changed load path for firmware and
	fpga bits to to /usr/local/share/usrp.
	(Usrp): now set gstate, sleep, fpga_reset and tx_enable per Matt's
	script.

2003-09-16  Eric Blossom  <eb@comsec.com>

	* AUTHORS, NEWS, README: new & empty
	* bootstrap, configure.ac, Makefile.am: new for autoconfiscation
	* host/Makefile.am, host/lib/Makefile.am, host/usrper/Makefile.am: new
	* host/lib/{Makefile.am,Usrp.{h,cc}}: new class to interface to USRP.
	* host/usrper/usrper2.cc: new code to exercise Usrp.{h,cc}

	* host/usrper/usrper.cc: removed uneeded includes

2003-09-04  Eric Blossom  <eb@comsec.com>

	* firmware/basic_fw/src/usrp_commands.h,
	firmware/basic_fw/src/command_loop.c (do_set_sleep_bits),
	host/usrper/usrper.cc (usrp_set_sleep_bits): added command to slam
	the A/D and D/A sleep control lines.


2003-08-30  Eric Blossom  <eb@comsec.com>

	* firmware/basic_fw/src/usrp_commands.h: removed obsolete
	foo_CLR_bar commands.  Added UCMD_SET_GSTATE_OUTPUT_ENABLE to
	enable the output of the GPIF state on the low 3 bits of Port E.

	* host/usrper/usrper.cc (usrper_load_firmware): now implements
	"load_firmware" command.

2003-08-17  Eric Blossom  <eb@comsec.com>

	* host/usrper/usrper.cc (usrper_load_fpga),
	firmware/basic_fw/src/fpga.c: changed load_fpga to expect a byte
	count, not a bit count in the xfer packet.

	* firmware/basic_fw/src/fpga.c (do_fpga_config_start): cleanup,
	add appropriate delay.

	* firmware/basic_fw/src/usrp_common.c (udelay1, udelay): new delay functions

2003-07-30  Eric Blossom  <eb@comsec.com>

	* firmware/basic_fw/include/fx2regs.h: changed sfr and sbit syntax
	to match what SDCC expects.  Now the SFR's are really allocated
	where they are supposed to be ;-)
	
#
# Copyright 2003,2004,2005 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., 51 Franklin Street,
# Boston, MA 02110-1301, USA.
#