Merge pull request #16 from sdn-ninja/hackrf-bug-fixes-v2

Hackrf bug fixes v2
This commit is contained in:
30hours 2024-05-10 08:09:05 +09:30 committed by GitHub
commit dd339533ce
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 13 additions and 11 deletions

View file

@ -307,7 +307,7 @@ int main(int argc, char **argv)
}
}
});
t2.join();
t1.join();
return 0;

View file

@ -61,7 +61,7 @@ void Capture::process(IqData *buffer1, IqData *buffer2, c4::yml::NodeRef config,
{
device->replay(buffer1, buffer2, file, loop);
}
t1.join();
}
std::unique_ptr<Source> Capture::factory_source(const std::string& type, c4::yml::NodeRef config)

View file

@ -65,6 +65,9 @@ void Source::close_file()
void Source::kill()
{
if (type == "RspDuo")
{
stop();
} else if (type == "HackRF")
{
stop();
}

View file

@ -76,6 +76,9 @@ void HackRf::start()
check_status(status, "Failed to set VGA gain.");
status = hackrf_set_hw_sync_mode(dev[1], 1);
check_status(status, "Failed to enable hardware synchronising.");
status = hackrf_set_clkout_enable(dev[1], 1);
check_status(status, "Failed to set CLKOUT on survillance device");
// reference config
status = hackrf_open_by_serial(serial[0].c_str(), &dev[0]);
@ -104,14 +107,10 @@ void HackRf::stop()
void HackRf::process(IqData *buffer1, IqData *buffer2)
{
int status;
while (true)
{
status = hackrf_start_rx(dev[1], rx_callback, buffer2);
check_status(status, "Failed to start RX streaming.");
status = hackrf_start_rx(dev[0], rx_callback, buffer1);
check_status(status, "Failed to start RX streaming.");
}
status = hackrf_start_rx(dev[1], rx_callback, buffer2);
check_status(status, "Failed to start RX streaming.");
status = hackrf_start_rx(dev[0], rx_callback, buffer1);
check_status(status, "Failed to start RX streaming.");
}
int HackRf::rx_callback(hackrf_transfer* transfer)