2006-06-25 Eric Blossom * firmware/include/fpga_regs_standard.h: doc fix to reflect current reality. 2006-06-10 Eric Blossom * host/apps/usrper.cc: removed dead (#if 0'd) code, that's no longer applicable. 2006-05-11 Martin Dudok van Heel 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 * 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 * 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 * 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 * firmware/src/usrp2/Makefile.am, usrp/rbf/Makefile.am: fixed make distcheck failures. 2006-03-06 Eric Blossom * 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 * 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 * 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 * 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 * host/lib/usrp_prims.cc (usrp_open_interface): reenabled usb_set_configuration for WIN32 platform. Thanks Martin! 2006-01-30 Eric Blossom * 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 * 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 * fpga/Makefile.am: Added missing files to EXTRA_DIST. 2005-12-08 Martin Dudok van Heel 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 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 * 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 * 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 * 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 * 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 * 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 * firmware/include/fpga_regs_standard.h: redefined auto transmit/receive control registers. 2005-11-17 Eric Blossom * 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 * 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 * 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 * host/lib/usrp_prims.cc (usrp_open_interface): removed call to usb_set_configuration. 2005-11-02 Eric Blossom * host/lib/usrp_basic.h (class usrp_basic_tx): fixed pga_db_per_step. 2005-10-31 Eric Blossom * host/lib/usrp_prims.cc (usrp_open_interface): ignore error on usb_set_configuration. 2005-10-28 Eric Blossom * 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 * 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 * 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 and 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 * 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 * 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 * 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 * host/apps/burn-db-eeprom: new. Burns eeproms on all kinds of daughterboards. 2005-09-17 Eric Blossom * host/swig/prims.i: added interface for usrp_dbid_to_string. 2005-09-09 Larry Doolittle * host/apps/test_usrp_standard_rx.cc: Added -M option to specify how many megabytes to transfer. 2005-09-06 Martin Dudok van Heel * 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 * firmware/include/fpga_regs_standard.{h,v}: Added defs for new FR_TX_FORMAT and FR_RX_FORMAT registers. 2005-08-19 Eric Blossom * doc/Makefile.am: clean-local now uses $(RM) -fr 2005-07-29 Martin Dvh , 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 * config/usrp_fusb_tech.m4: select win32 fusb for Cygwin 2005-07-19 Eric Blossom * 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 * 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 * 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 * 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 * 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 * 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 * 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 * host/lib/fusb_linux.cc (read): fix for x86_64 compile. 2005-03-15 Eric Blossom * 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 * host/lib/usrp_basic.{h,cc}: new methods: set_adc_offset, set_dac_offset, set_adc_buffer_bypass. 2005-03-03 Eric Blossom * host/lib/usrp_standard.cc (set_decim_rate): added warning about rates > 128. 2005-02-22 Eric Blossom * firmware/src/usrp1/spi.c (read_byte_msb): rewritten to work around SDCC 2.4.0 bug. 2005-02-20 Eric Blossom * firmware/include/usrp_ids.h (USB_PID_FSF_SSRP_reserved): added PID for SSRP. 2005-02-18 Eric Blossom * 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 * 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 * doc/Makefile.am: fixes for distcheck. * src/host/apps/Makefile.am: add burn-basic-eeprom to tarball. 2005-02-10 Eric Blossom * configure.ac, doc/Makefile.am: build html from DocBook if they've got xmlto installed. 2005-02-09 Eric Blossom * 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 * host/apps/usrper.cc (usage): added missing parameter. 2005-02-06 Eric Blossom * 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 * 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 * 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 * src/Makefile.am: fixes for MinGW. 2005-01-10 Eric Blossom * 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 * firmware/include/usrp_i2c_addr.h: doc fix on d'board EEPROM contents 2005-01-05 Eric Blossom * host/lib/usrp_basic.cc (set_pga): fixed incorrect upper limit. 2005-01-04 Eric Blossom * host/lib/usrp_basic.{h,cc} (class usrp_basic_rx): new methods for controlling Rx PGA. 2004-12-20 Eric Blossom * firmware/src/common/build_eeprom.py: new. builds shell script to burn low-power code into usrp motherboard EEPROM. 2004-12-19 Eric Blossom * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * configure.ac: upped rev to 0.5cvs 2004-10-11 Eric Blossom * configure.ac: bumped rev to 0.5, made release * Makefile.am (EXTRA_DIST): added config.h.in 2004-09-30 Eric Blossom * 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 * 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 * fpga/toplevel/usrp_basic/usrp_basic.v: subtract adc offset from buffered input values. 2004-09-23 Eric Blossom * 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 * host/lib/usrp_basic.{h,cc}, host/lib/usrp_standard.cc: make verbose output conditional. 2004-08-14 Matt Ettus Rx timing problem fixed! * fpga/sdr_lib/rx_buffer.v: revised to use extended RD assertion timing. 2004-08-14 Eric Blossom * 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 * host/lib/fusb_linux.cc (write): failure of submit_urb is now propagated upward as an error. 2004-08-04 Eric Blossom 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 * 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 * 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 * host/apps/test_usrp0.cc (main): added code to set tx frequency. 2004-07-12 Eric Blossom * configure.ac: upped rev to 0.4cvs 2004-07-11 Eric Blossom * 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 * 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 * 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 * host/lib/fusb_linux.cc (alloc_urb): removed USBDEVFS_URB_QUEUE_BULK flag. 2004-07-02 Eric Blossom * 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 * 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 = wasn't being synthesized correctly by Quartus II 4.0 2004-05-28 Eric Blossom * 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 * 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 * 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 * 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 * 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 * firmware/src/usrp1/usrp_main.c (main): enabled GSTATE output. 2004-05-07 Eric Blossom * 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 * 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 * 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 * firmware/include/i2c_addr.h: new. I2C addresses. 2004-04-12 Eric Blossom * 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 * 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 * 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 * 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 * 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 * host/lib/fusb.cc (alloc_urb): fixes for linux 2.5/2.6 2003-12-12 Eric Blossom * firmware/lib/i2c.c (i2c_read): worked around sdcc compiler bug. 2003-12-07 Eric Blossom * 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 * 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 * 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 * 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 * host/lib/fusb.{h,cc}: work in progress on the Rx path. 2003-11-11 Eric Blossom * host/lib/fusb.{h,cc}: halved net Tx memory requirement by using a single user mode buffer. 2003-11-10 Eric Blossom 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 * 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 * host/lib/Usrp.{h,cc}: added accessors for get_rx_freq, get_tx_freq 2003-10-17 Eric Blossom * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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., 59 Temple Place - Suite 330, # Boston, MA 02111-1307, USA. #