1 2006-10-10 Greg Troxel <gdt@ir.bbn.com>
3 * firmware/include/Makefile.am: avoid nonportable use of $< (first
4 prereq in GNU make, implied source for pattern rule in BSD make)
5 used in a non-pattern rule.
7 2006-06-25 Eric Blossom <eb@comsec.com>
9 * firmware/include/fpga_regs_standard.h: doc fix to reflect current reality.
11 2006-06-10 Eric Blossom <eb@comsec.com>
13 * host/apps/usrper.cc: removed dead (#if 0'd) code, that's no longer applicable.
15 2006-05-11 Martin Dudok van Heel <nldudok1 at olifantasia dot com>
16 Added synchronised multi_usrp support using a new fpga firmware build in a new toplevel usrp_multi.
17 A few changes were needed in the mainline code, but they shouldn't affect anyone
18 (No functionality changes in the existing code, just a few API additions)
20 * firmware/include/fpga_regs_standard.v: added Master/slave control register FR_RX_MASTER_SLAVE
21 * firmware/include/fpga_regs_common.h: added 32 bit counter support bmFR_MODE_RX_COUNTING_32BIT
22 * firmware/include/generate_regs.py: added support for bitno and bm defines
23 * firmware/include/fpga_regs_standard.h: added Master/slave control register FR_RX_MASTER_SLAVE
24 * host/lib/usrp_basic.h: added _write_fpga_reg_masked
25 * host/lib/usrp_basic.cc: added _write_fpga_reg_masked
26 * host/lib/usrp_standard.h: added FPGA_MODE_COUNTING_32BIT
27 * fpga/Makefile.extra: regenerated to add new usrp_multi files
28 * fpga/rbf/rev4/multi_2rxhb_2tx.rbf: new (fpga firmware for synchronised multi_usrp support)
29 * fpga/rbf/rev4/multi_4rx_0tx.rbf: new (fpga firmware for synchronised multi_usrp support)
30 * fpga/rbf/Makefile.am: added commented out rev2/multi_2rxhb_2tx.rbf and rev4/multi_2rxhb_2tx.rbf
31 * fpga/rbf/rev2/multi_2rxhb_2tx.rbf: new (fpga firmware for synchronised multi_usrp support)
32 * fpga/rbf/rev2/multi_4rx_0tx.rbf: new (fpga firmware for synchronised multi_usrp support)
33 * fpga/toplevel/usrp_std/usrp_std.v: split rx_buffer reset into dsp reset and reset_regs
34 * fpga/toplevel/usrp_multi: new fpga toplevel for synchronised multi_usrp support
35 * fpga/toplevel/usrp_multi/usrp_multi.esf: new
36 * fpga/toplevel/usrp_multi/usrp_multi.vh: new toplevel verilog include,
37 to turn on/off multi usrp support and number of rx/tx channels and halfband
38 * fpga/toplevel/usrp_multi/usrp_std.vh: new wrapper for usrp_multi.vh
39 * fpga/toplevel/usrp_multi/usrp_multi_config_2rxhb_0tx.vh: new
40 * fpga/toplevel/usrp_multi/usrp_multi_config_2rxhb_2tx.vh: new
41 * fpga/toplevel/usrp_multi/usrp_multi.v: new toplevel verilog file for multi_usrp support.
42 The multi_usrp support can be turned on and off in usrp_multi.vh.
43 If it is turned off this file will generate exactly the same as usrp_std.v
44 (just do a diff between usrp_std.v and usrp_multi.v to see how this is done)
45 * fpga/toplevel/usrp_multi/usrp_multi.qpf: new
46 * fpga/toplevel/usrp_multi/usrp_multi.psf: new
47 * fpga/toplevel/usrp_multi/usrp_multi_config_2rx_0tx.vh: new
48 * fpga/toplevel/usrp_multi/usrp_multi.qsf: new
49 * fpga/toplevel/usrp_multi/usrp_multi_config_4rx_0tx.vh: new
50 * fpga/toplevel/usrp_multi/usrp_multi.csf: new
51 * fpga/toplevel/usrp_multi/.cvsignore: new
52 * fpga/sdr_lib/rx_buffer.v: split reset into dsp reset and reset registers
53 * fpga/sdr_lib/master_control_multi.v: new wrapper for master_control.v which adds multi_usrp support
54 * fpga/sdr_lib/phase_acc.v: set reset of FREQADDR register to 1'b0
55 This way reset can be used to reset phase_acc without resetting the frequency
56 (this reset was not used untill now)
57 * fpga/sdr_lib/setting_reg_masked.v: new masked 16 bit register
59 2006-05-01 Michael Dickens <mdickens@nd.edu>
61 * host/lib/Makefile.am, host/lib/fusb_darwin.{h,cc}: mods for
62 higher speed OS/X support.
63 * host/lib/darwin_libusb.h, host/lib/mld_threads.h,
64 host/lib/circular_buffer.h, host/lib/circular_linked_list.h,
65 README_OSX: new files for higher speed OS/X support.
68 2006-03-29 Eric Blossom <eb@comsec.com>
70 * fpga/Makefile.am: regenerated Makefile.extra so that make distcheck
72 * fpga/rbf/Makefile.am: simplified installation of FPGA rbf
73 files. It actually works again ;)
75 2006-03-09 Eric Blossom <eb@comsec.com>
77 * fpga/gen_makefile_extra.py, fpga/Makefile.am,
78 fpga/Makefile.extra: based on an idea by Martin, we now machine
79 generate the list of FPGA related files that should go into the
80 tarball distribution. After adding or removing fpga files from
81 CVS, you must run gen_makefile_extra.py to regenerate the Makefile
84 2006-03-09 Martin Dudok van Heel <nldudok1@olifantasia.com>
86 * firmware/src/usrp2/Makefile.am, usrp/rbf/Makefile.am: fixed
87 make distcheck failures.
89 2006-03-06 Eric Blossom <eb@comsec.com>
91 * host/lib/usrp_standard.cc (compute_freq_control_word_fpga):
92 Removed host-side truncation of frequency control word.
93 Tuning resolution is now approximately 0.03 Hz.
95 2006-02-18 Eric Blossom <eb@comsec.com>
97 * host/lib/usrp_prims.{h,cc}, host/lib/usrp_basic.{h,cc},
98 host/lib/usrp_standard.{h,cc}: added support for specifying the
99 firmware and fpga files that is to be loaded. Also provided
100 default override via USRP_FPGA and USRP_FIRMWARE environment
103 2006-02-17 Eric Blossom <eb@comsec.com>
105 * host/lib/usrp_basic.{h,cc}, host/lib/usrp_prims.{h,cc}: added
106 methods to retrieve serial number from usrp motherboard.
107 * host/apps/burn-serial-number: burn a serial number into usrp motherboard.
108 * firmware/src/usrp2/eeprom_io.{h,c}: routines to read and write eeprom.
109 * firmware/src/usrp2/usrp_main.c (patch_usb_descriptors): read h/w
110 rev and serial number out of boot eeprom and patch into returned
113 * host/apps/test_usrp0.cc, host/lib/usrp0.{h,cc}: removed usrp0
115 * firmware/src/Makefile.am: removed all rev0 and rev1 usrp firmware.
117 2006-02-09 Eric Blossom <eb@comsec.com>
119 * fpga/toplevel/usrp_std/usrp_std.vh: refactored condition compilation.
120 * fpga/toplevel/usrp_std/usrp_std_config_2rxhb_2tx.vh: new
121 * fpga/toplevel/usrp_std/usrp_std_config_4rx_0tx.vh: new
123 * firmware/include/fpga_regs_common.{h,v}, host/lib/usrp_basic.cc:
124 removed reference to FR_ATR_CTL.
125 * fpga/sdr_lib/rx_chain_hb.v: deleted. Capability was folded into rx_chain.v
127 2006-02-01 Eric Blossom <eb@comsec.com>
129 * host/lib/usrp_prims.cc (usrp_open_interface): reenabled
130 usb_set_configuration for WIN32 platform. Thanks Martin!
132 2006-01-30 Eric Blossom <eb@comsec.com>
134 * fpga/sdr_lib/master_control.v: modified code so that it appears
135 that atr_ctl is always asserted. This allows us to simplify the
136 daughterboard and applications code. They can control everything
137 via the other three ATR_* regs.
138 * fpga/rbf/usrp_fpga_rev2.rbf: updated with new binary.
140 * host/lib/usrp_prims.cc (_usrp_load_fpga): manually reset fpga
141 regs by writing zero to them.
143 2006-01-25 Eric Blossom <eb@comsec.com>
145 * host/lib/usrp_standard.{h,cc}: new methods for reporting on FPGA
147 * firmware/include/fpga_regs_standard.h (FR_RB_CAPS): new reg that
148 describes FPGA capabilities.
150 2005-12-15 Eric Blossom <eb@comsec.com>
152 * fpga/Makefile.am: Added missing files to EXTRA_DIST.
154 2005-12-08 Martin Dudok van Heel <nldudok1@olifantasia.com>
156 tagged RBF_2005_12_08
158 * fpga/rbf/usrp_fpga_rev2.rbf: updated.
159 * fpga/toplevel/usrp_std/usrp_std.v: fixed counter mode bug
160 related to half-band filter.
162 2005-12-07 Eric Blossom <eb@comsec.com>
164 Tagged all files: RBF_2005_12_07
166 * fpga/rbf/usrp_fpga_rev2.rbf: updated with new Auto T/R switching code.
168 2005-12-06 Eric Blossom <eb@comsec.com>
170 * host/swig/Makefile.am (prims.cc usrp_prims.py): added new dependencies.
171 * host/lib/usrp_basic.cc: disabled printing of daughterboard types.
173 2005-12-05 Eric Blossom <eb@comsec.com>
175 * firmware/include/fpga_regs_standard.h: renumbed
176 FR_TX_FORMAT and FR_RX_FORMAT to remove gap.
177 * firmware/include/fpga_regs_common.h: moved FR_ATR regs here from
178 fpga_regs_standard.h.
179 * host/lib/usrp_basic.cc: zero Auto T/R regs at init time.
181 2005-12-01 Eric Blossom <eb@comsec.com>
183 * host/swig/usrp_fpga_regs.py: define all fpga register names and
184 bit masks. This is effectively a python binding for the contents
185 of firmware/include/fpga_regs_{common,standard}.h
186 * host/swig/prims.i: swigged fpga_regs_{common,standard}.h
188 2005-11-30 Eric Blossom <eb@comsec.com>
190 * firmware/include/fpga_regs_standard.h: fixed typo in FR_ATR_*
191 series. Renumbered to start after the 16 registers reserved for
192 custom user definition.
193 * firmware/include/generate_regs.py (generate_fpga_regs): changed
194 generated register const width to 7 bits.
196 2005-11-19 Martin Dudok van Heel <nldudok1@olifantasia.com>
198 * host/apps/Makefile.am: make make-dist work again by
199 added new burn-db-eeprom and removing burn-dbs-eeprom
200 and burn-tvrx-eeprom from noinst_PYTHON.
201 * fpga/Makefile.am: make make-dist work again by making
202 EXTRA_DIST consistant with latest cleanup of old files.
204 2005-11-18 Eric Blossom <eb@comsec.com>
206 * firmware/include/fpga_regs_standard.h: redefined auto
207 transmit/receive control registers.
209 2005-11-17 Eric Blossom <eb@comsec.com>
211 * host/lib/fusb_linux.cc (write): added code to minimize transmit
212 buffering. This allows the higher level code to control buffering
215 2005-11-15 Eric Blossom <eb@comsec.com>
217 * host/lib/usrp_basic.cc: zero the daughterboard i/o registers on open.
218 * fpga/rbf/usrp_fgpa_rev2.rbf: new RBF_2005_11_15
220 2005-11-15 Matt Ettus <matt@ettus.com>
222 * fpga/sdr_lib/master_control.v, fpga/sdr_lib/io_pins.v:
223 Refactored resets to fix problem where starting Rx side was
226 2005-11-13 Eric Blossom <eb@comsec.com>
228 * host/lib/usrp_prims.cc (usrp_open_interface): removed call to usb_set_configuration.
230 2005-11-02 Eric Blossom <eb@comsec.com>
232 * host/lib/usrp_basic.h (class usrp_basic_tx): fixed pga_db_per_step.
234 2005-10-31 Eric Blossom <eb@comsec.com>
236 * host/lib/usrp_prims.cc (usrp_open_interface): ignore error on
237 usb_set_configuration.
239 2005-10-28 Eric Blossom <eb@comsec.com>
241 * fpga/rbf/Makefile.am (install-data-local): conditionally install
242 fpga .rbf files. If a file named DONT_INSTALL_RBF exists in the
243 install directory, the install will not be done.
245 2005-10-24 Eric Blossom <eb@comsec.com>
247 * host/lib/usrp_standard.{h,cc}: mods to use halfband decimator
250 * fpga/sdr_lib/hb/halfband_decim.v: added documentation.
252 2005-10-20 Eric Blossom <eb@comsec.com>
254 * host/lib/usrp_standard.{h,cc} (class usrp_standard_rx): support
255 setting and getting rx format (8-bit values, etc).
256 * host/lib/usrp_basic.cc (usrp_basic): disable FPGA DEBUG_EN in ctor.
257 * host/lib/gen_usrp_dbid.py, host/lib/usrp_prims.h: handle <none> and
259 * host/apps/test_usrp_standard_rx.cc (main): added support for 8-bit samples.
261 * fpga/sdr_lib/rx_buffer.v: fixed misspelled netname.
262 * fpga/toplevel/usrp_std/usrp_std.v: added additional ../ to includes.
263 * fpga/sdr_lib/master_control.v: put FR_DEBUG_EN back to single reg.
265 2005-10-17 Eric Blossom <eb@comsec.com>
267 * firmware/include/fpga_regs_standard.h: redefined RX_FORMAT register.
268 * firmware/include/fpga_regs_common.h: split FR_DEBUG_EN into a TX
271 2005-10-13 Eric Blossom <eb@comsec.com>
273 * host/lib/usrp_standard.cc: initialize nchannels before interp/decim
274 rate. Fixed problem computing polling iterval.
275 * host/apps/test_usrp_standard_tx.cc (main): added -M megabytes option.
277 2005-09-21 Eric Blossom <eb@comsec.com>
279 * host/lib/usrp_basic.h: adc_freq() -> adc_rate(); dac_freq() ->
280 dac_rate(). Also added converter_rate() which is defined on both
283 2005-09-20 Eric Blossom <eb@comsec.com>
285 * host/apps/burn-db-eeprom: new. Burns eeproms on all kinds of
288 2005-09-17 Eric Blossom <eb@comsec.com>
290 * host/swig/prims.i: added interface for usrp_dbid_to_string.
292 2005-09-09 Larry Doolittle <ldoolitt@recycle.lbl.gov>
294 * host/apps/test_usrp_standard_rx.cc: Added -M option to specify
295 how many megabytes to transfer.
297 2005-09-06 Martin Dudok van Heel <nldudok1 at olifantasia.com>
299 * host/lib/fusb_win32.cc: Solved missing samples bug in usb code.
300 (Which you could see by running test_counting.py example)
302 2005-08-26 Eric Blossom <eb@comsec.com>
304 * firmware/include/fpga_regs_standard.{h,v}: Added defs for new
305 FR_TX_FORMAT and FR_RX_FORMAT registers.
307 2005-08-19 Eric Blossom <eb@comsec.com>
309 * doc/Makefile.am: clean-local now uses $(RM) -fr
311 2005-07-29 Martin Dvh <nldudok1 at olifantasia.com>, Stephane Fillod
313 * host/lib/fusb_win32.{cc,h}: WTH made win32 fast usb buffer work
314 * host/lib/usrp_prims.cc: Get usrp basepath for firmware from
315 environment variable USRP_PATH. Needed for win32 binary installer
317 2005-07-24 Stephane Fillod <f8cfe@free.fr>
319 * config/usrp_fusb_tech.m4: select win32 fusb for Cygwin
321 2005-07-19 Eric Blossom <eb@comsec.com>
323 * host/apps/usrp_cal_dc_offset.cc: new. control system for
324 determining ADC DC offset correction. Works, but really ought to
325 be reimplemented in FPGA and run constantly. Part of the problem
326 is that the offset correction varies with temperature, pga gain,
329 * firmware/src/common/build_eeprom.py (build_shell_script): added
330 sleep 1 after each command.
332 * host/lib/usrp_standard.h (class usrp_standard_rx): new method:
335 * host/lib/usrp_basic.{h,cc}, host/lib/usrp_standard.{h,cc}: added
336 fusb_block_size and fusb_nblocks args to constructors so that
337 application code can control "fast usb" buffer.
339 2005-07-11 Eric Blossom <eb@comsec.com>
341 * host/lib/gen_usrp_dbid.py: new. Generate usrp_dbid.h,
342 usrp_dbid.py and usrp_dbid.cc using usrp_dbid.dat as the input file.
343 * host/apps/burn-basic-eeprom, host/apps/burn-dbs-eeprom,
344 host/apps/burn-tvrx-eeprom: import usrp_dbid
346 2005-07-02 Eric Blossom <eb@comsec.com>
348 * config/gr_no_undefined.m4, config/gr_x86_64.m4: new, x86_64 support.
349 * config/gr_python.m4: backed out search for libpython, making
350 x86_64 work and breaking Cygwin/MinGW.
351 * configure.ac, host/lib/Makefile.am, host/swig/Makefile.am: mods
352 for x86_64, $(NO_UNDEFINED)
354 2005-05-18 Eric Blossom <eb@comsec.com>
356 * host/lib/usrp_standard.{h,cc}, host/lib/usrp_basic.{h,cc}: new
357 start and stop methods to kick off data xfer. (Useful for
359 * host/apps/test_usrp_standard_{tx,rx}.cc: modified to use new
362 2005-05-09 Stephane Fillod <f8cfe@free.fr>
364 * config/gr_sysv_shm.m4: SysV shared memory not mandatory
365 * config/gr_pwin32.m4, config/gr_python.m4, config/lf_cxx.m4:
366 fixes for Cygwin, MinGW
367 * usrp.inf, usrp.iss.in: new for windows installer
369 2005-05-01 Stephane Fillod <f8cfe@free.fr>
371 * config/usrp_fusb_tech.m4,host/lib/Makefile.am: added win32
373 * host/lib/fusb_sysconfig_win32.cc, host/lib/fusb_win32.{h,cc}:
375 * host/apps/test_usrp0.cc, host/apps/test_usrp_standard_rx.cc,
376 host/apps/test_usrp_standard_tx.cc, host/lib/fusb.h,
377 host/lib/fusb_linux.cc, host/lib/fusb_sysconfig_darwin.cc,
378 host/lib/fusb_sysconfig_generic.cc, host/lib/fusb_sysconfig_linux.cc,
379 host/lib/usrp0.cc, host/lib/usrp0.h, host/lib/usrp_basic.cc,
380 host/lib/usrp_basic.h: do not hardcode the usb driver block_size.
381 * host/lib/fusb_darwin.cc, host/lib/fusb_generic.cc: typo and read
384 2005-03-31 Eric Blossom <eb@comsec.com>
386 * firmware/include/usrp_spi_defs.h,firmware/include/Makefile.am:
387 renamed from spi_defs.h to usrp_spi_defs.h. It's now installed.
389 2005-03-26 Eric Blossom <eb@comsec.com>
391 * host/lib/fusb_linux.cc (read): fix for x86_64 compile.
393 2005-03-15 Eric Blossom <eb@comsec.com>
395 * host/lib/usrp_basic.{h,cc}: hoisted write_aux_dac and read_aux_dac
396 methods out of usrp_basic and into usrp_basic_rx and usrp_basic_tx.
398 2005-03-11 Eric Blossom <eb@comsec.com>
400 * host/lib/usrp_basic.{h,cc}: new methods: set_adc_offset,
401 set_dac_offset, set_adc_buffer_bypass.
403 2005-03-03 Eric Blossom <eb@comsec.com>
405 * host/lib/usrp_standard.cc (set_decim_rate): added warning about rates > 128.
407 2005-02-22 Eric Blossom <eb@comsec.com>
409 * firmware/src/usrp1/spi.c (read_byte_msb): rewritten to work
410 around SDCC 2.4.0 bug.
412 2005-02-20 Eric Blossom <eb@comsec.com>
414 * firmware/include/usrp_ids.h (USB_PID_FSF_SSRP_reserved): added
417 2005-02-18 Eric Blossom <eb@comsec.com>
419 * host/lib/usrp_standard.cc (set_interp_rate,set_decim_rate): added range check.
420 * host/lib/usrp_standard.h: doc fix.
422 2005-02-16 Eric Blossom <eb@comsec.com>
424 * host/lib/usrp_dbid.cc: new ID.
425 * host/lib/usrp_daughterboards.h (USRP_DBID_DBS_RX): new ID.
426 * host/lib/usrp_basic.{h,cc}: added read_i2c and write_i2c methods.
427 * host/apps/burn-dbs-eeprom: init eeprom on DBS Rx daughterboard.
429 2005-02-11 Eric Blossom <eb@comsec.com>
431 * doc/Makefile.am: fixes for distcheck.
432 * src/host/apps/Makefile.am: add burn-basic-eeprom to tarball.
434 2005-02-10 Eric Blossom <eb@comsec.com>
436 * configure.ac, doc/Makefile.am: build html from DocBook if
437 they've got xmlto installed.
439 2005-02-09 Eric Blossom <eb@comsec.com>
441 * host/lib/std_paths.h.in (std_paths): new. Use prefix to locate
442 fpga and firmware binaries.
444 * host/lib/usrp_prims.cc (compute_hash): rewritten to use embedded
445 md5 code instead of calling out to program.
446 * host/lib/md5.{h,c}: new. imported from core-utils.
448 2005-02-08 Eric Blossom <eb@comsec.com>
450 * host/apps/usrper.cc (usage): added missing parameter.
452 2005-02-06 Eric Blossom <eb@comsec.com>
454 * configure.ac: upped rev to 0.7 for release.
455 * host/swig/Makefile.am: backed out dependency on libpython
456 * host/apps/Makefile.am, host/apps/test_fusb.cc: removed test_fusb.cc
457 * doc/Makefile.am: new. Generate doxygen docs.
459 2005-02-05 Eric Blossom <eb@comsec.com>
461 * fpga/Makefile.am: new. distribute verilog with tarball.
462 * fpga/rbf/Makefile.am: new. distribute rbf's with tarball
463 * host/apps/test_usrp_standard_rx.cc (main): fixed calling sequence.
465 2005-02-02 Eric Blossom <eb@comsec.com>
467 * fpga/toplevel/usrp_basic/usrp_basic.v: Removed
468 ch?tx_freq from list of signals passed to serial_io in order to
471 2005-01-28 Stephane Fillod <f8cfe@free.fr>
473 * src/Makefile.am: fixes for MinGW.
475 2005-01-10 Eric Blossom <eb@comsec.com>
477 * host/lib/usrp_standard.{h,cc}: changed default strategy on mux values.
479 * host/lib/usrp_basic.{h,cc}: probe d'boards and initialize
480 fpga adc_offset and oe regs. Add methods to control all knobs.
481 Includes d'board i/o pins, PGA's, query daugherboard ids.
483 * host/lib/usrp_prims.{h,cc},host/lib/usrp_dbid.cc: new code to
484 read, parse and write d'board EEPROMs.
486 2005-01-08 Eric Blossom <eb@comsec.com>
488 * firmware/include/usrp_i2c_addr.h: doc fix on d'board EEPROM contents
490 2005-01-05 Eric Blossom <eb@comsec.com>
492 * host/lib/usrp_basic.cc (set_pga): fixed incorrect upper limit.
494 2005-01-04 Eric Blossom <eb@comsec.com>
496 * host/lib/usrp_basic.{h,cc} (class usrp_basic_rx): new methods
497 for controlling Rx PGA.
499 2004-12-20 Eric Blossom <eb@comsec.com>
501 * firmware/src/common/build_eeprom.py: new. builds shell script
502 to burn low-power code into usrp motherboard EEPROM.
504 2004-12-19 Eric Blossom <eb@comsec.com>
506 * firmware/src/usrp1/{eeprom_boot.a51,eeprom_init.c}: new. Mimimum
507 code that will put board in low-power state at boot time.
509 * firmware/src/usrp2/Makefile.am: reorg to remove duplicate code
510 between rev1 and rev2.
511 * firmware/src/usrp2/{fpga.h,fpga_load.h,fpga_rev2.c,fpga_rev2,usrp_common.h,
512 usrp_globals.h,usrp_rev2_regs.h}: removed.
513 * firmware/src/usrp2/fpga_rev1.c: new
515 2004-12-08 Eric Blossom <eb@comsec.com>
517 * host/lib/usrp_prims.{h,cc}, host/lib/usrp_basic.cc: minor tweaks for rev2 h/w.
519 * firmware/src/usrp2/.cvsignore,Makefile.am,_startup.a51,blink_leds.c,
520 board_specific.c,check_mdelay.c,check_udelay.c,edit-gpif,fpga.h,
521 fpga_load.c,fpga_load.h,fpga_rev2.c,fpga_rev2.h,gpif.c,gpif.gpf,init_gpif.c,
522 spi.c,spi.h,usb_descriptors.a51,usrp_common.c,usrp_common.h,usrp_globals.h,
523 usrp_main.c,usrp_rev2_regs.h,vectors.a51: new. copied from usrp1.
524 Should remerge this after we're sorted out.
526 2004-11-29 Berndt Josef Wulf <wulf@ping.net.au>
528 * configure.ac, config/usrp_sdcc.m4: new. check for proper version
529 of SDCC 8051 compiler and assembler.
530 * config/usrp_libusb.m4: fixed check for usb.h
532 2004-11-14 Eric Blossom <eb@comsec.com>
534 * firmware/src/usrp1/usrp_rev1_regs.h (bmMISC_OUTPUTS): removed
536 (bmPORT_E_OUTPUTS): made bmPE_FPGA_CLR_STATUS an output (as it
537 should have been all along).
539 2004-10-20 Stephane Fillod <f8cfe@free.fr>
541 * configure.ac, config/Makefile.am, config/gr_pwin32.m4,
542 host/Makefile.am, host/apps/Makefile.am,
543 host/apps/time_stuff.c, host/lib/Makefile.am,
544 host/swig/Makefile.am: detect missing functions under Win32.
546 * config/mkstemp.m4, config/onceonly.m4,
547 host/misc/bug_work_around_8.cc, host/misc/getopt.c,
548 host/misc/getopt.h, host/misc/gettimeofday.c,
549 host/misc/Makefile.am, host/misc/mkstemp.c,
550 host/misc/tempname.c, host/misc/usleep.c,
551 host/misc/.cvsignore: new files, replacements for win32 support
553 * host/lib/usrp_prims.cc: fix libusb init on systems not as
554 clever as Linux (no easy shared global variable, and no
555 auto set_configuration).
557 2004-10-20 Eric Blossom <eb@comsec.com>
559 * firmware/src/common/Makefile.am, firmware/lib/Makefile.am,
560 firmware/src/common/Makefile.am, firmware/src/usrp0/Makefile.am,
561 firmware/src/usrp1/Makefile.am: make distcheck now works!
563 2004-10-20 Stephane Fillod <f8cfe@free.fr>
565 * firmware/src/common/Makefile.am,
566 firmware/src/common/edit-gpif, firmware/src/usrp0/Makefile.am,
567 firmware/src/usrp1/Makefile.am, firmware/src/usrp1/edit-gpif:
568 allow VPATH building.
570 2004-10-18 Eric Blossom <eb@comsec.com>
572 * fpga/sdr_lib/serial_io.v: removed dac_offset stuff.
573 * fpga/toplevel/usrp_basic/usrp_basic.v: removed dac_offset stuff.
574 Conditionalized debug output.
575 * host/swig/util.py: fixed import
577 * fpga/toplevel/usrp_basic/usrp_basic.v,fpga/sdr_lib/serial_io.v:
578 modified to use 0-based naming on frequencies.
580 * firmware/include/generate_all.py (generate_fpga_regs): new.
581 Generate fpga_regs.v from fpga_regs.h
582 * fpga/sdr_lib/serial_io.v: now use symbolic defines for register numbers.
584 2004-10-13 Eric Blossom <eb@comsec.com>
586 * configure.ac: upped rev to 0.5cvs
588 2004-10-11 Eric Blossom <eb@comsec.com>
590 * configure.ac: bumped rev to 0.5, made release
591 * Makefile.am (EXTRA_DIST): added config.h.in
593 2004-09-30 Eric Blossom <eb@comsec.com>
595 * firmware/include/usrp_i2c_addr.h: renamed from i2c_addr.h.
598 * host/lib/usrp_basic.{h,cc}: added methods for writing/reading
599 aux dac/adc and eeproms.
601 2004-09-29 Eric Blossom <eb@comsec.com>
603 * host/lib/usrp_prims.{h,cc} (usrp_read_aux_adc, usrp_write_aux_dac):
604 Redefined the interface such that aux i/o values are 12-bit.
605 This buys us a bit of independence from the AD9862.
607 2004-09-24 Eric Blossom <eb@comsec.com>
609 * fpga/toplevel/usrp_basic/usrp_basic.v: subtract adc offset from
610 buffered input values.
612 2004-09-23 Eric Blossom <eb@comsec.com>
614 * config/usrp_fusb_tech.m4, config/bnv_have_qt.m4, config/cppunit.m4,
615 config/gr_check_mc4020.m4, config/gr_check_usrp.m4, config/gr_doxygen.m4,
616 config/gr_gprof.m4, config/gr_scripting.m4, config/gr_set_md_cpu.m4,
617 config/pkg.m4, config/usrp_fusb_tech.m4: added additional quoting
618 to first arg of AC_DEFUN to silence automake warning.
620 2004-08-19 Eric Blossom <eb@comsec.com>
622 * host/lib/usrp_basic.{h,cc}, host/lib/usrp_standard.cc: make
623 verbose output conditional.
625 2004-08-14 Matt Ettus <matt@ettus.com>
627 Rx timing problem fixed!
629 * fpga/sdr_lib/rx_buffer.v: revised to use extended RD assertion
632 2004-08-14 Eric Blossom <eb@comsec.com>
634 * firmware/src/usrp1/{edit-gpif,gpif.gpf}: copied for common and
635 modified. For the time being we've got a different gpif program
636 for the usrp0 and usrp1, though the usrp0 should get updated to
637 use the new organization.
638 * firmware/src/usrp1/{usrp_gpif.c,usrp_gpif_inline.h}: removed
639 links to common. Now generated in usrp1 from usrp1 specific gpif.c
641 2004-08-06 Eric Blossom <eb@comsec.com>
643 * host/lib/fusb_linux.cc (write): failure of submit_urb is now
644 propagated upward as an error.
646 2004-08-04 Eric Blossom <eb@comsec.com>
648 Rx counting and Rx/Tx digital loopback are now working, modulo the
649 problem at the beginning of the packet. The good news is that it
650 is completely reproducible, and there's no PLL being used in the FPGA.
652 * host/lib/usrp_basic.{h,cc} (set_usb_data_rate,usb_data_rate): new methods.
653 * host/lib/usrp_standard.{h,cc}: polling rate is now
654 f(usb_data_rate). Moved fpga_mode into rx only, and changed
655 constructor to take optional mode.
656 * host/apps/test_usrp_standard_rx.cc (main): changes to match new
658 * host/apps/test_usrp_standard_tx.cc (main): -c generates counting
660 * fpga/toplevel/usrp_basic/usrp_basic.v: Fixed race. Changed
661 strobe_decim to strobe_interp in loopback setup.
662 * fpga/sdr_lib/tx_buffer.v: Removed unnecessary zero assignment.
664 2004-07-31 Eric Blossom <eb@comsec.com>
666 * host/apps/test_usrp_standard_tx.cc (main): added -l (loopback) option
667 * host/apps/test_usrp_standard_tx.cc (main): added -l (loopback) option
669 * firmware/include/fpga_regs.h (FR_MODE): added new mode register.
670 * host/lib/usrp_basic.cc (usrp_basic): init to non-loopback mode
672 * host/apps/test_usrp_standard_tx.cc (main): changed default
673 interp rate to 16 (=> 32MB/sec).
675 * host/lib/usrp_bytesex.h (host_to_usrp_short): New. Conditional
676 byte swapping between host and usrp.
677 * host/app/test_usrp0.cc: added conditional byte swapping.
678 * host/app/test_usrp_standard_{rx,tx}.cc: added conditional byte swapping.
680 2004-07-30 Eric Blossom <eb@comsec.com>
682 * host/swig/Makefile.am: now installs usrp_prims.* directly in site-packages.
683 One could argue that this isn't particularly pretty, but it does
684 get it into the namespace where we want it.
686 2004-07-29 Eric Blossom <eb@comsec.com>
688 * host/apps/test_usrp0.cc (main): added code to set tx frequency.
690 2004-07-12 Eric Blossom <eb@comsec.com>
692 * configure.ac: upped rev to 0.4cvs
694 2004-07-11 Eric Blossom <eb@comsec.com>
696 * host/lib/usrp_basic.cc: invert TX_SYNC
698 * host/lib/usrp_basic.{h,cc},usrp_standard.cc: now temporarily
699 disable tx and rx paths when changing interpolation or decimation
700 rate. Didn't fix the problem, but shouldn't hurt either.
702 2004-07-07 Eric Blossom <eb@comsec.com>
704 * firmware/src/common/_startup.a51 (__sdcc_external_startup):
705 Rewritten to avoid fragile kludge. Now requires that all firmware
706 be compiled with --no-xinit-opt.
708 * firmware/src/usrp{0,1}/Makefile.am: pass in linker option to
709 place usb descriptors at 0xE000 absolute. This works around the
710 fact that the assembler and linker don't really implement the
712 * firmware/src/usrp{0,1}/usb_descriptors.a51: now place
713 descriptors in USBDESCSEG, which we force to 0xE000.
715 * firmware/src/usrp1/board_specific.c (power_down_9862s):
716 Power down the 9862's when the firmware is loaded to keep from
717 burning up the board. Note to Analog Devices: put a power pad
718 on these or some other way to get the heat out of them.
720 * host/lib/usrp_prims.cc (_usrp_load_fpga): Since loading the FPGA
721 wiggles the shared reset line with the 9862s, we now once again
722 power down the 9862's.
724 2004-07-06 Eric Blossom <eb@comsec.com>
726 * firmware/src/common/_startup.a51 (__sdcc_external_startup):
727 picked up bug fixes from 2.4.0 release, and added a fragile kludge
728 that ensures that our variables are all initialized properly.
730 * firmware/src/usrp0/usrp_main.c, firmware/src/usrp1/usrp_main.c,
731 firmware/src/common/usb_common.c: removed deprecated use of
734 2004-07-05 Eric Blossom <eb@comsec.com>
736 * host/lib/fusb_linux.cc (alloc_urb): removed
737 USBDEVFS_URB_QUEUE_BULK flag.
739 2004-07-02 Eric Blossom <eb@comsec.com>
741 * host/lib/usrp_basic.h: added adc_freq and dac_freq
742 to disambiguate the interpretation of interpolation and decimation
745 2004-07-01 Eric Blossom <eb@comsec.com>
747 * host/swig/prims.i: renamed from usrp_prims.i Module is now
748 installed as usrp.prims
749 * host/lib/usrp_basic.cc (usrp_basic_tx, usrp_basic_rx): power
750 down 9862 tx or rx path in destructor.
751 * host/lib/usrp_standard.cc: now control coarse and fine
752 modulators transparently, based on user provided center freq.
753 * fpga/sdr_lib/gen_cordic_consts.py: new. generate magic constants for cordic.
754 * fpga/sdr_lib/cordic.v: `define constants. integer c00 = <foo>
755 wasn't being synthesized correctly by Quartus II 4.0
757 2004-05-28 Eric Blossom <eb@comsec.com>
759 * host/lib/usrp_standard.{h,cc}: Now uses 4x interpolator and
760 9862 cordic. Tx path looks great up to +/- 44 MHz!
761 This code still twiddles the coarse modulator manually.
763 2004-05-27 Eric Blossom <eb@comsec.com>
765 * Tagged everything with BEFORE_CLOCK_REVAMP_2004_05_27.
766 We're about to rework the boards, host code and the verilog to
767 directly feed the 64 MHz oscillator to the 9862's and the FPGA.
768 With any luck, life will drastically improve...
771 2004-05-25 Eric Blossom <eb@comsec.com>
773 * host/lib/usrp_standard.{h,cc} (class usrp_standard_tx_use_nco):
774 new. Class that utilizes the AD9862's built-in NCO for up conversion.
775 There's still something slightly flaky going on.
777 * host/lib/usrp_basic.cc: initialize 9862 Tx FTW
779 2004-05-21 Eric Blossom <eb@comsec.com>
781 * firmware/src/usrp1/usrp_main.c (main): work around compiler
782 data initialization bug.
784 * firmware/src/usrp1/fpga_rev1.{h,c}: added support for {TX,RX}_RESET
786 2004-05-10 Eric Blossom <eb@comsec.com>
788 * host/lib/usrp_basic.cc (~usrp_basic_rx): turn off rx_enable.
790 * firmware/src/usrp1/usrp_main.c: removed unneeded global
793 2004-05-08 Eric Blossom <eb@comsec.com>
795 * firmware/src/usrp1/usrp_main.c (main): enabled GSTATE output.
797 2004-05-07 Eric Blossom <eb@comsec.com>
799 * host/lib/usrp_standard.cc (make): changed constructors and make
800 to pass the interp/decim rate. This ensures that the rate is set
801 to something the user wants when the rx and tx paths are first
804 * host/lib/usrp_basic.cc (initialize): enabled xrun status polling.
805 (set_fpga_rx_sample_rate_divisor,set_fpga_rx_sample_rate_divisor):
806 set FPGA register to N-1.
808 * host/lib/usrp_standard.cc (set_interp_rate, set_decim_rate): now
809 set FPGA register to N-1.
811 2004-04-18 Eric Blossom <eb@comsec.com>
813 * firmware/src/usrp1/spi.c (spi_read, spi_write): removed extra
814 clocks. FPGA is now doing the right thing.
816 * host/lib/ad9862.h: new. register defs for AD962 codec.
818 * firmware/src/usrp1/spi.c (spi_write,spi_read): clock once w/o
819 enables for the FPGA's benefit. We're also clocking one extra
820 cycle at the end with enables again for the FPGA. I think we
821 should remove the extra clocking at the end.
823 2004-04-17 Eric Blossom <eb@comsec.com>
825 * host/lib/usrp_prims.{h,cc} (usrp_read_aux_adc,usrp_write_aux_dac): new.
826 * host/lib/usrp_prims.{h,cc} (usrp_eeprom_write,usrp_eeprom_read): new.
828 2004-04-16 Eric Blossom <eb@comsec.com>
830 * firmware/include/i2c_addr.h: new. I2C addresses.
832 2004-04-12 Eric Blossom <eb@comsec.com>
834 * host/apps/test_usrp0.cc: renamed from test_usrp.cc
835 * firmware/include/fpga_regs.h: corrected to match latest control_bus.v
837 2004-04-11 Eric Blossom <eb@comsec.com>
839 * host/lib/usrp0.{h,cc}: new. copies of original usrp.{h,cc}
840 * host/lib/usrp_basic.{h,cc}: new. reflect rev1 hardware.
842 2004-04-10 Eric Blossom <eb@comsec.com>
844 * host/swig/usrp_prims.i: new. SWIG'd usrp_prims.
845 * host/lib/usrp_prims.cc: added usrp_rescan; dispatch on hardware revision
846 when appropriate; added usrp_read_fpga_reg
847 * firmware/src/usrp1/fpga_rev1.h: added declarations
848 * firmware/src/usrp1/fpga_rev.c: added implementations for
849 fpga_write_reg, fpga_set_reset, fpga_set_tx_enable, fpga_set_rx_enable.
850 * firmware/include/fpga_regs0.h: renamed prev fpga_regs.h to fpga_regs0.h
851 * firmware/include/fpga_regs.h: new for usrp rev1. Needs checking
855 2004-03-01 Eric Blossom <eb@comsec.com>
857 * host/lib/rate_to_regval.h: new. mapping table.
858 * host/lib/usrp.cc (map_rate_to_regval): now support all 97 legal
861 2004-01-11 Eric Blossom <eb@comsec.com>
863 * configure.ac: configure fast usb technique as f(os)
864 * config/usrp_fusb_tech.m4: new autoconf macro
865 * host/lib/fusb.{h,cc}: refactored in to abstract class
866 * host/lib/fusb_{darwin,generic,linux}.{h,cc}: new concrete classes
867 * host/lib/fusb_sysconfig_{darwin,generic,linux}.cc: new
869 * config/usrp_libusb.m4: new. check for libusb.
870 * configure.ac: check for libusb
872 * firmware/src/Makefile.am: fixed dependencies
873 * firmware/src/fpga.{h,c}, firmware/src/usrp_main.c: cleanup to
874 make board with no FPGA usable again.
875 * firmware/include/usrp_config.h: doc fix.
877 2003-12-30 Eric Blossom <eb@comsec.com>
879 * host/lib/fusb.cc (alloc_urb): fixes for linux 2.5/2.6
881 2003-12-12 Eric Blossom <eb@comsec.com>
883 * firmware/lib/i2c.c (i2c_read): worked around sdcc compiler bug.
885 2003-12-07 Eric Blossom <eb@comsec.com>
887 * configure.ac: autoconfiscated the firmware directory. It now
888 builds from the top along with the host code.
890 * I've touched just about every file in the tree, both
891 firmware and host side. The combo is now working well. It is
892 capable of half duplex reading or writing at 31.25 MB/sec and
893 (pseudo) full duplex reading and writing at 15.625 MS/sec in each
896 In addition, the receive side is decoupled from the transmit side
897 so that separate processes can open each side.
900 2003-11-27 Eric Blossom <eb@comsec.com>
902 * firmware/src/fpga.c (clock_out_config_byte): assembly speedup
905 basic support for interrupts is now working.
907 * firmware/lib/{isr.c,timer.c}: new
908 * firmware/include/{isr.h,timer.h}: new
909 * firmware/src/command_loop.c (isr_tick): blink led
911 2003-11-21 Eric Blossom <eb@comsec.com>
913 * firmware/src/edit-gpif (edit_gpif): now leave xdata alone
914 * firmware/src/init_gpif.c: added xdata storage qualifer
915 * firmware/Makefile: added linker opts to get xdata located properly
917 Rearranged the firmware directory.
918 firmware/basic_fw/include --> firmware/include
919 firmware/basic_fw/src --> firmware/src
920 All older firmware stuff was removed
922 2003-11-15 Eric Blossom <eb@comsec.com>
924 * host/lib/fusb.cc (fusb_devhandle, _cancel_pending_rqsts): now
925 use reverse_iterator to cancel pending requests from the back to
926 the front. This removes the mystery of more than one cancelled
927 urb having a non-zero transfer count.
929 * host/lib/test_fusb.cc (test_output): fixed defective test case
930 that was having me think the tx code wasn't working.
932 2003-11-13 Eric Blossom <eb@comsec.com>
934 * host/lib/fusb.{h,cc}: work in progress on the Rx path.
936 2003-11-11 Eric Blossom <eb@comsec.com>
938 * host/lib/fusb.{h,cc}: halved net Tx memory requirement by using
939 a single user mode buffer.
941 2003-11-10 Eric Blossom <eb@comsec.com>
943 System is now sustaining 31MB/sec on the TX path, no underruns ;-)
945 * firmware/basic_fw/src/edit-gpif: now machine generate inline
946 definitions for setup_flowstate_common, setup_flowstate_read and
947 setup_flowstate_write.
949 * firmware/basic_fw/src/usrp_common.c: clear_usrp_error now clears
950 over and underrun flags from status word.
951 * firmware/basic_fw/src/usrp_comands.c: added bit defs for overrun
952 and underrun status indicators.
953 * firmware/basic_fw/src/command_loop.c (poll_gpif): now checks for
954 over and underruns and clears fpga status.
956 * firmware/basic_fw/include/usrp_regs.h (bmFCB_CLR_STATUS): moved
957 FPGA clear_status line to the previous location of SDO. This
958 means that firmware from here out will only work with the latest
959 FPGA bitstreams that have this pin configurd as an input.
961 * host/lib/fusb.{h,cc}: fast streaming usb library built on top of libusb.
962 This version uses linux specific magic.
964 * host/lib/test_fusb.cc: test and benchmarking code for fusb.
966 2003-11-08 Eric Blossom <eb@comsec.com>
968 * firmware/basic_fw/src/gpif.gpf: moved BOGUS ctl line to CTL5.
969 Added clear_status as CTL3.
970 * firmware/basic_fw/src/usrp_common.c (init_usrp): removed
971 obsolete ENABLE_FIFO ifdef. Disabled RX pump priming.
972 * firmware/basic_fw/src/command_loop.c (main): enable both RX and TX.
974 2003-10-22 Eric Blossom <eb@comsec.com>
976 * host/lib/Usrp.{h,cc}: added accessors for get_rx_freq, get_tx_freq
978 2003-10-17 Eric Blossom <eb@comsec.com>
980 * host/usrper/test_input.cc (main): new program to exercise USRP
983 * host/lib/Usrp.{h,cc} (read): changed return value from bool to int
985 2003-09-30 Eric Blossom <eb@comsec.com>
987 * host/lib/Usrp.{h,cc}: handle new format interp and decim regs.
988 * firmware/basic_fw/src/command_loop.c (g_enable_read): disabled
989 read for the time being.
991 2003-09-17 Eric Blossom <eb@comsec.com>
993 * host/lib/Usrp.cc (find_file): changed load path for firmware and
994 fpga bits to to /usr/local/share/usrp.
995 (Usrp): now set gstate, sleep, fpga_reset and tx_enable per Matt's
998 2003-09-16 Eric Blossom <eb@comsec.com>
1000 * AUTHORS, NEWS, README: new & empty
1001 * bootstrap, configure.ac, Makefile.am: new for autoconfiscation
1002 * host/Makefile.am, host/lib/Makefile.am, host/usrper/Makefile.am: new
1003 * host/lib/{Makefile.am,Usrp.{h,cc}}: new class to interface to USRP.
1004 * host/usrper/usrper2.cc: new code to exercise Usrp.{h,cc}
1006 * host/usrper/usrper.cc: removed uneeded includes
1008 2003-09-04 Eric Blossom <eb@comsec.com>
1010 * firmware/basic_fw/src/usrp_commands.h,
1011 firmware/basic_fw/src/command_loop.c (do_set_sleep_bits),
1012 host/usrper/usrper.cc (usrp_set_sleep_bits): added command to slam
1013 the A/D and D/A sleep control lines.
1016 2003-08-30 Eric Blossom <eb@comsec.com>
1018 * firmware/basic_fw/src/usrp_commands.h: removed obsolete
1019 foo_CLR_bar commands. Added UCMD_SET_GSTATE_OUTPUT_ENABLE to
1020 enable the output of the GPIF state on the low 3 bits of Port E.
1022 * host/usrper/usrper.cc (usrper_load_firmware): now implements
1023 "load_firmware" command.
1025 2003-08-17 Eric Blossom <eb@comsec.com>
1027 * host/usrper/usrper.cc (usrper_load_fpga),
1028 firmware/basic_fw/src/fpga.c: changed load_fpga to expect a byte
1029 count, not a bit count in the xfer packet.
1031 * firmware/basic_fw/src/fpga.c (do_fpga_config_start): cleanup,
1032 add appropriate delay.
1034 * firmware/basic_fw/src/usrp_common.c (udelay1, udelay): new delay functions
1036 2003-07-30 Eric Blossom <eb@comsec.com>
1038 * firmware/basic_fw/include/fx2regs.h: changed sfr and sbit syntax
1039 to match what SDCC expects. Now the SFR's are really allocated
1040 where they are supposed to be ;-)
1043 # Copyright 2003,2004,2005 Free Software Foundation, Inc.
1045 # This file is part of GNU Radio
1047 # GNU Radio is free software; you can redistribute it and/or modify
1048 # it under the terms of the GNU General Public License as published by
1049 # the Free Software Foundation; either version 2, or (at your option)
1050 # any later version.
1052 # GNU Radio is distributed in the hope that it will be useful,
1053 # but WITHOUT ANY WARRANTY; without even the implied warranty of
1054 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1055 # GNU General Public License for more details.
1057 # You should have received a copy of the GNU General Public License
1058 # along with GNU Radio; see the file COPYING. If not, write to
1059 # the Free Software Foundation, Inc., 51 Franklin Street,
1060 # Boston, MA 02110-1301, USA.