Skip to content

Commit

Permalink
matlab bindings: (WIP) Update to AD9361 streaming example
Browse files Browse the repository at this point in the history
Signed-off-by: Pagadarai <Srikanth.Pagadarai@analog.com>
  • Loading branch information
SrikanthPagadarai committed Jan 29, 2025
1 parent e417fb7 commit 2cfb0b5
Showing 1 changed file with 29 additions and 2 deletions.
31 changes: 29 additions & 2 deletions bindings/matlab/examples/ad9361_iiostream.m
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,7 @@
TxCfg.RFPort = 'A';

fprintf("* Acquiring IIO context\n");
iioCtxParams = libpointer;
iioCtx = adi.libiio.context.iio_create_context(iioCtxParams, uri);
iioCtx = adi.libiio.context.iio_create_context(uri);
count = adi.libiio.context.iio_context_get_devices_count(iioCtx);

fprintf("* Acquiring AD9361 streaming devices\n");
Expand Down Expand Up @@ -66,4 +65,32 @@
loTx = adi.libiio.channel.iio_channel_find_attr(ad9361TxLOChn, 'frequency');
status = adi.libiio.attribute.iio_attr_write_longlong(loTx, TxCfg.LOHz);
assert(status==0);

fprintf("* Initializing AD9361 IIO streaming channels\n");
ad9361Rx0_i = adi.libiio.device.iio_device_find_channel(iioDevRx, 'voltage0', false);
assert(ad9361Rx0_i.isNull==0);
ad9361Rx0_q = adi.libiio.device.iio_device_find_channel(iioDevRx, 'voltage1', false);
assert(ad9361Rx0_q.isNull==0);
ad9361Tx0_i = adi.libiio.device.iio_device_find_channel(iioDevTx, 'voltage0', true);
assert(ad9361Tx0_i.isNull==0);
ad9361Tx0_q = adi.libiio.device.iio_device_find_channel(iioDevTx, 'voltage1', true);
assert(ad9361Tx0_q.isNull==0);
ad9361RxMask = adi.libiio.lowlevel.iio_create_channels_mask(adi.libiio.device.iio_device_get_channels_count(iioDevRx));
assert(ad9361RxMask.isNull==0);
ad9361TxMask = adi.libiio.lowlevel.iio_create_channels_mask(adi.libiio.device.iio_device_get_channels_count(iioDevTx));
assert(ad9361TxMask.isNull==0);

fprintf("* Enabling IIO streaming channels\n");
adi.libiio.channel.iio_channel_enable(ad9361Rx0_i, ad9361RxMask);
adi.libiio.channel.iio_channel_enable(ad9361Rx0_q, ad9361RxMask);
adi.libiio.channel.iio_channel_enable(ad9361Tx0_i, ad9361TxMask);
adi.libiio.channel.iio_channel_enable(ad9361Tx0_q, ad9361TxMask);

fprintf("* Creating non-cyclic IIO buffers with 1 MiS\n");
ad9361RxBuffer = adi.libiio.buffer.iio_device_create_buffer(iioDevRx, 0, ad9361RxMask);
assert(ad9361RxBuffer.isNull==0);
ad9361TxBuffer = adi.libiio.buffer.iio_device_create_buffer(iioDevTx, 0, ad9361TxMask);
assert(ad9361TxBuffer.isNull==0);

adi.libiio.context.iio_context_destroy(iioCtx);
% unloadlibrary('libiio1');

0 comments on commit 2cfb0b5

Please sign in to comment.