Changeset 9646
- Timestamp:
- 09/23/08 18:04:30
- Files:
-
- gnuradio/branches/developers/eb/u2-wip/gr-usrp2/src/rx_16sc_handler.h (modified) (1 diff)
- gnuradio/branches/developers/eb/u2-wip/gr-usrp2/src/rx_32fc_handler.h (modified) (1 diff)
- gnuradio/branches/developers/eb/u2-wip/gr-usrp2/src/usrp2_sink_16sc.cc (modified) (1 diff)
- gnuradio/branches/developers/eb/u2-wip/gr-usrp2/src/usrp2_sink_32fc.cc (modified) (1 diff)
- gnuradio/branches/developers/eb/u2-wip/usrp2/host/apps/rx_streaming_samples.cc (modified) (11 diffs)
- gnuradio/branches/developers/eb/u2-wip/usrp2/host/apps/tx_samples.cc (modified) (1 diff)
- gnuradio/branches/developers/eb/u2-wip/usrp2/host/include/usrp2/copiers.h (modified) (2 diffs)
- gnuradio/branches/developers/eb/u2-wip/usrp2/host/include/usrp2/usrp2.h (modified) (3 diffs)
- gnuradio/branches/developers/eb/u2-wip/usrp2/host/lib/copiers.cc (modified) (4 diffs)
- gnuradio/branches/developers/eb/u2-wip/usrp2/host/lib/usrp2.cc (modified) (1 diff)
- gnuradio/branches/developers/eb/u2-wip/usrp2/host/lib/usrp2_impl.cc (modified) (2 diffs)
- gnuradio/branches/developers/eb/u2-wip/usrp2/host/lib/usrp2_impl.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
gnuradio/branches/developers/eb/u2-wip/gr-usrp2/src/rx_16sc_handler.h
r9528 r9646 57 57 58 58 // Copy/reformat/endian swap USRP2 data to destination buffer 59 usrp2::copy_u2_ complex_16_to_host_complex_16(nitems, items, d_dest);59 usrp2::copy_u2_16sc_to_host_16sc(nitems, items, d_dest); 60 60 d_dest += nitems; 61 61 gnuradio/branches/developers/eb/u2-wip/gr-usrp2/src/rx_32fc_handler.h
r9528 r9646 58 58 59 59 // Copy/reformat/endian swap USRP2 data to destination buffer 60 usrp2::copy_u2_ complex_16_to_host_complex_float(nitems, items, d_dest);60 usrp2::copy_u2_16sc_to_host_32fc(nitems, items, d_dest); 61 61 d_dest += nitems; 62 62 gnuradio/branches/developers/eb/u2-wip/gr-usrp2/src/usrp2_sink_16sc.cc
r9641 r9646 63 63 metadata.start_of_burst = 1; 64 64 65 bool ok = d_u2->tx_ complex_int16(0, // FIXME: someday, streams will have channel numbers66 in, noutput_items, &metadata);65 bool ok = d_u2->tx_16sc(0, // FIXME: someday, streams will have channel numbers 66 in, noutput_items, &metadata); 67 67 if (!ok) 68 68 std::cerr << "usrp2_sink_16sc: tx_complex_int16 failed" << std::endl; gnuradio/branches/developers/eb/u2-wip/gr-usrp2/src/usrp2_sink_32fc.cc
r9641 r9646 63 63 metadata.start_of_burst = 1; 64 64 65 bool ok = d_u2->tx_ complex_float(0, // FIXME: someday, streams will have channel numbers66 in, noutput_items, &metadata);65 bool ok = d_u2->tx_32fc(0, // FIXME: someday, streams will have channel numbers 66 in, noutput_items, &metadata); 67 67 if (!ok) 68 std::cerr << "usrp2_sink_32fc: tx_ complex_floatfailed" << std::endl;68 std::cerr << "usrp2_sink_32fc: tx_32fc failed" << std::endl; 69 69 70 70 return noutput_items; gnuradio/branches/developers/eb/u2-wip/usrp2/host/apps/rx_streaming_samples.cc
r9528 r9646 63 63 // FIXME make this a template 64 64 65 class complex_16_file_writer: public usrp2::rx_nop_handler65 class file_writer_16sc : public usrp2::rx_nop_handler 66 66 { 67 67 FILE *d_fp; … … 70 70 public: 71 71 72 complex_16_file_writer(const std::string &filename, uint64_t max_samples)72 file_writer_16sc(const std::string &filename, uint64_t max_samples) 73 73 : usrp2::rx_nop_handler(max_samples), d_filename(filename) 74 74 { … … 80 80 } 81 81 82 ~ complex_16_file_writer();82 ~file_writer_16sc(); 83 83 84 84 bool … … 90 90 std::complex<int16_t> host_items[host_nitems]; 91 91 92 usrp2::copy_u2_ complex_16_to_host_complex_16(nitems, items, host_items);92 usrp2::copy_u2_16sc_to_host_16sc(nitems, items, host_items); 93 93 94 94 size_t n = 0; … … 108 108 }; 109 109 110 complex_16_file_writer::~complex_16_file_writer()110 file_writer_16sc::~file_writer_16sc() 111 111 { 112 112 fclose(d_fp); … … 115 115 // ------------------------------------------------------------------------ 116 116 117 class complex_float_file_writer: public usrp2::rx_nop_handler117 class file_writer_32fc : public usrp2::rx_nop_handler 118 118 { 119 119 FILE *d_fp; … … 122 122 public: 123 123 124 complex_float_file_writer(const std::string &filename, uint64_t max_samples)124 file_writer_32fc(const std::string &filename, uint64_t max_samples) 125 125 : usrp2::rx_nop_handler(max_samples), d_filename(filename) 126 126 { … … 132 132 } 133 133 134 ~ complex_float_file_writer();134 ~file_writer_32fc(); 135 135 136 136 bool … … 142 142 std::complex<float> host_items[host_nitems]; 143 143 144 usrp2::copy_u2_ complex_16_to_host_complex_float(nitems, items, host_items);144 usrp2::copy_u2_16sc_to_host_32fc(nitems, items, host_items); 145 145 146 146 size_t n = 0; … … 160 160 }; 161 161 162 complex_float_file_writer::~complex_float_file_writer()162 file_writer_32fc::~file_writer_32fc() 163 163 { 164 164 fclose(d_fp); … … 279 279 if (output_filename){ 280 280 if (output_shorts) 281 handler = usrp2::rx_nop_handler::sptr(new complex_16_file_writer(output_filename, nsamples));281 handler = usrp2::rx_nop_handler::sptr(new file_writer_16sc(output_filename, nsamples)); 282 282 else 283 handler = usrp2::rx_nop_handler::sptr(new complex_float_file_writer(output_filename, nsamples));283 handler = usrp2::rx_nop_handler::sptr(new file_writer_32fc(output_filename, nsamples)); 284 284 } 285 285 else gnuradio/branches/developers/eb/u2-wip/usrp2/host/apps/tx_samples.cc
r9528 r9646 254 254 // FIXME if r < 9, pad to 9 for minimum packet size constraint 255 255 256 if (!u2->tx_ complex_int16(0, samples, r, &md)){256 if (!u2->tx_16sc(0, samples, r, &md)){ 257 257 fprintf(stderr, "tx_complex_int16 failed\n"); 258 258 break; gnuradio/branches/developers/eb/u2-wip/usrp2/host/include/usrp2/copiers.h
r9528 r9646 34 34 35 35 void 36 copy_u2_ complex_16_to_host_complex_16(size_t nitems,37 const uint32_t *items,38 std::complex<int16_t> *host_items);36 copy_u2_16sc_to_host_16sc(size_t nitems, 37 const uint32_t *items, 38 std::complex<int16_t> *host_items); 39 39 40 40 void 41 copy_u2_ complex_16_to_host_complex_float(size_t nitems,42 const uint32_t *items,43 std::complex<float> *host_items);41 copy_u2_16sc_to_host_32fc(size_t nitems, 42 const uint32_t *items, 43 std::complex<float> *host_items); 44 44 45 45 /* … … 50 50 51 51 void 52 copy_host_ complex_16_to_u2_complex_16(size_t nitems,53 const std::complex<int16_t> *host_items,54 uint32_t *items);52 copy_host_16sc_to_u2_16sc(size_t nitems, 53 const std::complex<int16_t> *host_items, 54 uint32_t *items); 55 55 56 56 void 57 copy_host_ complex_float_to_u2_complex_16(size_t nitems,58 const std::complex<float> *host_items,59 uint32_t *items);57 copy_host_32fc_to_u2_16sc(size_t nitems, 58 const std::complex<float> *host_items, 59 uint32_t *items); 60 60 } 61 61 gnuradio/branches/developers/eb/u2-wip/usrp2/host/include/usrp2/usrp2.h
r9641 r9646 206 206 * 207 207 * \param channel specifies the channel to send them to 208 * \param samples are the samples to transmit 208 * \param samples are the samples to transmit. They should be in the range [-1.0, +1.0] 209 209 * \param nsamples is the number of samples to transmit 210 210 * \param metadata provides the timestamp and flags 211 */ 212 bool tx_complex_float(unsigned int channel, 213 const std::complex<float> *samples, 214 size_t nsamples, 215 const tx_metadata *metadata); 211 * 212 * The complex<float> samples are converted to the appropriate 213 * "on the wire" representation, depending on the current USRP2 214 * configuration. Typically, this is big-endian 16-bit I & Q. 215 */ 216 bool tx_32fc(unsigned int channel, 217 const std::complex<float> *samples, 218 size_t nsamples, 219 const tx_metadata *metadata); 216 220 217 221 /*! … … 222 226 * \param nsamples is the number of samples to transmit 223 227 * \param metadata provides the timestamp and flags 224 */ 225 bool tx_complex_int16(unsigned int channel, 226 const std::complex<int16_t> *samples, 227 size_t nsamples, 228 const tx_metadata *metadata); 228 * 229 * The complex<int16_t> samples are converted to the appropriate 230 * "on the wire" representation, depending on the current USRP2 231 * configuration. Typically, this is big-endian 16-bit I & Q. 232 */ 233 bool tx_16sc(unsigned int channel, 234 const std::complex<int16_t> *samples, 235 size_t nsamples, 236 const tx_metadata *metadata); 229 237 230 238 /*! … … 234 242 * formatted appropriately for the USRP2 and its configuration. 235 243 * This method is used primarily by the system itself. Users 236 * should call tx_ complex_float or tx_complex_16instead.244 * should call tx_32fc or tx_16sc instead. 237 245 * 238 246 * \param channel specifies the channel to send them to gnuradio/branches/developers/eb/u2-wip/usrp2/host/lib/copiers.cc
r9528 r9646 46 46 */ 47 47 void 48 copy_u2_ complex_16_to_host_complex_16(size_t nitems,49 const uint32_t *items,50 std::complex<int16_t> *host_items)48 copy_u2_16sc_to_host_16sc(size_t nitems, 49 const uint32_t *items, 50 std::complex<int16_t> *host_items) 51 51 { 52 52 #ifdef WORDS_BIGENDIAN … … 73 73 */ 74 74 void 75 copy_u2_ complex_16_to_host_complex_float(size_t nitems,76 const uint32_t *items,77 std::complex<float> *host_items)75 copy_u2_16sc_to_host_32fc(size_t nitems, 76 const uint32_t *items, 77 std::complex<float> *host_items) 78 78 { 79 79 for (size_t i = 0; i < nitems; i++){ … … 91 91 */ 92 92 void 93 copy_host_ complex_16_to_u2_complex_16(size_t nitems,94 const std::complex<int16_t> *host_items,95 uint32_t *items)93 copy_host_16sc_to_u2_16sc(size_t nitems, 94 const std::complex<int16_t> *host_items, 95 uint32_t *items) 96 96 { 97 97 #ifdef WORDS_BIGENDIAN … … 119 119 120 120 void 121 copy_host_ complex_float_to_u2_complex_16(size_t nitems,122 const std::complex<float> *host_items,123 uint32_t *items)121 copy_host_32fc_to_u2_16sc(size_t nitems, 122 const std::complex<float> *host_items, 123 uint32_t *items) 124 124 { 125 125 for (size_t i = 0; i < nitems; i++){ gnuradio/branches/developers/eb/u2-wip/usrp2/host/lib/usrp2.cc
r9528 r9646 251 251 252 252 bool 253 usrp2::tx_ complex_float(unsigned int channel,254 const std::complex<float> *samples,255 size_t nsamples,256 const tx_metadata *metadata)257 { 258 return d_impl->tx_ complex_float(channel, samples, nsamples, metadata);259 } 260 261 bool 262 usrp2::tx_ complex_int16(unsigned int channel,263 const std::complex<int16_t> *samples,264 size_t nsamples,265 const tx_metadata *metadata)266 { 267 return d_impl->tx_ complex_int16(channel, samples, nsamples, metadata);253 usrp2::tx_32fc(unsigned int channel, 254 const std::complex<float> *samples, 255 size_t nsamples, 256 const tx_metadata *metadata) 257 { 258 return d_impl->tx_32fc(channel, samples, nsamples, metadata); 259 } 260 261 bool 262 usrp2::tx_16sc(unsigned int channel, 263 const std::complex<int16_t> *samples, 264 size_t nsamples, 265 const tx_metadata *metadata) 266 { 267 return d_impl->tx_16sc(channel, samples, nsamples, metadata); 268 268 } 269 269 gnuradio/branches/developers/eb/u2-wip/usrp2/host/lib/usrp2_impl.cc
r9643 r9646 774 774 775 775 bool 776 usrp2::impl::tx_ complex_float(unsigned int channel,777 const std::complex<float> *samples,778 size_t nsamples,779 const tx_metadata *metadata)776 usrp2::impl::tx_32fc(unsigned int channel, 777 const std::complex<float> *samples, 778 size_t nsamples, 779 const tx_metadata *metadata) 780 780 { 781 781 uint32_t items[nsamples]; 782 copy_host_ complex_float_to_u2_complex_16(nsamples, samples, items);782 copy_host_32fc_to_u2_16sc(nsamples, samples, items); 783 783 return tx_raw(channel, items, nsamples, metadata); 784 784 } 785 785 786 786 bool 787 usrp2::impl::tx_ complex_int16(unsigned int channel,788 const std::complex<int16_t> *samples,789 size_t nsamples,790 const tx_metadata *metadata)787 usrp2::impl::tx_16sc(unsigned int channel, 788 const std::complex<int16_t> *samples, 789 size_t nsamples, 790 const tx_metadata *metadata) 791 791 { 792 792 #ifdef WORDS_BIGENDIAN … … 801 801 802 802 uint32_t items[nsamples]; 803 copy_host_ complex_16_to_u2_complex_16(nsamples, samples, items);803 copy_host_16sc_to_u2_16sc(nsamples, samples, items); 804 804 return tx_raw(channel, items, nsamples, metadata); 805 805 gnuradio/branches/developers/eb/u2-wip/usrp2/host/lib/usrp2_impl.h
r9528 r9646 113 113 bool set_tx_scale_iq(int scale_i, int scale_q); 114 114 115 bool tx_ complex_float(unsigned int channel,116 const std::complex<float> *samples,117 size_t nsamples,118 const tx_metadata *metadata);115 bool tx_32fc(unsigned int channel, 116 const std::complex<float> *samples, 117 size_t nsamples, 118 const tx_metadata *metadata); 119 119 120 bool tx_ complex_int16(unsigned int channel,121 const std::complex<int16_t> *samples,122 size_t nsamples,123 const tx_metadata *metadata);120 bool tx_16sc(unsigned int channel, 121 const std::complex<int16_t> *samples, 122 size_t nsamples, 123 const tx_metadata *metadata); 124 124 125 125 bool tx_raw(unsigned int channel,
