This is a perfect question for Eric, but unfortunately he is on
vacation. So I'm hoping that maybe Brian or someone can answer who was
involved in the initial design of the inband USB packets :)
The way we have the low-level control/status packets designed, I'm not
sure how the application can ever get a response back correctly.
Heres how we have them defined:
http://gnuradio.org/trac/browser/gnuradio/trunk/usrp/doc/inband-signaling-usb#L116
They use the same packet header as data packets, except the channel is
fixed to 0x1f so they can be deciphered as CS packets easily in the
FPGA. If we do this, how are we ever supposed to properly determine
what application to send the response back to?
The current chain to get a CS packet to the USRP is like this:
Application -> usrp_server -> USRP
It's very straight forward, but sending responses back is a problem:
USRP -> usrp_server -> ?
How does usrp_server, which parses the USB packets, know which
application to send the CS response to? The packets used to be demuxed
by channel since channels are owned by specific applications, and
therefore the channel is read to determine the application. In this
case, the channel says absolutely nothing about the application that
sent it.
So for example, the way the ports are setup:
http://gnuradio.org/trac/browser/gnuradio/branches/developers/gnychis/inband/usrp/host/lib/inband/usrp_server.mbh
usrp-tx includes usrp-low-level-cs so that I can send a PING over a TX
channel that I own, and usrp-rx includes usrp-low-level-cs so that I can
receive the PING response over an RX channel I own. So, sending the
PING works just great, but again how will usrp_server know what RX
channel to place the response on? The packets don't seem setup for this.
It would make more sense if we had a single bit that specified it was a
CS packet, and then the channel specifies which RX channel to send the
response on.
Maybe I'm missing something?
- George
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio