1
- classdef (Abstract ) base < adi .libiio .top & ...
2
- adi .libiio .low_level & ...
3
- matlab .System
1
+ classdef (Abstract ) base < matlab .System
4
2
properties (Hidden , Access = {? handle }, Abstract )
5
3
iioCtx % The LibIIO context pointer
6
4
iioDev % The LibIIO device pointer
59
57
% end
60
58
end
61
59
60
+ % methods(Hidden, Access = protected)
61
+ % function setupImpl(obj)
62
+ % % Setup LibIIO
63
+ % [notfound,warnings]=loadlibrary(obj.libName,'iio.h');
64
+ % obj.libIsLoaded = true;
65
+ %
66
+ % % Initialize pointers and variables
67
+ % obj.iioCtx = libpointer;
68
+ % obj.iioCtxParams = libpointer;
69
+ % obj.iioDev = libpointer;
70
+ % obj.iioBuf = libpointer;
71
+ % obj.contextTimeout = uint32(0);
72
+ %
73
+ % % Get context
74
+ % % obj.iioCtx = calllib(obj.libName, 'iio_create_context', obj.iioCtxParams, obj.uri);
75
+ % obj.iioCtx = adi.libiio.context.iio_create_context(obj.iioCtxParams, obj.uri);
76
+ % status = -int32(isNull(obj.iioCtx));% cPtrCheck(obj,obj.iioCtx);
77
+ %
78
+ % % Set context timeout
79
+ % % status = calllib(obj.libName, 'iio_context_set_timeout', obj.iioCtx, obj.contextTimeout);
80
+ %
81
+ % % Get AD9361 PHY device
82
+ % % obj.iioDev = calllib(obj.libName, 'iio_context_find_device', obj.iioCtx, 'ad9361-phy');
83
+ % obj.iioDev = adi.libiio.context.iio_context_find_device(obj.iioCtx, 'ad9361-phy');
84
+ %
85
+ % obj.needsTeardown = true;
86
+ %
87
+ % % Device-specific setup
88
+ % configureChanBuffers(obj);
89
+ %
90
+ % % Find AD9361 LO channel
91
+ % % obj.iioChn = calllib(obj.libName, 'iio_device_find_channel', obj.iioDev, 'altvoltage0', true);
92
+ % obj.iioChn = adi.libiio.device.iio_device_find_channel(obj.iioDev, 'altvoltage0', true);
93
+ %
94
+ % % obj.iioAttr = calllib(obj.libName, 'iio_channel_find_attr', obj.iioChn, 'frequency');
95
+ %
96
+ % % status = calllib(obj.libName, 'iio_attr_write_longlong', obj.iioAttr, obj.CenterFrequency);
97
+ % end
98
+ %
99
+ % function releaseImpl(obj)
100
+ % unloadlibrary(obj.libName);
101
+ % end
102
+ % end
103
+
62
104
methods (Hidden , Access = protected )
63
105
function setupImpl(obj )
64
106
% Setup LibIIO
65
- [notfound ,warnings ]=loadlibrary(obj .libName ,' iio.h' );
107
+ [notfound , warnings ]=loadlibrary(obj .libName ,' iio.h' );
66
108
obj.libIsLoaded = true ;
67
109
68
110
% Initialize pointers and variables
@@ -73,15 +115,10 @@ function setupImpl(obj)
73
115
obj.contextTimeout = uint32(0 );
74
116
75
117
% Get context
76
- % obj.iioCtx = calllib(obj.libName, 'iio_create_context', obj.iioCtxParams, obj.uri);
77
118
obj.iioCtx = adi .libiio .context .iio_create_context(obj .iioCtxParams , obj .uri );
78
- status = - int32(isNull(obj .iioCtx ));% cPtrCheck(obj,obj.iioCtx);
119
+ status = - int32(isNull(obj .iioCtx ));
79
120
80
- % Set context timeout
81
- % status = calllib(obj.libName, 'iio_context_set_timeout', obj.iioCtx, obj.contextTimeout);
82
-
83
121
% Get AD9361 PHY device
84
- % obj.iioDev = calllib(obj.libName, 'iio_context_find_device', obj.iioCtx, 'ad9361-phy');
85
122
obj.iioDev = adi .libiio .context .iio_context_find_device(obj .iioCtx , ' ad9361-phy' );
86
123
87
124
obj.needsTeardown = true ;
@@ -90,12 +127,7 @@ function setupImpl(obj)
90
127
configureChanBuffers(obj );
91
128
92
129
% Find AD9361 LO channel
93
- % obj.iioChn = calllib(obj.libName, 'iio_device_find_channel', obj.iioDev, 'altvoltage0', true);
94
130
obj.iioChn = adi .libiio .device .iio_device_find_channel(obj .iioDev , ' altvoltage0' , true );
95
-
96
- % obj.iioAttr = calllib(obj.libName, 'iio_channel_find_attr', obj.iioChn, 'frequency');
97
-
98
- % status = calllib(obj.libName, 'iio_attr_write_longlong', obj.iioAttr, obj.CenterFrequency);
99
131
end
100
132
101
133
function releaseImpl(obj )
0 commit comments