aboutsummaryrefslogtreecommitdiffstats
path: root/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'main.cpp')
-rw-r--r--main.cpp33
1 files changed, 31 insertions, 2 deletions
diff --git a/main.cpp b/main.cpp
index 46137f7..ee12d0a 100644
--- a/main.cpp
+++ b/main.cpp
@@ -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;