コード例 #1
0
 unsafe private NetHackrf(libhackrf.hackrf_device *device) // NetHackrf class constructor. hackrf_device_info.OpenDevice() is needed to create NetHackrf object
 {
     this.device = device;
     mode        = transceiver_mode_t.OFF;
     TxStarted   = false;
     disposed    = false;
 }
コード例 #2
0
 unsafe public HackRFStream StartTX()
 {
     if (mode == transceiver_mode_t.OFF)
     {
         mode            = transceiver_mode_t.TX;
         stream          = new HackRFStream(this);
         stream.callback = stream.StreamCallback;
         return(stream);
     }
     else
     {
         throw new Exception("Device is already streaming. Firstly close existing stream.");
     }
 }
コード例 #3
0
ファイル: nethackrf.cs プロジェクト: 5l1v3r1/nethackrf
 unsafe public HackRFStream StartTX() // creates hackrfstream to read interleaved IQ data. hackrf transmitter won't startup until first write operation occures
 {
     if (mode == transceiver_mode_t.OFF)
     {
         mode            = transceiver_mode_t.TX;
         stream          = new HackRFStream(this);
         stream.callback = stream.StreamCallback; // delegate is needed to get cdecl pointer to StreamCallback method
         return(stream);                          // start_tx(...) method is not called because there's no data to transmit yet
     }
     else
     {
         throw new Exception("Device is already streaming. Firstly close existing stream.");
     }
 }
コード例 #4
0
 } // sets external amp on/off
 unsafe public HackRFStream StartRX()
 {
     if (mode == transceiver_mode_t.OFF)
     {
         mode            = transceiver_mode_t.RX;
         stream          = new HackRFStream(this);
         stream.callback = stream.StreamCallback;
         libhackrf.hackrf_start_rx(device, Marshal.GetFunctionPointerForDelegate <libhackrf.hackrf_delegate>(stream.callback), null);
         return(stream);
     }
     else
     {
         throw new Exception("Device is already streaming. Firstly close existing stream.");
     }
 }
コード例 #5
0
ファイル: nethackrf.cs プロジェクト: 5l1v3r1/nethackrf
 unsafe public HackRFStream StartRX() // creates hackrfstream to read interleaved IQ data and starts hackrf receiver
 {
     if (mode == transceiver_mode_t.OFF)
     {
         mode            = transceiver_mode_t.RX;
         stream          = new HackRFStream(this);
         stream.callback = stream.StreamCallback; // delegate is needed to get cdecl pointer to StreamCallback method
         libhackrf.hackrf_start_rx(device, Marshal.GetFunctionPointerForDelegate <libhackrf.hackrf_delegate>(stream.callback), null);
         return(stream);
     }
     else
     {
         throw new Exception("Device is already streaming. Firstly close existing stream.");
     }
 }