1 2006-06-25 Eric Blossom <eb@comsec.com>
3 * firmware/include/fpga_regs_standard.h: doc fix to reflect current reality.
5 2006-06-10 Eric Blossom <eb@comsec.com>
7 * host/apps/usrper.cc: removed dead (#if 0'd) code, that's no longer applicable.
9 2006-05-11 Martin Dudok van Heel <nldudok1 at olifantasia dot com>
10 Added synchronised multi_usrp support using a new fpga firmware build in a new toplevel usrp_multi.
11 A few changes were needed in the mainline code, but they shouldn't affect anyone
12 (No functionality changes in the existing code, just a few API additions)
14 * firmware/include/fpga_regs_standard.v: added Master/slave control register FR_RX_MASTER_SLAVE
15 * firmware/include/fpga_regs_common.h: added 32 bit counter support bmFR_MODE_RX_COUNTING_32BIT
16 * firmware/include/generate_regs.py: added support for bitno and bm defines
17 * firmware/include/fpga_regs_standard.h: added Master/slave control register FR_RX_MASTER_SLAVE
18 * host/lib/usrp_basic.h: added _write_fpga_reg_masked
19 * host/lib/usrp_basic.cc: added _write_fpga_reg_masked
20 * host/lib/usrp_standard.h: added FPGA_MODE_COUNTING_32BIT
21 * fpga/Makefile.extra: regenerated to add new usrp_multi files
22 * fpga/rbf/rev4/multi_2rxhb_2tx.rbf: new (fpga firmware for synchronised multi_usrp support)
23 * fpga/rbf/rev4/multi_4rx_0tx.rbf: new (fpga firmware for synchronised multi_usrp support)
24 * fpga/rbf/Makefile.am: added commented out rev2/multi_2rxhb_2tx.rbf and rev4/multi_2rxhb_2tx.rbf
25 * fpga/rbf/rev2/multi_2rxhb_2tx.rbf: new (fpga firmware for synchronised multi_usrp support)
26 * fpga/rbf/rev2/multi_4rx_0tx.rbf: new (fpga firmware for synchronised multi_usrp support)
27 * fpga/toplevel/usrp_std/usrp_std.v: split rx_buffer reset into dsp reset and reset_regs
28 * fpga/toplevel/usrp_multi: new fpga toplevel for synchronised multi_usrp support
29 * fpga/toplevel/usrp_multi/usrp_multi.esf: new
30 * fpga/toplevel/usrp_multi/usrp_multi.vh: new toplevel verilog include,
31 to turn on/off multi usrp support and number of rx/tx channels and halfband
32 * fpga/toplevel/usrp_multi/usrp_std.vh: new wrapper for usrp_multi.vh
33 * fpga/toplevel/usrp_multi/usrp_multi_config_2rxhb_0tx.vh: new
34 * fpga/toplevel/usrp_multi/usrp_multi_config_2rxhb_2tx.vh: new
35 * fpga/toplevel/usrp_multi/usrp_multi.v: new toplevel verilog file for multi_usrp support.
36 The multi_usrp support can be turned on and off in usrp_multi.vh.
37 If it is turned off this file will generate exactly the same as usrp_std.v
38 (just do a diff between usrp_std.v and usrp_multi.v to see how this is done)
39 * fpga/toplevel/usrp_multi/usrp_multi.qpf: new
40 * fpga/toplevel/usrp_multi/usrp_multi.psf: new
41 * fpga/toplevel/usrp_multi/usrp_multi_config_2rx_0tx.vh: new
42 * fpga/toplevel/usrp_multi/usrp_multi.qsf: new
43 * fpga/toplevel/usrp_multi/usrp_multi_config_4rx_0tx.vh: new
44 * fpga/toplevel/usrp_multi/usrp_multi.csf: new
45 * fpga/toplevel/usrp_multi/.cvsignore: new
46 * fpga/sdr_lib/rx_buffer.v: split reset into dsp reset and reset registers
47 * fpga/sdr_lib/master_control_multi.v: new wrapper for master_control.v which adds multi_usrp support
48 * fpga/sdr_lib/phase_acc.v: set reset of FREQADDR register to 1'b0
49 This way reset can be used to reset phase_acc without resetting the frequency
50 (this reset was not used untill now)
51 * fpga/sdr_lib/setting_reg_masked.v: new masked 16 bit register
53 2006-05-01 Michael Dickens <mdickens@nd.edu>
55 * host/lib/Makefile.am, host/lib/fusb_darwin.{h,cc}: mods for
56 higher speed OS/X support.
57 * host/lib/darwin_libusb.h, host/lib/mld_threads.h,
58 host/lib/circular_buffer.h, host/lib/circular_linked_list.h,
59 README_OSX: new files for higher speed OS/X support.
62 2006-03-29 Eric Blossom <eb@comsec.com>
64 * fpga/Makefile.am: regenerated Makefile.extra so that make distcheck
66 * fpga/rbf/Makefile.am: simplified installation of FPGA rbf
67 files. It actually works again ;)
69 2006-03-09 Eric Blossom <eb@comsec.com>
71 * fpga/gen_makefile_extra.py, fpga/Makefile.am,
72 fpga/Makefile.extra: based on an idea by Martin, we now machine
73 generate the list of FPGA related files that should go into the
74 tarball distribution. After adding or removing fpga files from
75 CVS, you must run gen_makefile_extra.py to regenerate the Makefile
78 2006-03-09 Martin Dudok van Heel <nldudok1@olifantasia.com>
80 * firmware/src/usrp2/Makefile.am, usrp/rbf/Makefile.am: fixed
81 make distcheck failures.
83 2006-03-06 Eric Blossom <eb@comsec.com>
85 * host/lib/usrp_standard.cc (compute_freq_control_word_fpga):
86 Removed host-side truncation of frequency control word.
87 Tuning resolution is now approximately 0.03 Hz.
89 2006-02-18 Eric Blossom <eb@comsec.com>
91 * host/lib/usrp_prims.{h,cc}, host/lib/usrp_basic.{h,cc},
92 host/lib/usrp_standard.{h,cc}: added support for specifying the
93 firmware and fpga files that is to be loaded. Also provided
94 default override via USRP_FPGA and USRP_FIRMWARE environment
97 2006-02-17 Eric Blossom <eb@comsec.com>
99 * host/lib/usrp_basic.{h,cc}, host/lib/usrp_prims.{h,cc}: added
100 methods to retrieve serial number from usrp motherboard.
101 * host/apps/burn-serial-number: burn a serial number into usrp motherboard.
102 * firmware/src/usrp2/eeprom_io.{h,c}: routines to read and write eeprom.
103 * firmware/src/usrp2/usrp_main.c (patch_usb_descriptors): read h/w
104 rev and serial number out of boot eeprom and patch into returned
107 * host/apps/test_usrp0.cc, host/lib/usrp0.{h,cc}: removed usrp0
109 * firmware/src/Makefile.am: removed all rev0 and rev1 usrp firmware.
111 2006-02-09 Eric Blossom <eb@comsec.com>
113 * fpga/toplevel/usrp_std/usrp_std.vh: refactored condition compilation.
114 * fpga/toplevel/usrp_std/usrp_std_config_2rxhb_2tx.vh: new
115 * fpga/toplevel/usrp_std/usrp_std_config_4rx_0tx.vh: new
117 * firmware/include/fpga_regs_common.{h,v}, host/lib/usrp_basic.cc:
118 removed reference to FR_ATR_CTL.
119 * fpga/sdr_lib/rx_chain_hb.v: deleted. Capability was folded into rx_chain.v
121 2006-02-01 Eric Blossom <eb@comsec.com>
123 * host/lib/usrp_prims.cc (usrp_open_interface): reenabled
124 usb_set_configuration for WIN32 platform. Thanks Martin!
126 2006-01-30 Eric Blossom <eb@comsec.com>
128 * fpga/sdr_lib/master_control.v: modified code so that it appears
129 that atr_ctl is always asserted. This allows us to simplify the
130 daughterboard and applications code. They can control everything
131 via the other three ATR_* regs.
132 * fpga/rbf/usrp_fpga_rev2.rbf: updated with new binary.
134 * host/lib/usrp_prims.cc (_usrp_load_fpga): manually reset fpga
135 regs by writing zero to them.
137 2006-01-25 Eric Blossom <eb@comsec.com>
139 * host/lib/usrp_standard.{h,cc}: new methods for reporting on FPGA
141 * firmware/include/fpga_regs_standard.h (FR_RB_CAPS): new reg that
142 describes FPGA capabilities.
144 2005-12-15 Eric Blossom <eb@comsec.com>
146 * fpga/Makefile.am: Added missing files to EXTRA_DIST.
148 2005-12-08 Martin Dudok van Heel <nldudok1@olifantasia.com>
150 tagged RBF_2005_12_08
152 * fpga/rbf/usrp_fpga_rev2.rbf: updated.
153 * fpga/toplevel/usrp_std/usrp_std.v: fixed counter mode bug
154 related to half-band filter.
156 2005-12-07 Eric Blossom <eb@comsec.com>
158 Tagged all files: RBF_2005_12_07
160 * fpga/rbf/usrp_fpga_rev2.rbf: updated with new Auto T/R switching code.
162 2005-12-06 Eric Blossom <eb@comsec.com>
164 * host/swig/Makefile.am (prims.cc usrp_prims.py): added new dependencies.
165 * host/lib/usrp_basic.cc: disabled printing of daughterboard types.
167 2005-12-05 Eric Blossom <eb@comsec.com>
169 * firmware/include/fpga_regs_standard.h: renumbed
170 FR_TX_FORMAT and FR_RX_FORMAT to remove gap.
171 * firmware/include/fpga_regs_common.h: moved FR_ATR regs here from
172 fpga_regs_standard.h.
173 * host/lib/usrp_basic.cc: zero Auto T/R regs at init time.
175 2005-12-01 Eric Blossom <eb@comsec.com>
177 * host/swig/usrp_fpga_regs.py: define all fpga register names and
178 bit masks. This is effectively a python binding for the contents
179 of firmware/include/fpga_regs_{common,standard}.h
180 * host/swig/prims.i: swigged fpga_regs_{common,standard}.h
182 2005-11-30 Eric Blossom <eb@comsec.com>
184 * firmware/include/fpga_regs_standard.h: fixed typo in FR_ATR_*
185 series. Renumbered to start after the 16 registers reserved for
186 custom user definition.
187 * firmware/include/generate_regs.py (generate_fpga_regs): changed
188 generated register const width to 7 bits.
190 2005-11-19 Martin Dudok van Heel <nldudok1@olifantasia.com>
192 * host/apps/Makefile.am: make make-dist work again by
193 added new burn-db-eeprom and removing burn-dbs-eeprom
194 and burn-tvrx-eeprom from noinst_PYTHON.
195 * fpga/Makefile.am: make make-dist work again by making
196 EXTRA_DIST consistant with latest cleanup of old files.
198 2005-11-18 Eric Blossom <eb@comsec.com>
200 * firmware/include/fpga_regs_standard.h: redefined auto
201 transmit/receive control registers.
203 2005-11-17 Eric Blossom <eb@comsec.com>
205 * host/lib/fusb_linux.cc (write): added code to minimize transmit
206 buffering. This allows the higher level code to control buffering
209 2005-11-15 Eric Blossom <eb@comsec.com>
211 * host/lib/usrp_basic.cc: zero the daughterboard i/o registers on open.
212 * fpga/rbf/usrp_fgpa_rev2.rbf: new RBF_2005_11_15
214 2005-11-15 Matt Ettus <matt@ettus.com>
216 * fpga/sdr_lib/master_control.v, fpga/sdr_lib/io_pins.v:
217 Refactored resets to fix problem where starting Rx side was
220 2005-11-13 Eric Blossom <eb@comsec.com>
222 * host/lib/usrp_prims.cc (usrp_open_interface): removed call to usb_set_configuration.
224 2005-11-02 Eric Blossom <eb@comsec.com>
226 * host/lib/usrp_basic.h (class usrp_basic_tx): fixed pga_db_per_step.
228 2005-10-31 Eric Blossom <eb@comsec.com>
230 * host/lib/usrp_prims.cc (usrp_open_interface): ignore error on
231 usb_set_configuration.
233 2005-10-28 Eric Blossom <eb@comsec.com>
235 * fpga/rbf/Makefile.am (install-data-local): conditionally install
236 fpga .rbf files. If a file named DONT_INSTALL_RBF exists in the
237 install directory, the install will not be done.
239 2005-10-24 Eric Blossom <eb@comsec.com>
241 * host/lib/usrp_standard.{h,cc}: mods to use halfband decimator
244 * fpga/sdr_lib/hb/halfband_decim.v: added documentation.
246 2005-10-20 Eric Blossom <eb@comsec.com>
248 * host/lib/usrp_standard.{h,cc} (class usrp_standard_rx): support
249 setting and getting rx format (8-bit values, etc).
250 * host/lib/usrp_basic.cc (usrp_basic): disable FPGA DEBUG_EN in ctor.
251 * host/lib/gen_usrp_dbid.py, host/lib/usrp_prims.h: handle <none> and
253 * host/apps/test_usrp_standard_rx.cc (main): added support for 8-bit samples.
255 * fpga/sdr_lib/rx_buffer.v: fixed misspelled netname.
256 * fpga/toplevel/usrp_std/usrp_std.v: added additional ../ to includes.
257 * fpga/sdr_lib/master_control.v: put FR_DEBUG_EN back to single reg.
259 2005-10-17 Eric Blossom <eb@comsec.com>
261 * firmware/include/fpga_regs_standard.h: redefined RX_FORMAT register.
262 * firmware/include/fpga_regs_common.h: split FR_DEBUG_EN into a TX
265 2005-10-13 Eric Blossom <eb@comsec.com>
267 * host/lib/usrp_standard.cc: initialize nchannels before interp/decim
268 rate. Fixed problem computing polling iterval.
269 * host/apps/test_usrp_standard_tx.cc (main): added -M megabytes option.
271 2005-09-21 Eric Blossom <eb@comsec.com>
273 * host/lib/usrp_basic.h: adc_freq() -> adc_rate(); dac_freq() ->
274 dac_rate(). Also added converter_rate() which is defined on both
277 2005-09-20 Eric Blossom <eb@comsec.com>
279 * host/apps/burn-db-eeprom: new. Burns eeproms on all kinds of
282 2005-09-17 Eric Blossom <eb@comsec.com>
284 * host/swig/prims.i: added interface for usrp_dbid_to_string.
286 2005-09-09 Larry Doolittle <ldoolitt@recycle.lbl.gov>
288 * host/apps/test_usrp_standard_rx.cc: Added -M option to specify
289 how many megabytes to transfer.
291 2005-09-06 Martin Dudok van Heel <nldudok1 at olifantasia.com>
293 * host/lib/fusb_win32.cc: Solved missing samples bug in usb code.
294 (Which you could see by running test_counting.py example)
296 2005-08-26 Eric Blossom <eb@comsec.com>
298 * firmware/include/fpga_regs_standard.{h,v}: Added defs for new
299 FR_TX_FORMAT and FR_RX_FORMAT registers.
301 2005-08-19 Eric Blossom <eb@comsec.com>
303 * doc/Makefile.am: clean-local now uses $(RM) -fr
305 2005-07-29 Martin Dvh <nldudok1 at olifantasia.com>, Stephane Fillod
307 * host/lib/fusb_win32.{cc,h}: WTH made win32 fast usb buffer work
308 * host/lib/usrp_prims.cc: Get usrp basepath for firmware from
309 environment variable USRP_PATH. Needed for win32 binary installer
311 2005-07-24 Stephane Fillod <f8cfe@free.fr>
313 * config/usrp_fusb_tech.m4: select win32 fusb for Cygwin
315 2005-07-19 Eric Blossom <eb@comsec.com>
317 * host/apps/usrp_cal_dc_offset.cc: new. control system for
318 determining ADC DC offset correction. Works, but really ought to
319 be reimplemented in FPGA and run constantly. Part of the problem
320 is that the offset correction varies with temperature, pga gain,
323 * firmware/src/common/build_eeprom.py (build_shell_script): added
324 sleep 1 after each command.
326 * host/lib/usrp_standard.h (class usrp_standard_rx): new method:
329 * host/lib/usrp_basic.{h,cc}, host/lib/usrp_standard.{h,cc}: added
330 fusb_block_size and fusb_nblocks args to constructors so that
331 application code can control "fast usb" buffer.
333 2005-07-11 Eric Blossom <eb@comsec.com>
335 * host/lib/gen_usrp_dbid.py: new. Generate usrp_dbid.h,
336 usrp_dbid.py and usrp_dbid.cc using usrp_dbid.dat as the input file.
337 * host/apps/burn-basic-eeprom, host/apps/burn-dbs-eeprom,
338 host/apps/burn-tvrx-eeprom: import usrp_dbid
340 2005-07-02 Eric Blossom <eb@comsec.com>
342 * config/gr_no_undefined.m4, config/gr_x86_64.m4: new, x86_64 support.
343 * config/gr_python.m4: backed out search for libpython, making
344 x86_64 work and breaking Cygwin/MinGW.
345 * configure.ac, host/lib/Makefile.am, host/swig/Makefile.am: mods
346 for x86_64, $(NO_UNDEFINED)
348 2005-05-18 Eric Blossom <eb@comsec.com>
350 * host/lib/usrp_standard.{h,cc}, host/lib/usrp_basic.{h,cc}: new
351 start and stop methods to kick off data xfer. (Useful for
353 * host/apps/test_usrp_standard_{tx,rx}.cc: modified to use new
356 2005-05-09 Stephane Fillod <f8cfe@free.fr>
358 * config/gr_sysv_shm.m4: SysV shared memory not mandatory
359 * config/gr_pwin32.m4, config/gr_python.m4, config/lf_cxx.m4:
360 fixes for Cygwin, MinGW
361 * usrp.inf, usrp.iss.in: new for windows installer
363 2005-05-01 Stephane Fillod <f8cfe@free.fr>
365 * config/usrp_fusb_tech.m4,host/lib/Makefile.am: added win32
367 * host/lib/fusb_sysconfig_win32.cc, host/lib/fusb_win32.{h,cc}:
369 * host/apps/test_usrp0.cc, host/apps/test_usrp_standard_rx.cc,
370 host/apps/test_usrp_standard_tx.cc, host/lib/fusb.h,
371 host/lib/fusb_linux.cc, host/lib/fusb_sysconfig_darwin.cc,
372 host/lib/fusb_sysconfig_generic.cc, host/lib/fusb_sysconfig_linux.cc,
373 host/lib/usrp0.cc, host/lib/usrp0.h, host/lib/usrp_basic.cc,
374 host/lib/usrp_basic.h: do not hardcode the usb driver block_size.
375 * host/lib/fusb_darwin.cc, host/lib/fusb_generic.cc: typo and read
378 2005-03-31 Eric Blossom <eb@comsec.com>
380 * firmware/include/usrp_spi_defs.h,firmware/include/Makefile.am:
381 renamed from spi_defs.h to usrp_spi_defs.h. It's now installed.
383 2005-03-26 Eric Blossom <eb@comsec.com>
385 * host/lib/fusb_linux.cc (read): fix for x86_64 compile.
387 2005-03-15 Eric Blossom <eb@comsec.com>
389 * host/lib/usrp_basic.{h,cc}: hoisted write_aux_dac and read_aux_dac
390 methods out of usrp_basic and into usrp_basic_rx and usrp_basic_tx.
392 2005-03-11 Eric Blossom <eb@comsec.com>
394 * host/lib/usrp_basic.{h,cc}: new methods: set_adc_offset,
395 set_dac_offset, set_adc_buffer_bypass.
397 2005-03-03 Eric Blossom <eb@comsec.com>
399 * host/lib/usrp_standard.cc (set_decim_rate): added warning about rates > 128.
401 2005-02-22 Eric Blossom <eb@comsec.com>
403 * firmware/src/usrp1/spi.c (read_byte_msb): rewritten to work
404 around SDCC 2.4.0 bug.
406 2005-02-20 Eric Blossom <eb@comsec.com>
408 * firmware/include/usrp_ids.h (USB_PID_FSF_SSRP_reserved): added
411 2005-02-18 Eric Blossom <eb@comsec.com>
413 * host/lib/usrp_standard.cc (set_interp_rate,set_decim_rate): added range check.
414 * host/lib/usrp_standard.h: doc fix.
416 2005-02-16 Eric Blossom <eb@comsec.com>
418 * host/lib/usrp_dbid.cc: new ID.
419 * host/lib/usrp_daughterboards.h (USRP_DBID_DBS_RX): new ID.
420 * host/lib/usrp_basic.{h,cc}: added read_i2c and write_i2c methods.
421 * host/apps/burn-dbs-eeprom: init eeprom on DBS Rx daughterboard.
423 2005-02-11 Eric Blossom <eb@comsec.com>
425 * doc/Makefile.am: fixes for distcheck.
426 * src/host/apps/Makefile.am: add burn-basic-eeprom to tarball.
428 2005-02-10 Eric Blossom <eb@comsec.com>
430 * configure.ac, doc/Makefile.am: build html from DocBook if
431 they've got xmlto installed.
433 2005-02-09 Eric Blossom <eb@comsec.com>
435 * host/lib/std_paths.h.in (std_paths): new. Use prefix to locate
436 fpga and firmware binaries.
438 * host/lib/usrp_prims.cc (compute_hash): rewritten to use embedded
439 md5 code instead of calling out to program.
440 * host/lib/md5.{h,c}: new. imported from core-utils.
442 2005-02-08 Eric Blossom <eb@comsec.com>
444 * host/apps/usrper.cc (usage): added missing parameter.
446 2005-02-06 Eric Blossom <eb@comsec.com>
448 * configure.ac: upped rev to 0.7 for release.
449 * host/swig/Makefile.am: backed out dependency on libpython
450 * host/apps/Makefile.am, host/apps/test_fusb.cc: removed test_fusb.cc
451 * doc/Makefile.am: new. Generate doxygen docs.
453 2005-02-05 Eric Blossom <eb@comsec.com>
455 * fpga/Makefile.am: new. distribute verilog with tarball.
456 * fpga/rbf/Makefile.am: new. distribute rbf's with tarball
457 * host/apps/test_usrp_standard_rx.cc (main): fixed calling sequence.
459 2005-02-02 Eric Blossom <eb@comsec.com>
461 * fpga/toplevel/usrp_basic/usrp_basic.v: Removed
462 ch?tx_freq from list of signals passed to serial_io in order to
465 2005-01-28 Stephane Fillod <f8cfe@free.fr>
467 * src/Makefile.am: fixes for MinGW.
469 2005-01-10 Eric Blossom <eb@comsec.com>
471 * host/lib/usrp_standard.{h,cc}: changed default strategy on mux values.
473 * host/lib/usrp_basic.{h,cc}: probe d'boards and initialize
474 fpga adc_offset and oe regs. Add methods to control all knobs.
475 Includes d'board i/o pins, PGA's, query daugherboard ids.
477 * host/lib/usrp_prims.{h,cc},host/lib/usrp_dbid.cc: new code to
478 read, parse and write d'board EEPROMs.
480 2005-01-08 Eric Blossom <eb@comsec.com>
482 * firmware/include/usrp_i2c_addr.h: doc fix on d'board EEPROM contents
484 2005-01-05 Eric Blossom <eb@comsec.com>
486 * host/lib/usrp_basic.cc (set_pga): fixed incorrect upper limit.
488 2005-01-04 Eric Blossom <eb@comsec.com>
490 * host/lib/usrp_basic.{h,cc} (class usrp_basic_rx): new methods
491 for controlling Rx PGA.
493 2004-12-20 Eric Blossom <eb@comsec.com>
495 * firmware/src/common/build_eeprom.py: new. builds shell script
496 to burn low-power code into usrp motherboard EEPROM.
498 2004-12-19 Eric Blossom <eb@comsec.com>
500 * firmware/src/usrp1/{eeprom_boot.a51,eeprom_init.c}: new. Mimimum
501 code that will put board in low-power state at boot time.
503 * firmware/src/usrp2/Makefile.am: reorg to remove duplicate code
504 between rev1 and rev2.
505 * firmware/src/usrp2/{fpga.h,fpga_load.h,fpga_rev2.c,fpga_rev2,usrp_common.h,
506 usrp_globals.h,usrp_rev2_regs.h}: removed.
507 * firmware/src/usrp2/fpga_rev1.c: new
509 2004-12-08 Eric Blossom <eb@comsec.com>
511 * host/lib/usrp_prims.{h,cc}, host/lib/usrp_basic.cc: minor tweaks for rev2 h/w.
513 * firmware/src/usrp2/.cvsignore,Makefile.am,_startup.a51,blink_leds.c,
514 board_specific.c,check_mdelay.c,check_udelay.c,edit-gpif,fpga.h,
515 fpga_load.c,fpga_load.h,fpga_rev2.c,fpga_rev2.h,gpif.c,gpif.gpf,init_gpif.c,
516 spi.c,spi.h,usb_descriptors.a51,usrp_common.c,usrp_common.h,usrp_globals.h,
517 usrp_main.c,usrp_rev2_regs.h,vectors.a51: new. copied from usrp1.
518 Should remerge this after we're sorted out.
520 2004-11-29 Berndt Josef Wulf <wulf@ping.net.au>
522 * configure.ac, config/usrp_sdcc.m4: new. check for proper version
523 of SDCC 8051 compiler and assembler.
524 * config/usrp_libusb.m4: fixed check for usb.h
526 2004-11-14 Eric Blossom <eb@comsec.com>
528 * firmware/src/usrp1/usrp_rev1_regs.h (bmMISC_OUTPUTS): removed
530 (bmPORT_E_OUTPUTS): made bmPE_FPGA_CLR_STATUS an output (as it
531 should have been all along).
533 2004-10-20 Stephane Fillod <f8cfe@free.fr>
535 * configure.ac, config/Makefile.am, config/gr_pwin32.m4,
536 host/Makefile.am, host/apps/Makefile.am,
537 host/apps/time_stuff.c, host/lib/Makefile.am,
538 host/swig/Makefile.am: detect missing functions under Win32.
540 * config/mkstemp.m4, config/onceonly.m4,
541 host/misc/bug_work_around_8.cc, host/misc/getopt.c,
542 host/misc/getopt.h, host/misc/gettimeofday.c,
543 host/misc/Makefile.am, host/misc/mkstemp.c,
544 host/misc/tempname.c, host/misc/usleep.c,
545 host/misc/.cvsignore: new files, replacements for win32 support
547 * host/lib/usrp_prims.cc: fix libusb init on systems not as
548 clever as Linux (no easy shared global variable, and no
549 auto set_configuration).
551 2004-10-20 Eric Blossom <eb@comsec.com>
553 * firmware/src/common/Makefile.am, firmware/lib/Makefile.am,
554 firmware/src/common/Makefile.am, firmware/src/usrp0/Makefile.am,
555 firmware/src/usrp1/Makefile.am: make distcheck now works!
557 2004-10-20 Stephane Fillod <f8cfe@free.fr>
559 * firmware/src/common/Makefile.am,
560 firmware/src/common/edit-gpif, firmware/src/usrp0/Makefile.am,
561 firmware/src/usrp1/Makefile.am, firmware/src/usrp1/edit-gpif:
562 allow VPATH building.
564 2004-10-18 Eric Blossom <eb@comsec.com>
566 * fpga/sdr_lib/serial_io.v: removed dac_offset stuff.
567 * fpga/toplevel/usrp_basic/usrp_basic.v: removed dac_offset stuff.
568 Conditionalized debug output.
569 * host/swig/util.py: fixed import
571 * fpga/toplevel/usrp_basic/usrp_basic.v,fpga/sdr_lib/serial_io.v:
572 modified to use 0-based naming on frequencies.
574 * firmware/include/generate_all.py (generate_fpga_regs): new.
575 Generate fpga_regs.v from fpga_regs.h
576 * fpga/sdr_lib/serial_io.v: now use symbolic defines for register numbers.
578 2004-10-13 Eric Blossom <eb@comsec.com>
580 * configure.ac: upped rev to 0.5cvs
582 2004-10-11 Eric Blossom <eb@comsec.com>
584 * configure.ac: bumped rev to 0.5, made release
585 * Makefile.am (EXTRA_DIST): added config.h.in
587 2004-09-30 Eric Blossom <eb@comsec.com>
589 * firmware/include/usrp_i2c_addr.h: renamed from i2c_addr.h.
592 * host/lib/usrp_basic.{h,cc}: added methods for writing/reading
593 aux dac/adc and eeproms.
595 2004-09-29 Eric Blossom <eb@comsec.com>
597 * host/lib/usrp_prims.{h,cc} (usrp_read_aux_adc, usrp_write_aux_dac):
598 Redefined the interface such that aux i/o values are 12-bit.
599 This buys us a bit of independence from the AD9862.
601 2004-09-24 Eric Blossom <eb@comsec.com>
603 * fpga/toplevel/usrp_basic/usrp_basic.v: subtract adc offset from
604 buffered input values.
606 2004-09-23 Eric Blossom <eb@comsec.com>
608 * config/usrp_fusb_tech.m4, config/bnv_have_qt.m4, config/cppunit.m4,
609 config/gr_check_mc4020.m4, config/gr_check_usrp.m4, config/gr_doxygen.m4,
610 config/gr_gprof.m4, config/gr_scripting.m4, config/gr_set_md_cpu.m4,
611 config/pkg.m4, config/usrp_fusb_tech.m4: added additional quoting
612 to first arg of AC_DEFUN to silence automake warning.
614 2004-08-19 Eric Blossom <eb@comsec.com>
616 * host/lib/usrp_basic.{h,cc}, host/lib/usrp_standard.cc: make
617 verbose output conditional.
619 2004-08-14 Matt Ettus <matt@ettus.com>
621 Rx timing problem fixed!
623 * fpga/sdr_lib/rx_buffer.v: revised to use extended RD assertion
626 2004-08-14 Eric Blossom <eb@comsec.com>
628 * firmware/src/usrp1/{edit-gpif,gpif.gpf}: copied for common and
629 modified. For the time being we've got a different gpif program
630 for the usrp0 and usrp1, though the usrp0 should get updated to
631 use the new organization.
632 * firmware/src/usrp1/{usrp_gpif.c,usrp_gpif_inline.h}: removed
633 links to common. Now generated in usrp1 from usrp1 specific gpif.c
635 2004-08-06 Eric Blossom <eb@comsec.com>
637 * host/lib/fusb_linux.cc (write): failure of submit_urb is now
638 propagated upward as an error.
640 2004-08-04 Eric Blossom <eb@comsec.com>
642 Rx counting and Rx/Tx digital loopback are now working, modulo the
643 problem at the beginning of the packet. The good news is that it
644 is completely reproducible, and there's no PLL being used in the FPGA.
646 * host/lib/usrp_basic.{h,cc} (set_usb_data_rate,usb_data_rate): new methods.
647 * host/lib/usrp_standard.{h,cc}: polling rate is now
648 f(usb_data_rate). Moved fpga_mode into rx only, and changed
649 constructor to take optional mode.
650 * host/apps/test_usrp_standard_rx.cc (main): changes to match new
652 * host/apps/test_usrp_standard_tx.cc (main): -c generates counting
654 * fpga/toplevel/usrp_basic/usrp_basic.v: Fixed race. Changed
655 strobe_decim to strobe_interp in loopback setup.
656 * fpga/sdr_lib/tx_buffer.v: Removed unnecessary zero assignment.
658 2004-07-31 Eric Blossom <eb@comsec.com>
660 * host/apps/test_usrp_standard_tx.cc (main): added -l (loopback) option
661 * host/apps/test_usrp_standard_tx.cc (main): added -l (loopback) option
663 * firmware/include/fpga_regs.h (FR_MODE): added new mode register.
664 * host/lib/usrp_basic.cc (usrp_basic): init to non-loopback mode
666 * host/apps/test_usrp_standard_tx.cc (main): changed default
667 interp rate to 16 (=> 32MB/sec).
669 * host/lib/usrp_bytesex.h (host_to_usrp_short): New. Conditional
670 byte swapping between host and usrp.
671 * host/app/test_usrp0.cc: added conditional byte swapping.
672 * host/app/test_usrp_standard_{rx,tx}.cc: added conditional byte swapping.
674 2004-07-30 Eric Blossom <eb@comsec.com>
676 * host/swig/Makefile.am: now installs usrp_prims.* directly in site-packages.
677 One could argue that this isn't particularly pretty, but it does
678 get it into the namespace where we want it.
680 2004-07-29 Eric Blossom <eb@comsec.com>
682 * host/apps/test_usrp0.cc (main): added code to set tx frequency.
684 2004-07-12 Eric Blossom <eb@comsec.com>
686 * configure.ac: upped rev to 0.4cvs
688 2004-07-11 Eric Blossom <eb@comsec.com>
690 * host/lib/usrp_basic.cc: invert TX_SYNC
692 * host/lib/usrp_basic.{h,cc},usrp_standard.cc: now temporarily
693 disable tx and rx paths when changing interpolation or decimation
694 rate. Didn't fix the problem, but shouldn't hurt either.
696 2004-07-07 Eric Blossom <eb@comsec.com>
698 * firmware/src/common/_startup.a51 (__sdcc_external_startup):
699 Rewritten to avoid fragile kludge. Now requires that all firmware
700 be compiled with --no-xinit-opt.
702 * firmware/src/usrp{0,1}/Makefile.am: pass in linker option to
703 place usb descriptors at 0xE000 absolute. This works around the
704 fact that the assembler and linker don't really implement the
706 * firmware/src/usrp{0,1}/usb_descriptors.a51: now place
707 descriptors in USBDESCSEG, which we force to 0xE000.
709 * firmware/src/usrp1/board_specific.c (power_down_9862s):
710 Power down the 9862's when the firmware is loaded to keep from
711 burning up the board. Note to Analog Devices: put a power pad
712 on these or some other way to get the heat out of them.
714 * host/lib/usrp_prims.cc (_usrp_load_fpga): Since loading the FPGA
715 wiggles the shared reset line with the 9862s, we now once again
716 power down the 9862's.
718 2004-07-06 Eric Blossom <eb@comsec.com>
720 * firmware/src/common/_startup.a51 (__sdcc_external_startup):
721 picked up bug fixes from 2.4.0 release, and added a fragile kludge
722 that ensures that our variables are all initialized properly.
724 * firmware/src/usrp0/usrp_main.c, firmware/src/usrp1/usrp_main.c,
725 firmware/src/common/usb_common.c: removed deprecated use of
728 2004-07-05 Eric Blossom <eb@comsec.com>
730 * host/lib/fusb_linux.cc (alloc_urb): removed
731 USBDEVFS_URB_QUEUE_BULK flag.
733 2004-07-02 Eric Blossom <eb@comsec.com>
735 * host/lib/usrp_basic.h: added adc_freq and dac_freq
736 to disambiguate the interpretation of interpolation and decimation
739 2004-07-01 Eric Blossom <eb@comsec.com>
741 * host/swig/prims.i: renamed from usrp_prims.i Module is now
742 installed as usrp.prims
743 * host/lib/usrp_basic.cc (usrp_basic_tx, usrp_basic_rx): power
744 down 9862 tx or rx path in destructor.
745 * host/lib/usrp_standard.cc: now control coarse and fine
746 modulators transparently, based on user provided center freq.
747 * fpga/sdr_lib/gen_cordic_consts.py: new. generate magic constants for cordic.
748 * fpga/sdr_lib/cordic.v: `define constants. integer c00 = <foo>
749 wasn't being synthesized correctly by Quartus II 4.0
751 2004-05-28 Eric Blossom <eb@comsec.com>
753 * host/lib/usrp_standard.{h,cc}: Now uses 4x interpolator and
754 9862 cordic. Tx path looks great up to +/- 44 MHz!
755 This code still twiddles the coarse modulator manually.
757 2004-05-27 Eric Blossom <eb@comsec.com>
759 * Tagged everything with BEFORE_CLOCK_REVAMP_2004_05_27.
760 We're about to rework the boards, host code and the verilog to
761 directly feed the 64 MHz oscillator to the 9862's and the FPGA.
762 With any luck, life will drastically improve...
765 2004-05-25 Eric Blossom <eb@comsec.com>
767 * host/lib/usrp_standard.{h,cc} (class usrp_standard_tx_use_nco):
768 new. Class that utilizes the AD9862's built-in NCO for up conversion.
769 There's still something slightly flaky going on.
771 * host/lib/usrp_basic.cc: initialize 9862 Tx FTW
773 2004-05-21 Eric Blossom <eb@comsec.com>
775 * firmware/src/usrp1/usrp_main.c (main): work around compiler
776 data initialization bug.
778 * firmware/src/usrp1/fpga_rev1.{h,c}: added support for {TX,RX}_RESET
780 2004-05-10 Eric Blossom <eb@comsec.com>
782 * host/lib/usrp_basic.cc (~usrp_basic_rx): turn off rx_enable.
784 * firmware/src/usrp1/usrp_main.c: removed unneeded global
787 2004-05-08 Eric Blossom <eb@comsec.com>
789 * firmware/src/usrp1/usrp_main.c (main): enabled GSTATE output.
791 2004-05-07 Eric Blossom <eb@comsec.com>
793 * host/lib/usrp_standard.cc (make): changed constructors and make
794 to pass the interp/decim rate. This ensures that the rate is set
795 to something the user wants when the rx and tx paths are first
798 * host/lib/usrp_basic.cc (initialize): enabled xrun status polling.
799 (set_fpga_rx_sample_rate_divisor,set_fpga_rx_sample_rate_divisor):
800 set FPGA register to N-1.
802 * host/lib/usrp_standard.cc (set_interp_rate, set_decim_rate): now
803 set FPGA register to N-1.
805 2004-04-18 Eric Blossom <eb@comsec.com>
807 * firmware/src/usrp1/spi.c (spi_read, spi_write): removed extra
808 clocks. FPGA is now doing the right thing.
810 * host/lib/ad9862.h: new. register defs for AD962 codec.
812 * firmware/src/usrp1/spi.c (spi_write,spi_read): clock once w/o
813 enables for the FPGA's benefit. We're also clocking one extra
814 cycle at the end with enables again for the FPGA. I think we
815 should remove the extra clocking at the end.
817 2004-04-17 Eric Blossom <eb@comsec.com>
819 * host/lib/usrp_prims.{h,cc} (usrp_read_aux_adc,usrp_write_aux_dac): new.
820 * host/lib/usrp_prims.{h,cc} (usrp_eeprom_write,usrp_eeprom_read): new.
822 2004-04-16 Eric Blossom <eb@comsec.com>
824 * firmware/include/i2c_addr.h: new. I2C addresses.
826 2004-04-12 Eric Blossom <eb@comsec.com>
828 * host/apps/test_usrp0.cc: renamed from test_usrp.cc
829 * firmware/include/fpga_regs.h: corrected to match latest control_bus.v
831 2004-04-11 Eric Blossom <eb@comsec.com>
833 * host/lib/usrp0.{h,cc}: new. copies of original usrp.{h,cc}
834 * host/lib/usrp_basic.{h,cc}: new. reflect rev1 hardware.
836 2004-04-10 Eric Blossom <eb@comsec.com>
838 * host/swig/usrp_prims.i: new. SWIG'd usrp_prims.
839 * host/lib/usrp_prims.cc: added usrp_rescan; dispatch on hardware revision
840 when appropriate; added usrp_read_fpga_reg
841 * firmware/src/usrp1/fpga_rev1.h: added declarations
842 * firmware/src/usrp1/fpga_rev.c: added implementations for
843 fpga_write_reg, fpga_set_reset, fpga_set_tx_enable, fpga_set_rx_enable.
844 * firmware/include/fpga_regs0.h: renamed prev fpga_regs.h to fpga_regs0.h
845 * firmware/include/fpga_regs.h: new for usrp rev1. Needs checking
849 2004-03-01 Eric Blossom <eb@comsec.com>
851 * host/lib/rate_to_regval.h: new. mapping table.
852 * host/lib/usrp.cc (map_rate_to_regval): now support all 97 legal
855 2004-01-11 Eric Blossom <eb@comsec.com>
857 * configure.ac: configure fast usb technique as f(os)
858 * config/usrp_fusb_tech.m4: new autoconf macro
859 * host/lib/fusb.{h,cc}: refactored in to abstract class
860 * host/lib/fusb_{darwin,generic,linux}.{h,cc}: new concrete classes
861 * host/lib/fusb_sysconfig_{darwin,generic,linux}.cc: new
863 * config/usrp_libusb.m4: new. check for libusb.
864 * configure.ac: check for libusb
866 * firmware/src/Makefile.am: fixed dependencies
867 * firmware/src/fpga.{h,c}, firmware/src/usrp_main.c: cleanup to
868 make board with no FPGA usable again.
869 * firmware/include/usrp_config.h: doc fix.
871 2003-12-30 Eric Blossom <eb@comsec.com>
873 * host/lib/fusb.cc (alloc_urb): fixes for linux 2.5/2.6
875 2003-12-12 Eric Blossom <eb@comsec.com>
877 * firmware/lib/i2c.c (i2c_read): worked around sdcc compiler bug.
879 2003-12-07 Eric Blossom <eb@comsec.com>
881 * configure.ac: autoconfiscated the firmware directory. It now
882 builds from the top along with the host code.
884 * I've touched just about every file in the tree, both
885 firmware and host side. The combo is now working well. It is
886 capable of half duplex reading or writing at 31.25 MB/sec and
887 (pseudo) full duplex reading and writing at 15.625 MS/sec in each
890 In addition, the receive side is decoupled from the transmit side
891 so that separate processes can open each side.
894 2003-11-27 Eric Blossom <eb@comsec.com>
896 * firmware/src/fpga.c (clock_out_config_byte): assembly speedup
899 basic support for interrupts is now working.
901 * firmware/lib/{isr.c,timer.c}: new
902 * firmware/include/{isr.h,timer.h}: new
903 * firmware/src/command_loop.c (isr_tick): blink led
905 2003-11-21 Eric Blossom <eb@comsec.com>
907 * firmware/src/edit-gpif (edit_gpif): now leave xdata alone
908 * firmware/src/init_gpif.c: added xdata storage qualifer
909 * firmware/Makefile: added linker opts to get xdata located properly
911 Rearranged the firmware directory.
912 firmware/basic_fw/include --> firmware/include
913 firmware/basic_fw/src --> firmware/src
914 All older firmware stuff was removed
916 2003-11-15 Eric Blossom <eb@comsec.com>
918 * host/lib/fusb.cc (fusb_devhandle, _cancel_pending_rqsts): now
919 use reverse_iterator to cancel pending requests from the back to
920 the front. This removes the mystery of more than one cancelled
921 urb having a non-zero transfer count.
923 * host/lib/test_fusb.cc (test_output): fixed defective test case
924 that was having me think the tx code wasn't working.
926 2003-11-13 Eric Blossom <eb@comsec.com>
928 * host/lib/fusb.{h,cc}: work in progress on the Rx path.
930 2003-11-11 Eric Blossom <eb@comsec.com>
932 * host/lib/fusb.{h,cc}: halved net Tx memory requirement by using
933 a single user mode buffer.
935 2003-11-10 Eric Blossom <eb@comsec.com>
937 System is now sustaining 31MB/sec on the TX path, no underruns ;-)
939 * firmware/basic_fw/src/edit-gpif: now machine generate inline
940 definitions for setup_flowstate_common, setup_flowstate_read and
941 setup_flowstate_write.
943 * firmware/basic_fw/src/usrp_common.c: clear_usrp_error now clears
944 over and underrun flags from status word.
945 * firmware/basic_fw/src/usrp_comands.c: added bit defs for overrun
946 and underrun status indicators.
947 * firmware/basic_fw/src/command_loop.c (poll_gpif): now checks for
948 over and underruns and clears fpga status.
950 * firmware/basic_fw/include/usrp_regs.h (bmFCB_CLR_STATUS): moved
951 FPGA clear_status line to the previous location of SDO. This
952 means that firmware from here out will only work with the latest
953 FPGA bitstreams that have this pin configurd as an input.
955 * host/lib/fusb.{h,cc}: fast streaming usb library built on top of libusb.
956 This version uses linux specific magic.
958 * host/lib/test_fusb.cc: test and benchmarking code for fusb.
960 2003-11-08 Eric Blossom <eb@comsec.com>
962 * firmware/basic_fw/src/gpif.gpf: moved BOGUS ctl line to CTL5.
963 Added clear_status as CTL3.
964 * firmware/basic_fw/src/usrp_common.c (init_usrp): removed
965 obsolete ENABLE_FIFO ifdef. Disabled RX pump priming.
966 * firmware/basic_fw/src/command_loop.c (main): enable both RX and TX.
968 2003-10-22 Eric Blossom <eb@comsec.com>
970 * host/lib/Usrp.{h,cc}: added accessors for get_rx_freq, get_tx_freq
972 2003-10-17 Eric Blossom <eb@comsec.com>
974 * host/usrper/test_input.cc (main): new program to exercise USRP
977 * host/lib/Usrp.{h,cc} (read): changed return value from bool to int
979 2003-09-30 Eric Blossom <eb@comsec.com>
981 * host/lib/Usrp.{h,cc}: handle new format interp and decim regs.
982 * firmware/basic_fw/src/command_loop.c (g_enable_read): disabled
983 read for the time being.
985 2003-09-17 Eric Blossom <eb@comsec.com>
987 * host/lib/Usrp.cc (find_file): changed load path for firmware and
988 fpga bits to to /usr/local/share/usrp.
989 (Usrp): now set gstate, sleep, fpga_reset and tx_enable per Matt's
992 2003-09-16 Eric Blossom <eb@comsec.com>
994 * AUTHORS, NEWS, README: new & empty
995 * bootstrap, configure.ac, Makefile.am: new for autoconfiscation
996 * host/Makefile.am, host/lib/Makefile.am, host/usrper/Makefile.am: new
997 * host/lib/{Makefile.am,Usrp.{h,cc}}: new class to interface to USRP.
998 * host/usrper/usrper2.cc: new code to exercise Usrp.{h,cc}
1000 * host/usrper/usrper.cc: removed uneeded includes
1002 2003-09-04 Eric Blossom <eb@comsec.com>
1004 * firmware/basic_fw/src/usrp_commands.h,
1005 firmware/basic_fw/src/command_loop.c (do_set_sleep_bits),
1006 host/usrper/usrper.cc (usrp_set_sleep_bits): added command to slam
1007 the A/D and D/A sleep control lines.
1010 2003-08-30 Eric Blossom <eb@comsec.com>
1012 * firmware/basic_fw/src/usrp_commands.h: removed obsolete
1013 foo_CLR_bar commands. Added UCMD_SET_GSTATE_OUTPUT_ENABLE to
1014 enable the output of the GPIF state on the low 3 bits of Port E.
1016 * host/usrper/usrper.cc (usrper_load_firmware): now implements
1017 "load_firmware" command.
1019 2003-08-17 Eric Blossom <eb@comsec.com>
1021 * host/usrper/usrper.cc (usrper_load_fpga),
1022 firmware/basic_fw/src/fpga.c: changed load_fpga to expect a byte
1023 count, not a bit count in the xfer packet.
1025 * firmware/basic_fw/src/fpga.c (do_fpga_config_start): cleanup,
1026 add appropriate delay.
1028 * firmware/basic_fw/src/usrp_common.c (udelay1, udelay): new delay functions
1030 2003-07-30 Eric Blossom <eb@comsec.com>
1032 * firmware/basic_fw/include/fx2regs.h: changed sfr and sbit syntax
1033 to match what SDCC expects. Now the SFR's are really allocated
1034 where they are supposed to be ;-)
1037 # Copyright 2003,2004,2005 Free Software Foundation, Inc.
1039 # This file is part of GNU Radio
1041 # GNU Radio is free software; you can redistribute it and/or modify
1042 # it under the terms of the GNU General Public License as published by
1043 # the Free Software Foundation; either version 2, or (at your option)
1044 # any later version.
1046 # GNU Radio is distributed in the hope that it will be useful,
1047 # but WITHOUT ANY WARRANTY; without even the implied warranty of
1048 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1049 # GNU General Public License for more details.
1051 # You should have received a copy of the GNU General Public License
1052 # along with GNU Radio; see the file COPYING. If not, write to
1053 # the Free Software Foundation, Inc., 51 Franklin Street,
1054 # Boston, MA 02110-1301, USA.