libusrp/ChangeLog

1067 lines
39 KiB
Plaintext

2007-05-14 Greg Troxel <Greg Troxel <gdt@ir.bbn.com>>
* host/lib/legacy/usrp_bytesex.h: Fix typo in portability code.
Add #warning that it is non-portable.
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 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.
#