diff options
Diffstat (limited to 'main.cpp')
-rw-r--r-- | main.cpp | 33 |
1 files changed, 31 insertions, 2 deletions
@@ -94,9 +94,11 @@ size_t do_receive(OutputUHD* output_uhd) const size_t correlation_length = 16 * 1024; // 8ms at 2048000 +long user_delay = 0; + void push_to_point_cloud(size_t rx_delay) { - auto points = aligner.get_samples(correlation_length, rx_delay); + auto points = aligner.get_samples(correlation_length, rx_delay + user_delay); if (points.first.size() > 0) { cloud.push_samples(points); @@ -332,7 +334,34 @@ int main(int argc, char **argv) total_samps_read += samps_read; try { - cloud.handle_event(); + std::string keyname = cloud.handle_event(); + if (keyname == "l") { + user_delay += 1; + std::cerr << "User delay: " << user_delay << std::endl; + } + else if (keyname == "e") { + user_delay -= 1; + std::cerr << "User delay: " << user_delay << std::endl; + } + else if (keyname == "z") { + rxgain -= 1; + output_uhd.SetRxGain(rxgain); + } + else if (keyname == "a") { + rxgain += 1; + output_uhd.SetRxGain(rxgain); + } + else if (keyname == "x") { + txgain -= 1; + output_uhd.SetTxGain(txgain); + } + else if (keyname == "s") { + txgain += 1; + output_uhd.SetTxGain(txgain); + } + else if (not keyname.empty()) { + std::cerr << "Press L for later, E for earlier, Z/A to decrease/increase RX gain, X/S for TX gain" << std::endl; + } } catch (sdl_quit &e) { running = false; |