mirror of
				https://github.com/f4exb/sdrangel.git
				synced 2025-10-29 20:10:22 -04:00 
			
		
		
		
	LimeSDR input: interim state (1)
This commit is contained in:
		
							parent
							
								
									a24236a300
								
							
						
					
					
						commit
						ed47cc4d2e
					
				| @ -19,6 +19,8 @@ | |||||||
| #include "dsp/filerecord.h" | #include "dsp/filerecord.h" | ||||||
| #include "device/devicesourceapi.h" | #include "device/devicesourceapi.h" | ||||||
| #include "device/devicesinkapi.h" | #include "device/devicesinkapi.h" | ||||||
|  | #include "plutosdr/deviceplutosdrparams.h" | ||||||
|  | #include "plutosdr/deviceplutosdrbox.h" | ||||||
| 
 | 
 | ||||||
| #include "plutosdrinput.h" | #include "plutosdrinput.h" | ||||||
| 
 | 
 | ||||||
| @ -90,7 +92,53 @@ bool PlutoSDRInput::handleMessage(const Message& message) | |||||||
| 
 | 
 | ||||||
| bool PlutoSDRInput::openDevice() | bool PlutoSDRInput::openDevice() | ||||||
| { | { | ||||||
|  |     if (!m_sampleFifo.setSize(96000 * 4)) | ||||||
|  |     { | ||||||
|  |         qCritical("PlutoSDRInput::openDevice: could not allocate SampleFifo"); | ||||||
|  |         return false; | ||||||
|  |     } | ||||||
|  |     else | ||||||
|  |     { | ||||||
|  |         qDebug("PlutoSDRInput::openDevice: allocated SampleFifo"); | ||||||
|  |     } | ||||||
| 
 | 
 | ||||||
|  |     // look for Tx buddy and get reference to common parameters
 | ||||||
|  |     if (m_deviceAPI->getSinkBuddies().size() > 0) // then sink
 | ||||||
|  |     { | ||||||
|  |         qDebug("PlutoSDRInput::openDevice: look at Tx buddy"); | ||||||
|  | 
 | ||||||
|  |         DeviceSinkAPI *sinkBuddy = m_deviceAPI->getSinkBuddies()[0]; | ||||||
|  |         m_deviceShared = *((DevicePlutoSDRShared *) sinkBuddy->getBuddySharedPtr()); // copy parameters
 | ||||||
|  | 
 | ||||||
|  |         if (m_deviceShared.m_deviceParams == 0) | ||||||
|  |         { | ||||||
|  |             qCritical("PlutoSDRInput::openDevice: cannot get device parameters from Tx buddy"); | ||||||
|  |             return false; // the device params should have been created by the buddy
 | ||||||
|  |         } | ||||||
|  |         else | ||||||
|  |         { | ||||||
|  |             qDebug("PlutoSDRInput::openDevice: getting device parameters from Tx buddy"); | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |     // There is no buddy then create the first PlutoSDR common parameters
 | ||||||
|  |     // open the device this will also populate common fields
 | ||||||
|  |     else | ||||||
|  |     { | ||||||
|  |         qDebug("PlutoSDRInput::openDevice: open device here"); | ||||||
|  | 
 | ||||||
|  |         m_deviceShared.m_deviceParams = new DevicePlutoSDRParams(); | ||||||
|  |         char serial[256]; | ||||||
|  |         strcpy(serial, qPrintable(m_deviceAPI->getSampleSourceSerial())); | ||||||
|  |         m_deviceShared.m_deviceParams->open(serial); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     m_deviceAPI->setBuddySharedPtr(&m_deviceShared); // propagate common parameters to API
 | ||||||
|  | 
 | ||||||
|  |     // acquire the channel
 | ||||||
|  |     DevicePlutoSDRBox *plutoBox =  m_deviceShared.m_deviceParams->getBox(); | ||||||
|  |     plutoBox->openRx(); | ||||||
|  | 
 | ||||||
|  |     // TODO: get Rx buffer
 | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void PlutoSDRInput::closeDevice() | void PlutoSDRInput::closeDevice() | ||||||
|  | |||||||
| @ -21,7 +21,7 @@ | |||||||
| 
 | 
 | ||||||
| #include <dsp/devicesamplesource.h> | #include <dsp/devicesamplesource.h> | ||||||
| #include "util/message.h" | #include "util/message.h" | ||||||
| 
 | #include "plutosdr/deviceplutosdrshared.h" | ||||||
| #include "plutosdrinputsettings.h" | #include "plutosdrinputsettings.h" | ||||||
| 
 | 
 | ||||||
| class DeviceSourceAPI; | class DeviceSourceAPI; | ||||||
| @ -67,6 +67,7 @@ public: | |||||||
|     QString m_deviceDescription; |     QString m_deviceDescription; | ||||||
|     PlutoSDRInputSettings m_settings; |     PlutoSDRInputSettings m_settings; | ||||||
|     bool m_running; |     bool m_running; | ||||||
|  |     DevicePlutoSDRShared m_deviceShared; | ||||||
|     QMutex m_mutex; |     QMutex m_mutex; | ||||||
| 
 | 
 | ||||||
|     bool openDevice(); |     bool openDevice(); | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user