Josh Blum
d35b732771
Merge branch 'flow_ctrl' into next
2010-11-23 09:57:33 -08:00
Josh Blum
e7b98030eb
usrp2: ms didnt seem to like unlocking an unlocked mutex
2010-11-22 12:23:04 -08:00
Nick Foster
95cf7753c1
Merge branch 'master' of ettus.sourcerepo.com:ettus/uhdpriv into flow_ctrl
...
Conflicts:
host/lib/transport/udp_simple.cpp
host/lib/usrp/usrp2/mboard_impl.cpp
host/lib/usrp/usrp2/usrp2_iface.cpp
host/lib/usrp/usrp2/usrp2_regs.hpp
2010-11-17 18:31:21 -08:00
Josh Blum
c5043c6aec
usrp: use a spawn thread to ensure that a pirate is spawned before continuing (fixes lockup issue)
2010-11-16 11:59:23 -08:00
Josh Blum
81c9f77306
usrp2: implemented clear state for RX and TX control, and zero sample command support
2010-11-08 17:22:37 -08:00
Josh Blum
2628d78e0d
Merge branch 'usrp2_overflow' into flow_ctrl
...
Conflicts:
host/lib/usrp/usrp2/usrp2_impl.hpp
2010-10-21 15:32:20 -07:00
Josh Blum
bd59192bd4
usrp2: handle real overflow packets in host, reload continuous stream cmd, remove firmware handling
2010-10-21 12:27:49 -07:00
Josh Blum
5bf9e60baf
Merge branch 'master' into flow_ctrl
...
Conflicts:
host/lib/usrp/usrp2/io_impl.cpp
2010-10-18 17:04:08 -07:00
Josh Blum
816a07bee5
usrp2: make the booty smaller than the number of recv frames
...
This may fix some of our woes when the host cannot keep up.
That is, with a smaller booty, the managed buffers will get
freed up and the call to get buffer will never block waiting
for a buffer to become free. This has several side effects:
1)
Overflows are more likely to occur in the pirate thread.
Pirate-based overflows will overwrite old packets, whereas
socket-based overflows will discard newer incoming packets.
2)
The pirate thread will continue to pull in async packets
rather than loosing them in a socket-based overflow.
2010-10-16 01:18:47 -07:00
Josh Blum
a2abd6bc61
usrp2: dont need to start streaming for this hack
2010-10-15 17:05:45 -07:00
Josh Blum
972fae172a
usrp2: temp fix to send dummy packets and flush so FPGA vita machine are in known state
2010-10-15 14:37:26 -07:00
Josh Blum
4582a2deb3
usrp2: move udp port initialization into mboard impl so its done before async registers are setup
2010-10-14 11:51:48 -07:00
Josh Blum
c25fd486f8
udp: fix to use concurrency hint, default hint is zero when no async enabled
2010-10-13 15:01:45 -07:00
Josh Blum
35eda148fc
usrp2: increment tx sequence after commit
2010-10-13 11:59:15 -07:00
Josh Blum
f9755b0ab3
uhd: test eob ack message, usrp2: remove rx drain on init with the promise of a reset register
2010-10-12 10:55:07 -07:00
Josh Blum
b49e2955b0
usrp2: enable the cycles per ack, and drain recv without the timeout (fixes previous conflict)
2010-10-11 18:38:06 -07:00
Josh Blum
1314feb429
usrp2: use 32-bit flow control sequence numbers
2010-10-11 18:09:56 -07:00
Josh Blum
453b450aa2
usrp2: implemented flow control monitor
...
set registers in mboard impl to enable asyn fc packets
modified microblaze code to handle dummy data packet offset
2010-10-11 16:31:51 -07:00
Josh Blum
369c0e1dbc
usrp2: implement fc seq number on tx header packing
2010-10-11 10:12:14 -07:00
Josh Blum
0059e62ed0
usrp2: moved samples per packet calculation into io_impl
2010-10-07 10:43:58 -07:00
Josh Blum
0cd5375b5c
uhd: replaced frame params for the zero copy interfaces with a device address
...
the device address gives a key, value pair of infinite optional capabilities
added a cast option to the device address to cast string to type T
added call to the zero_copy_if to get send and recv frame sizes
changed the usrp2 impl to calculate recv/send spp from the data transport
2010-10-05 10:30:28 -07:00
Josh Blum
4fd922ba3a
usrp2: removed extra print-outs in init
2010-10-04 09:48:25 -07:00
Josh Blum
00cd601840
uhd: implemented a double timeout (in seconds) for send and recv chains
...
converted all size_t timeout_ms to double timeout
bounded and alignment buffer now take double timeout
added timeout to device::send and zero_copy_if::get_send_buff
2010-10-01 18:22:41 -07:00
Josh Blum
2c8a7c7deb
uhd: implemented recv timeout for zero copy interface
2010-09-30 14:36:24 -07:00
Josh Blum
2f62c39b71
uhd: fix warning by adding brackets for while(cond){};
2010-09-27 11:35:28 -07:00
Josh Blum
000578892e
usrp1: reworked the io_impl for usrp1 to use the vrt packet handler
...
used dummy packers and unpackets that have a header size of zero
created wrapper around the data transport to handle non-512 multiple sends
honor the eob flag on send to flush the send buffer
2010-09-22 17:36:18 -07:00
Josh Blum
11c83c6010
usrp2: flush the error flow messages, issue the stop before register configure to align count
2010-08-31 12:11:43 -07:00
Josh Blum
5dca9e6315
usrp2: stop streaming and drain buffer (if left running)
2010-07-30 11:16:58 -07:00
Josh Blum
693929a9e6
Merge branch 'tx_report'
...
Conflicts:
host/lib/usrp/usrp2/io_impl.cpp
2010-07-26 15:31:03 -07:00
Josh Blum
91db52802a
usrp2: moved timeout into bound callback in io_impl
2010-07-22 17:30:10 -07:00
Josh Blum
19c15883a9
usrp2: added async event types, and common code for handling context words
2010-07-21 19:34:29 -07:00
Josh Blum
90465e6bcd
uhd: added async recv message call to device api
...
implemented in usrp2 io impl
added async metadata type
2010-07-20 18:51:36 -07:00
Josh Blum
8e29df8b31
Merge branch 'master' into tx_report
2010-07-20 16:58:33 -07:00
Josh Blum
5a4545d3f9
uhd: bring timeout parameter to the device::recv call, implement in usrp2
2010-07-20 10:58:22 -07:00
Josh Blum
20381a1c83
usrp2: added registers and handling for tx async reports
2010-07-19 18:56:33 -07:00
Josh Blum
5e7af879c8
usrp2: removed SX packet count stuff from vrt packet handler, moved to usrp2 io impl and replaced with Os
2010-07-09 23:24:41 -07:00
Josh Blum
c898ca9751
uhd: ssize_t for phony zero copy return types, null sptr for timeout/error with get managed buffers
2010-07-09 20:09:45 -07:00
Josh Blum
be430761fb
usrp2: use the actual pointer in bind so the sptr is not copied
2010-07-07 19:32:47 -07:00
Josh Blum
82790f3da8
usrp2: some cleanup and tweaks in io impl
2010-07-05 13:45:15 -07:00
Josh Blum
158bf440d2
usrp2: moved calculations for max packet size and otw types into shared object between device and mboards
2010-07-05 13:45:14 -07:00
Josh Blum
905f5b3b24
usrp2: split mboard impl into its own class, usrp2 device can instantiate N mboard impls for mimo setup (works with 1 for now)
2010-07-05 13:45:13 -07:00
Josh Blum
08fad28f20
uhd: work vectorizing the vrt packet handler, reworked vrt packet stuff, needs testing
2010-07-05 13:45:11 -07:00
Josh Blum
168ab7279c
uhd: work on thread priority scheduling
2010-06-16 18:40:44 -07:00
Josh Blum
0f4eff49c8
Replaced the vrt pack and unpack with a pack and unpack for big endian and a pack and unpack for little endian.
...
The vrt handler code was templatized to take the relevant packer/unpacker as an argument.
2010-06-07 13:23:07 -07:00
Josh Blum
b369d0f020
usrp2 regs naming convention
2010-06-04 17:35:48 -07:00
Josh Blum
b2054a45d4
Created macros for dealing with pimpls and implemented in code.
2010-06-02 17:44:20 -07:00
Josh Blum
a4494bc2c9
use smart pointer for io impl, simplify send buffer callback
2010-06-02 15:21:56 -07:00
Josh Blum
92fd3a514b
disable boost thread interrupt when doing pop with timed wait, fixed error on exit
2010-06-02 14:49:32 -07:00
Josh Blum
212159ca3b
Implemented pirate thread, moved io impl details into io impl cpp file. Fixed bug in bounded buffer push with pop on full.
2010-06-01 17:51:26 -07:00
Josh Blum
bb1eef8cad
Moved the packet handler state stuff into a separate header (so we dont pull in all the includes).
...
Use callback for getting buffers rather than zc interface pointer so its more modular.
2010-06-01 12:23:20 -07:00