1 2007-05-14 Greg Troxel <Greg Troxel <gdt@ir.bbn.com>>
3 * host/lib/legacy/usrp_bytesex.h: Fix typo in portability code.
4 Add #warning that it is non-portable.
6 2006-10-10 Greg Troxel <gdt@ir.bbn.com>
8 * firmware/include/Makefile.am: avoid nonportable use of $< (first
9 prereq in GNU make, implied source for pattern rule in BSD make)
10 used in a non-pattern rule.
12 2006-06-25 Eric Blossom <eb@comsec.com>
14 * firmware/include/fpga_regs_standard.h: doc fix to reflect current reality.
16 2006-06-10 Eric Blossom <eb@comsec.com>
18 * host/apps/usrper.cc: removed dead (#if 0'd) code, that's no longer applicable.
20 2006-05-11 Martin Dudok van Heel <nldudok1 at olifantasia dot com>
21 Added synchronised multi_usrp support using a new fpga firmware build in a new toplevel usrp_multi.
22 A few changes were needed in the mainline code, but they shouldn't affect anyone
23 (No functionality changes in the existing code, just a few API additions)
25 * firmware/include/fpga_regs_standard.v: added Master/slave control register FR_RX_MASTER_SLAVE
26 * firmware/include/fpga_regs_common.h: added 32 bit counter support bmFR_MODE_RX_COUNTING_32BIT
27 * firmware/include/generate_regs.py: added support for bitno and bm defines
28 * firmware/include/fpga_regs_standard.h: added Master/slave control register FR_RX_MASTER_SLAVE
29 * host/lib/usrp_basic.h: added _write_fpga_reg_masked
30 * host/lib/usrp_basic.cc: added _write_fpga_reg_masked
31 * host/lib/usrp_standard.h: added FPGA_MODE_COUNTING_32BIT
32 * fpga/Makefile.extra: regenerated to add new usrp_multi files
33 * fpga/rbf/rev4/multi_2rxhb_2tx.rbf: new (fpga firmware for synchronised multi_usrp support)
34 * fpga/rbf/rev4/multi_4rx_0tx.rbf: new (fpga firmware for synchronised multi_usrp support)
35 * fpga/rbf/Makefile.am: added commented out rev2/multi_2rxhb_2tx.rbf and rev4/multi_2rxhb_2tx.rbf
36 * fpga/rbf/rev2/multi_2rxhb_2tx.rbf: new (fpga firmware for synchronised multi_usrp support)
37 * fpga/rbf/rev2/multi_4rx_0tx.rbf: new (fpga firmware for synchronised multi_usrp support)
38 * fpga/toplevel/usrp_std/usrp_std.v: split rx_buffer reset into dsp reset and reset_regs
39 * fpga/toplevel/usrp_multi: new fpga toplevel for synchronised multi_usrp support
40 * fpga/toplevel/usrp_multi/usrp_multi.esf: new
41 * fpga/toplevel/usrp_multi/usrp_multi.vh: new toplevel verilog include,
42 to turn on/off multi usrp support and number of rx/tx channels and halfband
43 * fpga/toplevel/usrp_multi/usrp_std.vh: new wrapper for usrp_multi.vh
44 * fpga/toplevel/usrp_multi/usrp_multi_config_2rxhb_0tx.vh: new
45 * fpga/toplevel/usrp_multi/usrp_multi_config_2rxhb_2tx.vh: new
46 * fpga/toplevel/usrp_multi/usrp_multi.v: new toplevel verilog file for multi_usrp support.
47 The multi_usrp support can be turned on and off in usrp_multi.vh.
48 If it is turned off this file will generate exactly the same as usrp_std.v
49 (just do a diff between usrp_std.v and usrp_multi.v to see how this is done)
50 * fpga/toplevel/usrp_multi/usrp_multi.qpf: new
51 * fpga/toplevel/usrp_multi/usrp_multi.psf: new
52 * fpga/toplevel/usrp_multi/usrp_multi_config_2rx_0tx.vh: new
53 * fpga/toplevel/usrp_multi/usrp_multi.qsf: new
54 * fpga/toplevel/usrp_multi/usrp_multi_config_4rx_0tx.vh: new
55 * fpga/toplevel/usrp_multi/usrp_multi.csf: new
56 * fpga/toplevel/usrp_multi/.cvsignore: new
57 * fpga/sdr_lib/rx_buffer.v: split reset into dsp reset and reset registers
58 * fpga/sdr_lib/master_control_multi.v: new wrapper for master_control.v which adds multi_usrp support
59 * fpga/sdr_lib/phase_acc.v: set reset of FREQADDR register to 1'b0
60 This way reset can be used to reset phase_acc without resetting the frequency
61 (this reset was not used untill now)
62 * fpga/sdr_lib/setting_reg_masked.v: new masked 16 bit register
64 2006-05-01 Michael Dickens <mdickens@nd.edu>
66 * host/lib/Makefile.am, host/lib/fusb_darwin.{h,cc}: mods for
67 higher speed OS/X support.
68 * host/lib/darwin_libusb.h, host/lib/mld_threads.h,
69 host/lib/circular_buffer.h, host/lib/circular_linked_list.h,
70 README_OSX: new files for higher speed OS/X support.
73 2006-03-29 Eric Blossom <eb@comsec.com>
75 * fpga/Makefile.am: regenerated Makefile.extra so that make distcheck
77 * fpga/rbf/Makefile.am: simplified installation of FPGA rbf
78 files. It actually works again ;)
80 2006-03-09 Eric Blossom <eb@comsec.com>
82 * fpga/gen_makefile_extra.py, fpga/Makefile.am,
83 fpga/Makefile.extra: based on an idea by Martin, we now machine
84 generate the list of FPGA related files that should go into the
85 tarball distribution. After adding or removing fpga files from
86 CVS, you must run gen_makefile_extra.py to regenerate the Makefile
89 2006-03-09 Martin Dudok van Heel <nldudok1@olifantasia.com>
91 * firmware/src/usrp2/Makefile.am, usrp/rbf/Makefile.am: fixed
92 make distcheck failures.
94 2006-03-06 Eric Blossom <eb@comsec.com>
96 * host/lib/usrp_standard.cc (compute_freq_control_word_fpga):
97 Removed host-side truncation of frequency control word.
98 Tuning resolution is now approximately 0.03 Hz.
100 2006-02-18 Eric Blossom <eb@comsec.com>
102 * host/lib/usrp_prims.{h,cc}, host/lib/usrp_basic.{h,cc},
103 host/lib/usrp_standard.{h,cc}: added support for specifying the
104 firmware and fpga files that is to be loaded. Also provided
105 default override via USRP_FPGA and USRP_FIRMWARE environment
108 2006-02-17 Eric Blossom <eb@comsec.com>
110 * host/lib/usrp_basic.{h,cc}, host/lib/usrp_prims.{h,cc}: added
111 methods to retrieve serial number from usrp motherboard.
112 * host/apps/burn-serial-number: burn a serial number into usrp motherboard.
113 * firmware/src/usrp2/eeprom_io.{h,c}: routines to read and write eeprom.
114 * firmware/src/usrp2/usrp_main.c (patch_usb_descriptors): read h/w
115 rev and serial number out of boot eeprom and patch into returned
118 * host/apps/test_usrp0.cc, host/lib/usrp0.{h,cc}: removed usrp0
120 * firmware/src/Makefile.am: removed all rev0 and rev1 usrp firmware.
122 2006-02-09 Eric Blossom <eb@comsec.com>
124 * fpga/toplevel/usrp_std/usrp_std.vh: refactored condition compilation.
125 * fpga/toplevel/usrp_std/usrp_std_config_2rxhb_2tx.vh: new
126 * fpga/toplevel/usrp_std/usrp_std_config_4rx_0tx.vh: new
128 * firmware/include/fpga_regs_common.{h,v}, host/lib/usrp_basic.cc:
129 removed reference to FR_ATR_CTL.
130 * fpga/sdr_lib/rx_chain_hb.v: deleted. Capability was folded into rx_chain.v
132 2006-02-01 Eric Blossom <eb@comsec.com>
134 * host/lib/usrp_prims.cc (usrp_open_interface): reenabled
135 usb_set_configuration for WIN32 platform. Thanks Martin!
137 2006-01-30 Eric Blossom <eb@comsec.com>
139 * fpga/sdr_lib/master_control.v: modified code so that it appears
140 that atr_ctl is always asserted. This allows us to simplify the
141 daughterboard and applications code. They can control everything
142 via the other three ATR_* regs.
143 * fpga/rbf/usrp_fpga_rev2.rbf: updated with new binary.
145 * host/lib/usrp_prims.cc (_usrp_load_fpga): manually reset fpga
146 regs by writing zero to them.
148 2006-01-25 Eric Blossom <eb@comsec.com>
150 * host/lib/usrp_standard.{h,cc}: new methods for reporting on FPGA
152 * firmware/include/fpga_regs_standard.h (FR_RB_CAPS): new reg that
153 describes FPGA capabilities.
155 2005-12-15 Eric Blossom <eb@comsec.com>
157 * fpga/Makefile.am: Added missing files to EXTRA_DIST.
159 2005-12-08 Martin Dudok van Heel <nldudok1@olifantasia.com>
161 tagged RBF_2005_12_08
163 * fpga/rbf/usrp_fpga_rev2.rbf: updated.
164 * fpga/toplevel/usrp_std/usrp_std.v: fixed counter mode bug
165 related to half-band filter.
167 2005-12-07 Eric Blossom <eb@comsec.com>
169 Tagged all files: RBF_2005_12_07
171 * fpga/rbf/usrp_fpga_rev2.rbf: updated with new Auto T/R switching code.
173 2005-12-06 Eric Blossom <eb@comsec.com>
175 * host/swig/Makefile.am (prims.cc usrp_prims.py): added new dependencies.
176 * host/lib/usrp_basic.cc: disabled printing of daughterboard types.
178 2005-12-05 Eric Blossom <eb@comsec.com>
180 * firmware/include/fpga_regs_standard.h: renumbed
181 FR_TX_FORMAT and FR_RX_FORMAT to remove gap.
182 * firmware/include/fpga_regs_common.h: moved FR_ATR regs here from
183 fpga_regs_standard.h.
184 * host/lib/usrp_basic.cc: zero Auto T/R regs at init time.
186 2005-12-01 Eric Blossom <eb@comsec.com>
188 * host/swig/usrp_fpga_regs.py: define all fpga register names and
189 bit masks. This is effectively a python binding for the contents
190 of firmware/include/fpga_regs_{common,standard}.h
191 * host/swig/prims.i: swigged fpga_regs_{common,standard}.h
193 2005-11-30 Eric Blossom <eb@comsec.com>
195 * firmware/include/fpga_regs_standard.h: fixed typo in FR_ATR_*
196 series. Renumbered to start after the 16 registers reserved for
197 custom user definition.
198 * firmware/include/generate_regs.py (generate_fpga_regs): changed
199 generated register const width to 7 bits.
201 2005-11-19 Martin Dudok van Heel <nldudok1@olifantasia.com>
203 * host/apps/Makefile.am: make make-dist work again by
204 added new burn-db-eeprom and removing burn-dbs-eeprom
205 and burn-tvrx-eeprom from noinst_PYTHON.
206 * fpga/Makefile.am: make make-dist work again by making
207 EXTRA_DIST consistant with latest cleanup of old files.
209 2005-11-18 Eric Blossom <eb@comsec.com>
211 * firmware/include/fpga_regs_standard.h: redefined auto
212 transmit/receive control registers.
214 2005-11-17 Eric Blossom <eb@comsec.com>
216 * host/lib/fusb_linux.cc (write): added code to minimize transmit
217 buffering. This allows the higher level code to control buffering
220 2005-11-15 Eric Blossom <eb@comsec.com>
222 * host/lib/usrp_basic.cc: zero the daughterboard i/o registers on open.
223 * fpga/rbf/usrp_fgpa_rev2.rbf: new RBF_2005_11_15
225 2005-11-15 Matt Ettus <matt@ettus.com>
227 * fpga/sdr_lib/master_control.v, fpga/sdr_lib/io_pins.v:
228 Refactored resets to fix problem where starting Rx side was
231 2005-11-13 Eric Blossom <eb@comsec.com>
233 * host/lib/usrp_prims.cc (usrp_open_interface): removed call to usb_set_configuration.
235 2005-11-02 Eric Blossom <eb@comsec.com>
237 * host/lib/usrp_basic.h (class usrp_basic_tx): fixed pga_db_per_step.
239 2005-10-31 Eric Blossom <eb@comsec.com>
241 * host/lib/usrp_prims.cc (usrp_open_interface): ignore error on
242 usb_set_configuration.
244 2005-10-28 Eric Blossom <eb@comsec.com>
246 * fpga/rbf/Makefile.am (install-data-local): conditionally install
247 fpga .rbf files. If a file named DONT_INSTALL_RBF exists in the
248 install directory, the install will not be done.
250 2005-10-24 Eric Blossom <eb@comsec.com>
252 * host/lib/usrp_standard.{h,cc}: mods to use halfband decimator
255 * fpga/sdr_lib/hb/halfband_decim.v: added documentation.
257 2005-10-20 Eric Blossom <eb@comsec.com>
259 * host/lib/usrp_standard.{h,cc} (class usrp_standard_rx): support
260 setting and getting rx format (8-bit values, etc).
261 * host/lib/usrp_basic.cc (usrp_basic): disable FPGA DEBUG_EN in ctor.
262 * host/lib/gen_usrp_dbid.py, host/lib/usrp_prims.h: handle <none> and
264 * host/apps/test_usrp_standard_rx.cc (main): added support for 8-bit samples.
266 * fpga/sdr_lib/rx_buffer.v: fixed misspelled netname.
267 * fpga/toplevel/usrp_std/usrp_std.v: added additional ../ to includes.
268 * fpga/sdr_lib/master_control.v: put FR_DEBUG_EN back to single reg.
270 2005-10-17 Eric Blossom <eb@comsec.com>
272 * firmware/include/fpga_regs_standard.h: redefined RX_FORMAT register.
273 * firmware/include/fpga_regs_common.h: split FR_DEBUG_EN into a TX
276 2005-10-13 Eric Blossom <eb@comsec.com>
278 * host/lib/usrp_standard.cc: initialize nchannels before interp/decim
279 rate. Fixed problem computing polling iterval.
280 * host/apps/test_usrp_standard_tx.cc (main): added -M megabytes option.
282 2005-09-21 Eric Blossom <eb@comsec.com>
284 * host/lib/usrp_basic.h: adc_freq() -> adc_rate(); dac_freq() ->
285 dac_rate(). Also added converter_rate() which is defined on both
288 2005-09-20 Eric Blossom <eb@comsec.com>
290 * host/apps/burn-db-eeprom: new. Burns eeproms on all kinds of
293 2005-09-17 Eric Blossom <eb@comsec.com>
295 * host/swig/prims.i: added interface for usrp_dbid_to_string.
297 2005-09-09 Larry Doolittle <ldoolitt@recycle.lbl.gov>
299 * host/apps/test_usrp_standard_rx.cc: Added -M option to specify
300 how many megabytes to transfer.
302 2005-09-06 Martin Dudok van Heel <nldudok1 at olifantasia.com>
304 * host/lib/fusb_win32.cc: Solved missing samples bug in usb code.
305 (Which you could see by running test_counting.py example)
307 2005-08-26 Eric Blossom <eb@comsec.com>
309 * firmware/include/fpga_regs_standard.{h,v}: Added defs for new
310 FR_TX_FORMAT and FR_RX_FORMAT registers.
312 2005-08-19 Eric Blossom <eb@comsec.com>
314 * doc/Makefile.am: clean-local now uses $(RM) -fr
316 2005-07-29 Martin Dvh <nldudok1 at olifantasia.com>, Stephane Fillod
318 * host/lib/fusb_win32.{cc,h}: WTH made win32 fast usb buffer work
319 * host/lib/usrp_prims.cc: Get usrp basepath for firmware from
320 environment variable USRP_PATH. Needed for win32 binary installer
322 2005-07-24 Stephane Fillod <f8cfe@free.fr>
324 * config/usrp_fusb_tech.m4: select win32 fusb for Cygwin
326 2005-07-19 Eric Blossom <eb@comsec.com>
328 * host/apps/usrp_cal_dc_offset.cc: new. control system for
329 determining ADC DC offset correction. Works, but really ought to
330 be reimplemented in FPGA and run constantly. Part of the problem
331 is that the offset correction varies with temperature, pga gain,
334 * firmware/src/common/build_eeprom.py (build_shell_script): added
335 sleep 1 after each command.
337 * host/lib/usrp_standard.h (class usrp_standard_rx): new method:
340 * host/lib/usrp_basic.{h,cc}, host/lib/usrp_standard.{h,cc}: added
341 fusb_block_size and fusb_nblocks args to constructors so that
342 application code can control "fast usb" buffer.
344 2005-07-11 Eric Blossom <eb@comsec.com>
346 * host/lib/gen_usrp_dbid.py: new. Generate usrp_dbid.h,
347 usrp_dbid.py and usrp_dbid.cc using usrp_dbid.dat as the input file.
348 * host/apps/burn-basic-eeprom, host/apps/burn-dbs-eeprom,
349 host/apps/burn-tvrx-eeprom: import usrp_dbid
351 2005-07-02 Eric Blossom <eb@comsec.com>
353 * config/gr_no_undefined.m4, config/gr_x86_64.m4: new, x86_64 support.
354 * config/gr_python.m4: backed out search for libpython, making
355 x86_64 work and breaking Cygwin/MinGW.
356 * configure.ac, host/lib/Makefile.am, host/swig/Makefile.am: mods
357 for x86_64, $(NO_UNDEFINED)
359 2005-05-18 Eric Blossom <eb@comsec.com>
361 * host/lib/usrp_standard.{h,cc}, host/lib/usrp_basic.{h,cc}: new
362 start and stop methods to kick off data xfer. (Useful for
364 * host/apps/test_usrp_standard_{tx,rx}.cc: modified to use new
367 2005-05-09 Stephane Fillod <f8cfe@free.fr>
369 * config/gr_sysv_shm.m4: SysV shared memory not mandatory
370 * config/gr_pwin32.m4, config/gr_python.m4, config/lf_cxx.m4:
371 fixes for Cygwin, MinGW
372 * usrp.inf, usrp.iss.in: new for windows installer
374 2005-05-01 Stephane Fillod <f8cfe@free.fr>
376 * config/usrp_fusb_tech.m4,host/lib/Makefile.am: added win32
378 * host/lib/fusb_sysconfig_win32.cc, host/lib/fusb_win32.{h,cc}:
380 * host/apps/test_usrp0.cc, host/apps/test_usrp_standard_rx.cc,
381 host/apps/test_usrp_standard_tx.cc, host/lib/fusb.h,
382 host/lib/fusb_linux.cc, host/lib/fusb_sysconfig_darwin.cc,
383 host/lib/fusb_sysconfig_generic.cc, host/lib/fusb_sysconfig_linux.cc,
384 host/lib/usrp0.cc, host/lib/usrp0.h, host/lib/usrp_basic.cc,
385 host/lib/usrp_basic.h: do not hardcode the usb driver block_size.
386 * host/lib/fusb_darwin.cc, host/lib/fusb_generic.cc: typo and read
389 2005-03-31 Eric Blossom <eb@comsec.com>
391 * firmware/include/usrp_spi_defs.h,firmware/include/Makefile.am:
392 renamed from spi_defs.h to usrp_spi_defs.h. It's now installed.
394 2005-03-26 Eric Blossom <eb@comsec.com>
396 * host/lib/fusb_linux.cc (read): fix for x86_64 compile.
398 2005-03-15 Eric Blossom <eb@comsec.com>
400 * host/lib/usrp_basic.{h,cc}: hoisted write_aux_dac and read_aux_dac
401 methods out of usrp_basic and into usrp_basic_rx and usrp_basic_tx.
403 2005-03-11 Eric Blossom <eb@comsec.com>
405 * host/lib/usrp_basic.{h,cc}: new methods: set_adc_offset,
406 set_dac_offset, set_adc_buffer_bypass.
408 2005-03-03 Eric Blossom <eb@comsec.com>
410 * host/lib/usrp_standard.cc (set_decim_rate): added warning about rates > 128.
412 2005-02-22 Eric Blossom <eb@comsec.com>
414 * firmware/src/usrp1/spi.c (read_byte_msb): rewritten to work
415 around SDCC 2.4.0 bug.
417 2005-02-20 Eric Blossom <eb@comsec.com>
419 * firmware/include/usrp_ids.h (USB_PID_FSF_SSRP_reserved): added
422 2005-02-18 Eric Blossom <eb@comsec.com>
424 * host/lib/usrp_standard.cc (set_interp_rate,set_decim_rate): added range check.
425 * host/lib/usrp_standard.h: doc fix.
427 2005-02-16 Eric Blossom <eb@comsec.com>
429 * host/lib/usrp_dbid.cc: new ID.
430 * host/lib/usrp_daughterboards.h (USRP_DBID_DBS_RX): new ID.
431 * host/lib/usrp_basic.{h,cc}: added read_i2c and write_i2c methods.
432 * host/apps/burn-dbs-eeprom: init eeprom on DBS Rx daughterboard.
434 2005-02-11 Eric Blossom <eb@comsec.com>
436 * doc/Makefile.am: fixes for distcheck.
437 * src/host/apps/Makefile.am: add burn-basic-eeprom to tarball.
439 2005-02-10 Eric Blossom <eb@comsec.com>
441 * configure.ac, doc/Makefile.am: build html from DocBook if
442 they've got xmlto installed.
444 2005-02-09 Eric Blossom <eb@comsec.com>
446 * host/lib/std_paths.h.in (std_paths): new. Use prefix to locate
447 fpga and firmware binaries.
449 * host/lib/usrp_prims.cc (compute_hash): rewritten to use embedded
450 md5 code instead of calling out to program.
451 * host/lib/md5.{h,c}: new. imported from core-utils.
453 2005-02-08 Eric Blossom <eb@comsec.com>
455 * host/apps/usrper.cc (usage): added missing parameter.
457 2005-02-06 Eric Blossom <eb@comsec.com>
459 * configure.ac: upped rev to 0.7 for release.
460 * host/swig/Makefile.am: backed out dependency on libpython
461 * host/apps/Makefile.am, host/apps/test_fusb.cc: removed test_fusb.cc
462 * doc/Makefile.am: new. Generate doxygen docs.
464 2005-02-05 Eric Blossom <eb@comsec.com>
466 * fpga/Makefile.am: new. distribute verilog with tarball.
467 * fpga/rbf/Makefile.am: new. distribute rbf's with tarball
468 * host/apps/test_usrp_standard_rx.cc (main): fixed calling sequence.
470 2005-02-02 Eric Blossom <eb@comsec.com>
472 * fpga/toplevel/usrp_basic/usrp_basic.v: Removed
473 ch?tx_freq from list of signals passed to serial_io in order to
476 2005-01-28 Stephane Fillod <f8cfe@free.fr>
478 * src/Makefile.am: fixes for MinGW.
480 2005-01-10 Eric Blossom <eb@comsec.com>
482 * host/lib/usrp_standard.{h,cc}: changed default strategy on mux values.
484 * host/lib/usrp_basic.{h,cc}: probe d'boards and initialize
485 fpga adc_offset and oe regs. Add methods to control all knobs.
486 Includes d'board i/o pins, PGA's, query daugherboard ids.
488 * host/lib/usrp_prims.{h,cc},host/lib/usrp_dbid.cc: new code to
489 read, parse and write d'board EEPROMs.
491 2005-01-08 Eric Blossom <eb@comsec.com>
493 * firmware/include/usrp_i2c_addr.h: doc fix on d'board EEPROM contents
495 2005-01-05 Eric Blossom <eb@comsec.com>
497 * host/lib/usrp_basic.cc (set_pga): fixed incorrect upper limit.
499 2005-01-04 Eric Blossom <eb@comsec.com>
501 * host/lib/usrp_basic.{h,cc} (class usrp_basic_rx): new methods
502 for controlling Rx PGA.
504 2004-12-20 Eric Blossom <eb@comsec.com>
506 * firmware/src/common/build_eeprom.py: new. builds shell script
507 to burn low-power code into usrp motherboard EEPROM.
509 2004-12-19 Eric Blossom <eb@comsec.com>
511 * firmware/src/usrp1/{eeprom_boot.a51,eeprom_init.c}: new. Mimimum
512 code that will put board in low-power state at boot time.
514 * firmware/src/usrp2/Makefile.am: reorg to remove duplicate code
515 between rev1 and rev2.
516 * firmware/src/usrp2/{fpga.h,fpga_load.h,fpga_rev2.c,fpga_rev2,usrp_common.h,
517 usrp_globals.h,usrp_rev2_regs.h}: removed.
518 * firmware/src/usrp2/fpga_rev1.c: new
520 2004-12-08 Eric Blossom <eb@comsec.com>
522 * host/lib/usrp_prims.{h,cc}, host/lib/usrp_basic.cc: minor tweaks for rev2 h/w.
524 * firmware/src/usrp2/.cvsignore,Makefile.am,_startup.a51,blink_leds.c,
525 board_specific.c,check_mdelay.c,check_udelay.c,edit-gpif,fpga.h,
526 fpga_load.c,fpga_load.h,fpga_rev2.c,fpga_rev2.h,gpif.c,gpif.gpf,init_gpif.c,
527 spi.c,spi.h,usb_descriptors.a51,usrp_common.c,usrp_common.h,usrp_globals.h,
528 usrp_main.c,usrp_rev2_regs.h,vectors.a51: new. copied from usrp1.
529 Should remerge this after we're sorted out.
531 2004-11-29 Berndt Josef Wulf <wulf@ping.net.au>
533 * configure.ac, config/usrp_sdcc.m4: new. check for proper version
534 of SDCC 8051 compiler and assembler.
535 * config/usrp_libusb.m4: fixed check for usb.h
537 2004-11-14 Eric Blossom <eb@comsec.com>
539 * firmware/src/usrp1/usrp_rev1_regs.h (bmMISC_OUTPUTS): removed
541 (bmPORT_E_OUTPUTS): made bmPE_FPGA_CLR_STATUS an output (as it
542 should have been all along).
544 2004-10-20 Stephane Fillod <f8cfe@free.fr>
546 * configure.ac, config/Makefile.am, config/gr_pwin32.m4,
547 host/Makefile.am, host/apps/Makefile.am,
548 host/apps/time_stuff.c, host/lib/Makefile.am,
549 host/swig/Makefile.am: detect missing functions under Win32.
551 * config/mkstemp.m4, config/onceonly.m4,
552 host/misc/bug_work_around_8.cc, host/misc/getopt.c,
553 host/misc/getopt.h, host/misc/gettimeofday.c,
554 host/misc/Makefile.am, host/misc/mkstemp.c,
555 host/misc/tempname.c, host/misc/usleep.c,
556 host/misc/.cvsignore: new files, replacements for win32 support
558 * host/lib/usrp_prims.cc: fix libusb init on systems not as
559 clever as Linux (no easy shared global variable, and no
560 auto set_configuration).
562 2004-10-20 Eric Blossom <eb@comsec.com>
564 * firmware/src/common/Makefile.am, firmware/lib/Makefile.am,
565 firmware/src/common/Makefile.am, firmware/src/usrp0/Makefile.am,
566 firmware/src/usrp1/Makefile.am: make distcheck now works!
568 2004-10-20 Stephane Fillod <f8cfe@free.fr>
570 * firmware/src/common/Makefile.am,
571 firmware/src/common/edit-gpif, firmware/src/usrp0/Makefile.am,
572 firmware/src/usrp1/Makefile.am, firmware/src/usrp1/edit-gpif:
573 allow VPATH building.
575 2004-10-18 Eric Blossom <eb@comsec.com>
577 * fpga/sdr_lib/serial_io.v: removed dac_offset stuff.
578 * fpga/toplevel/usrp_basic/usrp_basic.v: removed dac_offset stuff.
579 Conditionalized debug output.
580 * host/swig/util.py: fixed import
582 * fpga/toplevel/usrp_basic/usrp_basic.v,fpga/sdr_lib/serial_io.v:
583 modified to use 0-based naming on frequencies.
585 * firmware/include/generate_all.py (generate_fpga_regs): new.
586 Generate fpga_regs.v from fpga_regs.h
587 * fpga/sdr_lib/serial_io.v: now use symbolic defines for register numbers.
589 2004-10-13 Eric Blossom <eb@comsec.com>
591 * configure.ac: upped rev to 0.5cvs
593 2004-10-11 Eric Blossom <eb@comsec.com>
595 * configure.ac: bumped rev to 0.5, made release
596 * Makefile.am (EXTRA_DIST): added config.h.in
598 2004-09-30 Eric Blossom <eb@comsec.com>
600 * firmware/include/usrp_i2c_addr.h: renamed from i2c_addr.h.
603 * host/lib/usrp_basic.{h,cc}: added methods for writing/reading
604 aux dac/adc and eeproms.
606 2004-09-29 Eric Blossom <eb@comsec.com>
608 * host/lib/usrp_prims.{h,cc} (usrp_read_aux_adc, usrp_write_aux_dac):
609 Redefined the interface such that aux i/o values are 12-bit.
610 This buys us a bit of independence from the AD9862.
612 2004-09-24 Eric Blossom <eb@comsec.com>
614 * fpga/toplevel/usrp_basic/usrp_basic.v: subtract adc offset from
615 buffered input values.
617 2004-09-23 Eric Blossom <eb@comsec.com>
619 * config/usrp_fusb_tech.m4, config/bnv_have_qt.m4, config/cppunit.m4,
620 config/gr_check_mc4020.m4, config/gr_check_usrp.m4, config/gr_doxygen.m4,
621 config/gr_gprof.m4, config/gr_scripting.m4, config/gr_set_md_cpu.m4,
622 config/pkg.m4, config/usrp_fusb_tech.m4: added additional quoting
623 to first arg of AC_DEFUN to silence automake warning.
625 2004-08-19 Eric Blossom <eb@comsec.com>
627 * host/lib/usrp_basic.{h,cc}, host/lib/usrp_standard.cc: make
628 verbose output conditional.
630 2004-08-14 Matt Ettus <matt@ettus.com>
632 Rx timing problem fixed!
634 * fpga/sdr_lib/rx_buffer.v: revised to use extended RD assertion
637 2004-08-14 Eric Blossom <eb@comsec.com>
639 * firmware/src/usrp1/{edit-gpif,gpif.gpf}: copied for common and
640 modified. For the time being we've got a different gpif program
641 for the usrp0 and usrp1, though the usrp0 should get updated to
642 use the new organization.
643 * firmware/src/usrp1/{usrp_gpif.c,usrp_gpif_inline.h}: removed
644 links to common. Now generated in usrp1 from usrp1 specific gpif.c
646 2004-08-06 Eric Blossom <eb@comsec.com>
648 * host/lib/fusb_linux.cc (write): failure of submit_urb is now
649 propagated upward as an error.
651 2004-08-04 Eric Blossom <eb@comsec.com>
653 Rx counting and Rx/Tx digital loopback are now working, modulo the
654 problem at the beginning of the packet. The good news is that it
655 is completely reproducible, and there's no PLL being used in the FPGA.
657 * host/lib/usrp_basic.{h,cc} (set_usb_data_rate,usb_data_rate): new methods.
658 * host/lib/usrp_standard.{h,cc}: polling rate is now
659 f(usb_data_rate). Moved fpga_mode into rx only, and changed
660 constructor to take optional mode.
661 * host/apps/test_usrp_standard_rx.cc (main): changes to match new
663 * host/apps/test_usrp_standard_tx.cc (main): -c generates counting
665 * fpga/toplevel/usrp_basic/usrp_basic.v: Fixed race. Changed
666 strobe_decim to strobe_interp in loopback setup.
667 * fpga/sdr_lib/tx_buffer.v: Removed unnecessary zero assignment.
669 2004-07-31 Eric Blossom <eb@comsec.com>
671 * host/apps/test_usrp_standard_tx.cc (main): added -l (loopback) option
672 * host/apps/test_usrp_standard_tx.cc (main): added -l (loopback) option
674 * firmware/include/fpga_regs.h (FR_MODE): added new mode register.
675 * host/lib/usrp_basic.cc (usrp_basic): init to non-loopback mode
677 * host/apps/test_usrp_standard_tx.cc (main): changed default
678 interp rate to 16 (=> 32MB/sec).
680 * host/lib/usrp_bytesex.h (host_to_usrp_short): New. Conditional
681 byte swapping between host and usrp.
682 * host/app/test_usrp0.cc: added conditional byte swapping.
683 * host/app/test_usrp_standard_{rx,tx}.cc: added conditional byte swapping.
685 2004-07-30 Eric Blossom <eb@comsec.com>
687 * host/swig/Makefile.am: now installs usrp_prims.* directly in site-packages.
688 One could argue that this isn't particularly pretty, but it does
689 get it into the namespace where we want it.
691 2004-07-29 Eric Blossom <eb@comsec.com>
693 * host/apps/test_usrp0.cc (main): added code to set tx frequency.
695 2004-07-12 Eric Blossom <eb@comsec.com>
697 * configure.ac: upped rev to 0.4cvs
699 2004-07-11 Eric Blossom <eb@comsec.com>
701 * host/lib/usrp_basic.cc: invert TX_SYNC
703 * host/lib/usrp_basic.{h,cc},usrp_standard.cc: now temporarily
704 disable tx and rx paths when changing interpolation or decimation
705 rate. Didn't fix the problem, but shouldn't hurt either.
707 2004-07-07 Eric Blossom <eb@comsec.com>
709 * firmware/src/common/_startup.a51 (__sdcc_external_startup):
710 Rewritten to avoid fragile kludge. Now requires that all firmware
711 be compiled with --no-xinit-opt.
713 * firmware/src/usrp{0,1}/Makefile.am: pass in linker option to
714 place usb descriptors at 0xE000 absolute. This works around the
715 fact that the assembler and linker don't really implement the
717 * firmware/src/usrp{0,1}/usb_descriptors.a51: now place
718 descriptors in USBDESCSEG, which we force to 0xE000.
720 * firmware/src/usrp1/board_specific.c (power_down_9862s):
721 Power down the 9862's when the firmware is loaded to keep from
722 burning up the board. Note to Analog Devices: put a power pad
723 on these or some other way to get the heat out of them.
725 * host/lib/usrp_prims.cc (_usrp_load_fpga): Since loading the FPGA
726 wiggles the shared reset line with the 9862s, we now once again
727 power down the 9862's.
729 2004-07-06 Eric Blossom <eb@comsec.com>
731 * firmware/src/common/_startup.a51 (__sdcc_external_startup):
732 picked up bug fixes from 2.4.0 release, and added a fragile kludge
733 that ensures that our variables are all initialized properly.
735 * firmware/src/usrp0/usrp_main.c, firmware/src/usrp1/usrp_main.c,
736 firmware/src/common/usb_common.c: removed deprecated use of
739 2004-07-05 Eric Blossom <eb@comsec.com>
741 * host/lib/fusb_linux.cc (alloc_urb): removed
742 USBDEVFS_URB_QUEUE_BULK flag.
744 2004-07-02 Eric Blossom <eb@comsec.com>
746 * host/lib/usrp_basic.h: added adc_freq and dac_freq
747 to disambiguate the interpretation of interpolation and decimation
750 2004-07-01 Eric Blossom <eb@comsec.com>
752 * host/swig/prims.i: renamed from usrp_prims.i Module is now
753 installed as usrp.prims
754 * host/lib/usrp_basic.cc (usrp_basic_tx, usrp_basic_rx): power
755 down 9862 tx or rx path in destructor.
756 * host/lib/usrp_standard.cc: now control coarse and fine
757 modulators transparently, based on user provided center freq.
758 * fpga/sdr_lib/gen_cordic_consts.py: new. generate magic constants for cordic.
759 * fpga/sdr_lib/cordic.v: `define constants. integer c00 = <foo>
760 wasn't being synthesized correctly by Quartus II 4.0
762 2004-05-28 Eric Blossom <eb@comsec.com>
764 * host/lib/usrp_standard.{h,cc}: Now uses 4x interpolator and
765 9862 cordic. Tx path looks great up to +/- 44 MHz!
766 This code still twiddles the coarse modulator manually.
768 2004-05-27 Eric Blossom <eb@comsec.com>
770 * Tagged everything with BEFORE_CLOCK_REVAMP_2004_05_27.
771 We're about to rework the boards, host code and the verilog to
772 directly feed the 64 MHz oscillator to the 9862's and the FPGA.
773 With any luck, life will drastically improve...
776 2004-05-25 Eric Blossom <eb@comsec.com>
778 * host/lib/usrp_standard.{h,cc} (class usrp_standard_tx_use_nco):
779 new. Class that utilizes the AD9862's built-in NCO for up conversion.
780 There's still something slightly flaky going on.
782 * host/lib/usrp_basic.cc: initialize 9862 Tx FTW
784 2004-05-21 Eric Blossom <eb@comsec.com>
786 * firmware/src/usrp1/usrp_main.c (main): work around compiler
787 data initialization bug.
789 * firmware/src/usrp1/fpga_rev1.{h,c}: added support for {TX,RX}_RESET
791 2004-05-10 Eric Blossom <eb@comsec.com>
793 * host/lib/usrp_basic.cc (~usrp_basic_rx): turn off rx_enable.
795 * firmware/src/usrp1/usrp_main.c: removed unneeded global
798 2004-05-08 Eric Blossom <eb@comsec.com>
800 * firmware/src/usrp1/usrp_main.c (main): enabled GSTATE output.
802 2004-05-07 Eric Blossom <eb@comsec.com>
804 * host/lib/usrp_standard.cc (make): changed constructors and make
805 to pass the interp/decim rate. This ensures that the rate is set
806 to something the user wants when the rx and tx paths are first
809 * host/lib/usrp_basic.cc (initialize): enabled xrun status polling.
810 (set_fpga_rx_sample_rate_divisor,set_fpga_rx_sample_rate_divisor):
811 set FPGA register to N-1.
813 * host/lib/usrp_standard.cc (set_interp_rate, set_decim_rate): now
814 set FPGA register to N-1.
816 2004-04-18 Eric Blossom <eb@comsec.com>
818 * firmware/src/usrp1/spi.c (spi_read, spi_write): removed extra
819 clocks. FPGA is now doing the right thing.
821 * host/lib/ad9862.h: new. register defs for AD962 codec.
823 * firmware/src/usrp1/spi.c (spi_write,spi_read): clock once w/o
824 enables for the FPGA's benefit. We're also clocking one extra
825 cycle at the end with enables again for the FPGA. I think we
826 should remove the extra clocking at the end.
828 2004-04-17 Eric Blossom <eb@comsec.com>
830 * host/lib/usrp_prims.{h,cc} (usrp_read_aux_adc,usrp_write_aux_dac): new.
831 * host/lib/usrp_prims.{h,cc} (usrp_eeprom_write,usrp_eeprom_read): new.
833 2004-04-16 Eric Blossom <eb@comsec.com>
835 * firmware/include/i2c_addr.h: new. I2C addresses.
837 2004-04-12 Eric Blossom <eb@comsec.com>
839 * host/apps/test_usrp0.cc: renamed from test_usrp.cc
840 * firmware/include/fpga_regs.h: corrected to match latest control_bus.v
842 2004-04-11 Eric Blossom <eb@comsec.com>
844 * host/lib/usrp0.{h,cc}: new. copies of original usrp.{h,cc}
845 * host/lib/usrp_basic.{h,cc}: new. reflect rev1 hardware.
847 2004-04-10 Eric Blossom <eb@comsec.com>
849 * host/swig/usrp_prims.i: new. SWIG'd usrp_prims.
850 * host/lib/usrp_prims.cc: added usrp_rescan; dispatch on hardware revision
851 when appropriate; added usrp_read_fpga_reg
852 * firmware/src/usrp1/fpga_rev1.h: added declarations
853 * firmware/src/usrp1/fpga_rev.c: added implementations for
854 fpga_write_reg, fpga_set_reset, fpga_set_tx_enable, fpga_set_rx_enable.
855 * firmware/include/fpga_regs0.h: renamed prev fpga_regs.h to fpga_regs0.h
856 * firmware/include/fpga_regs.h: new for usrp rev1. Needs checking
860 2004-03-01 Eric Blossom <eb@comsec.com>
862 * host/lib/rate_to_regval.h: new. mapping table.
863 * host/lib/usrp.cc (map_rate_to_regval): now support all 97 legal
866 2004-01-11 Eric Blossom <eb@comsec.com>
868 * configure.ac: configure fast usb technique as f(os)
869 * config/usrp_fusb_tech.m4: new autoconf macro
870 * host/lib/fusb.{h,cc}: refactored in to abstract class
871 * host/lib/fusb_{darwin,generic,linux}.{h,cc}: new concrete classes
872 * host/lib/fusb_sysconfig_{darwin,generic,linux}.cc: new
874 * config/usrp_libusb.m4: new. check for libusb.
875 * configure.ac: check for libusb
877 * firmware/src/Makefile.am: fixed dependencies
878 * firmware/src/fpga.{h,c}, firmware/src/usrp_main.c: cleanup to
879 make board with no FPGA usable again.
880 * firmware/include/usrp_config.h: doc fix.
882 2003-12-30 Eric Blossom <eb@comsec.com>
884 * host/lib/fusb.cc (alloc_urb): fixes for linux 2.5/2.6
886 2003-12-12 Eric Blossom <eb@comsec.com>
888 * firmware/lib/i2c.c (i2c_read): worked around sdcc compiler bug.
890 2003-12-07 Eric Blossom <eb@comsec.com>
892 * configure.ac: autoconfiscated the firmware directory. It now
893 builds from the top along with the host code.
895 * I've touched just about every file in the tree, both
896 firmware and host side. The combo is now working well. It is
897 capable of half duplex reading or writing at 31.25 MB/sec and
898 (pseudo) full duplex reading and writing at 15.625 MS/sec in each
901 In addition, the receive side is decoupled from the transmit side
902 so that separate processes can open each side.
905 2003-11-27 Eric Blossom <eb@comsec.com>
907 * firmware/src/fpga.c (clock_out_config_byte): assembly speedup
910 basic support for interrupts is now working.
912 * firmware/lib/{isr.c,timer.c}: new
913 * firmware/include/{isr.h,timer.h}: new
914 * firmware/src/command_loop.c (isr_tick): blink led
916 2003-11-21 Eric Blossom <eb@comsec.com>
918 * firmware/src/edit-gpif (edit_gpif): now leave xdata alone
919 * firmware/src/init_gpif.c: added xdata storage qualifer
920 * firmware/Makefile: added linker opts to get xdata located properly
922 Rearranged the firmware directory.
923 firmware/basic_fw/include --> firmware/include
924 firmware/basic_fw/src --> firmware/src
925 All older firmware stuff was removed
927 2003-11-15 Eric Blossom <eb@comsec.com>
929 * host/lib/fusb.cc (fusb_devhandle, _cancel_pending_rqsts): now
930 use reverse_iterator to cancel pending requests from the back to
931 the front. This removes the mystery of more than one cancelled
932 urb having a non-zero transfer count.
934 * host/lib/test_fusb.cc (test_output): fixed defective test case
935 that was having me think the tx code wasn't working.
937 2003-11-13 Eric Blossom <eb@comsec.com>
939 * host/lib/fusb.{h,cc}: work in progress on the Rx path.
941 2003-11-11 Eric Blossom <eb@comsec.com>
943 * host/lib/fusb.{h,cc}: halved net Tx memory requirement by using
944 a single user mode buffer.
946 2003-11-10 Eric Blossom <eb@comsec.com>
948 System is now sustaining 31MB/sec on the TX path, no underruns ;-)
950 * firmware/basic_fw/src/edit-gpif: now machine generate inline
951 definitions for setup_flowstate_common, setup_flowstate_read and
952 setup_flowstate_write.
954 * firmware/basic_fw/src/usrp_common.c: clear_usrp_error now clears
955 over and underrun flags from status word.
956 * firmware/basic_fw/src/usrp_comands.c: added bit defs for overrun
957 and underrun status indicators.
958 * firmware/basic_fw/src/command_loop.c (poll_gpif): now checks for
959 over and underruns and clears fpga status.
961 * firmware/basic_fw/include/usrp_regs.h (bmFCB_CLR_STATUS): moved
962 FPGA clear_status line to the previous location of SDO. This
963 means that firmware from here out will only work with the latest
964 FPGA bitstreams that have this pin configurd as an input.
966 * host/lib/fusb.{h,cc}: fast streaming usb library built on top of libusb.
967 This version uses linux specific magic.
969 * host/lib/test_fusb.cc: test and benchmarking code for fusb.
971 2003-11-08 Eric Blossom <eb@comsec.com>
973 * firmware/basic_fw/src/gpif.gpf: moved BOGUS ctl line to CTL5.
974 Added clear_status as CTL3.
975 * firmware/basic_fw/src/usrp_common.c (init_usrp): removed
976 obsolete ENABLE_FIFO ifdef. Disabled RX pump priming.
977 * firmware/basic_fw/src/command_loop.c (main): enable both RX and TX.
979 2003-10-22 Eric Blossom <eb@comsec.com>
981 * host/lib/Usrp.{h,cc}: added accessors for get_rx_freq, get_tx_freq
983 2003-10-17 Eric Blossom <eb@comsec.com>
985 * host/usrper/test_input.cc (main): new program to exercise USRP
988 * host/lib/Usrp.{h,cc} (read): changed return value from bool to int
990 2003-09-30 Eric Blossom <eb@comsec.com>
992 * host/lib/Usrp.{h,cc}: handle new format interp and decim regs.
993 * firmware/basic_fw/src/command_loop.c (g_enable_read): disabled
994 read for the time being.
996 2003-09-17 Eric Blossom <eb@comsec.com>
998 * host/lib/Usrp.cc (find_file): changed load path for firmware and
999 fpga bits to to /usr/local/share/usrp.
1000 (Usrp): now set gstate, sleep, fpga_reset and tx_enable per Matt's
1003 2003-09-16 Eric Blossom <eb@comsec.com>
1005 * AUTHORS, NEWS, README: new & empty
1006 * bootstrap, configure.ac, Makefile.am: new for autoconfiscation
1007 * host/Makefile.am, host/lib/Makefile.am, host/usrper/Makefile.am: new
1008 * host/lib/{Makefile.am,Usrp.{h,cc}}: new class to interface to USRP.
1009 * host/usrper/usrper2.cc: new code to exercise Usrp.{h,cc}
1011 * host/usrper/usrper.cc: removed uneeded includes
1013 2003-09-04 Eric Blossom <eb@comsec.com>
1015 * firmware/basic_fw/src/usrp_commands.h,
1016 firmware/basic_fw/src/command_loop.c (do_set_sleep_bits),
1017 host/usrper/usrper.cc (usrp_set_sleep_bits): added command to slam
1018 the A/D and D/A sleep control lines.
1021 2003-08-30 Eric Blossom <eb@comsec.com>
1023 * firmware/basic_fw/src/usrp_commands.h: removed obsolete
1024 foo_CLR_bar commands. Added UCMD_SET_GSTATE_OUTPUT_ENABLE to
1025 enable the output of the GPIF state on the low 3 bits of Port E.
1027 * host/usrper/usrper.cc (usrper_load_firmware): now implements
1028 "load_firmware" command.
1030 2003-08-17 Eric Blossom <eb@comsec.com>
1032 * host/usrper/usrper.cc (usrper_load_fpga),
1033 firmware/basic_fw/src/fpga.c: changed load_fpga to expect a byte
1034 count, not a bit count in the xfer packet.
1036 * firmware/basic_fw/src/fpga.c (do_fpga_config_start): cleanup,
1037 add appropriate delay.
1039 * firmware/basic_fw/src/usrp_common.c (udelay1, udelay): new delay functions
1041 2003-07-30 Eric Blossom <eb@comsec.com>
1043 * firmware/basic_fw/include/fx2regs.h: changed sfr and sbit syntax
1044 to match what SDCC expects. Now the SFR's are really allocated
1045 where they are supposed to be ;-)
1048 # Copyright 2003,2004,2005 Free Software Foundation, Inc.
1050 # This file is part of GNU Radio
1052 # GNU Radio is free software; you can redistribute it and/or modify
1053 # it under the terms of the GNU General Public License as published by
1054 # the Free Software Foundation; either version 3, or (at your option)
1055 # any later version.
1057 # GNU Radio is distributed in the hope that it will be useful,
1058 # but WITHOUT ANY WARRANTY; without even the implied warranty of
1059 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1060 # GNU General Public License for more details.
1062 # You should have received a copy of the GNU General Public License
1063 # along with GNU Radio; see the file COPYING. If not, write to
1064 # the Free Software Foundation, Inc., 51 Franklin Street,
1065 # Boston, MA 02110-1301, USA.