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
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
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
Josh Blum
4eff47a4b6
Tweak with the udp and zero-copy transport. Eventually, the caller will hang onto a ring of managed buffers.
2010-05-27 14:10:50 -07:00
Josh Blum
17c494b79a
Added tx timed samples example.
...
Added called to device to get max samples per packet.
Removed device props that gave max samples per packet.
2010-05-18 14:26:43 -07:00
Josh Blum
eaa1508dcf
Added send and recv modes to the device class and packet handler implementation.
2010-05-18 12:34:04 -07:00
Josh Blum
101afd526d
Created inline send vrt packer function that also handles fragmentation.
2010-05-17 18:47:33 -07:00
Josh Blum
d9cc352ed1
work on generic packet handler (got rx working)
2010-05-17 13:22:26 -07:00
Josh Blum
d20595a3fe
calculate max samples per packet using otw type
2010-05-17 09:52:43 -07:00
Josh Blum
650e0d9b35
Merge branch 'shrinkfw' into usrp2
2010-05-10 14:18:00 -07:00
Josh Blum
8ebe12659c
fix for first seqno on rx, init the variable
2010-05-07 11:31:18 -07:00
Josh Blum
a7c230cb1f
Added reload flag to the stream cmd.
...
This reloads the last command to handle continuous streaming in hardware.
Moved rx control register setup and stream command issuing to the host.
2010-04-28 16:35:22 -07:00
Josh Blum
51a9c2d42d
Created a usrp2 interface class with the control, spi, peek/poke functionality.
...
Its used in all the implementation level code
2010-04-13 17:48:48 -07:00
Josh Blum
389a72ef59
merged unit type and gpio bank for dboard interface into one type, expanded dboard clock config api
2010-04-12 16:52:18 -07:00
Josh Blum
b87d9afe82
Merge branch 'rfx' of git@ettus.sourcerepo.com:ettus/uhd into io
...
Conflicts:
host/lib/usrp/usrp2/io_impl.cpp
2010-04-12 15:19:25 -07:00
Josh Blum
24ca9fbd07
store the mtu and hdr len stuff only in the usrp2 impl
2010-04-12 14:31:46 -07:00
Josh Blum
e611e610f6
Added data type conversion routines to transport api.
2010-04-12 13:39:09 -07:00
Josh Blum
0021abf18a
Created zero copy interface/framework, made use of it in usrp2 udp transport stuff.
2010-04-12 12:22:29 -07:00
Josh Blum
d743784919
converted timespec to use nanoseconds for fractional part
2010-04-08 10:57:16 -07:00
Josh Blum
8740bc7149
handle tx fragment eob flag case
2010-04-05 18:32:33 -07:00