From: c vw Date: Mon, 19 Nov 2018 14:12:33 +0000 (+0100) Subject: Adapted to latest STEMlab software X-Git-Url: https://git.rkrishnan.org/%5B/flags/-?a=commitdiff_plain;h=0137c3e02eebbdd371e745adcdbc2c89ac0f9ebf;p=pihpsdr.git Adapted to latest STEMlab software --- diff --git a/discovered.h b/discovered.h index 1458e2c..e7d18fc 100644 --- a/discovered.h +++ b/discovered.h @@ -36,6 +36,8 @@ #define DEVICE_HERMES_LITE 6 // 8000DLE uses 10 as the device type in old protocol #define DEVICE_ORION2 10 +// Newer STEMlab hpsdr emulators use 100 instead of 1 +#define DEVICE_STEMLAB 100 #ifdef USBOZY #define DEVICE_OZY 7 diff --git a/old_discovery.c b/old_discovery.c index a2cf009..620a28b 100644 --- a/old_discovery.c +++ b/old_discovery.c @@ -189,6 +189,10 @@ fprintf(stderr,"discover_receive_thread\n"); case DEVICE_ORION2: strcpy(discovered[devices].name,"Orion 2"); break; + case DEVICE_STEMLAB: + // In most respects similar to HERMES, but this indicates TCP capability + strcpy(discovered[devices].name,"STEMlab"); + break; default: strcpy(discovered[devices].name,"Unknown"); break; diff --git a/old_protocol.c b/old_protocol.c index 0ac2e79..4a40492 100644 --- a/old_protocol.c +++ b/old_protocol.c @@ -637,13 +637,13 @@ static void process_ozy_input_buffer(unsigned char *buffer) { } break; case 2: - if(device==DEVICE_HERMES) { + if(device==DEVICE_HERMES || device==DEVICE_STEMLAB) { left_sample_double_rx=left_sample_double; right_sample_double_rx=right_sample_double; } break; case 3: - if(device==DEVICE_HERMES) { + if(device==DEVICE_HERMES || device==DEVICE_STEMLAB) { left_sample_double_tx=left_sample_double; right_sample_double_tx=right_sample_double; add_ps_iq_samples(transmitter, left_sample_double_tx,right_sample_double_tx,left_sample_double_rx,right_sample_double_rx); diff --git a/radio_menu.c b/radio_menu.c index be2658a..2213e40 100644 --- a/radio_menu.c +++ b/radio_menu.c @@ -118,11 +118,6 @@ static void load_filters(void) { } } att_type_changed(); - if (filter_board == CHARLY25) { - if (use_tcp_b) gtk_widget_show(use_tcp_b); - } else { - if (use_tcp_b) gtk_widget_hide(use_tcp_b); - } } static void none_cb(GtkWidget *widget, gpointer data) { @@ -390,7 +385,8 @@ void radio_menu(GtkWidget *parent) { g_signal_connect(apollo_b, "toggled", G_CALLBACK(apollo_cb), NULL); g_signal_connect(charly25_b, "toggled", G_CALLBACK(charly25_cb), NULL); - if (protocol == ORIGINAL_PROTOCOL) { + if (protocol == ORIGINAL_PROTOCOL && device==DEVICE_STEMLAB) { + // Currently, STEMlab supports TCP switching, but RADIOBERRY might do this as well use_tcp_b = gtk_check_button_new_with_label("Use TCP not UDP"); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(use_tcp_b), use_tcp==1); gtk_grid_attach(GTK_GRID(grid), use_tcp_b, x, 6, 1, 1); @@ -475,7 +471,5 @@ void radio_menu(GtkWidget *parent) { sub_menu=dialog; gtk_widget_show_all(dialog); - // Only show this buttion if the C25 filter board is selected - if (filter_board != CHARLY25) gtk_widget_hide(use_tcp_b); } diff --git a/receiver.c b/receiver.c index 2817602..3db664d 100644 --- a/receiver.c +++ b/receiver.c @@ -848,6 +848,7 @@ fprintf(stderr,"create_receiver: id=%d buffer_size=%d fft_size=%d pixels=%d fps= case DEVICE_METIS: case DEVICE_HERMES: case DEVICE_HERMES_LITE: + case DEVICE_STEMLAB: rx->adc=0; break; default: diff --git a/rx_menu.c b/rx_menu.c index 528284a..129f954 100644 --- a/rx_menu.c +++ b/rx_menu.c @@ -296,6 +296,7 @@ void rx_menu(GtkWidget *parent) { break; case DEVICE_HERMES: case DEVICE_HERMES_LITE: + case DEVICE_STEMLAB: n_adc=1; break; default: diff --git a/transmitter.c b/transmitter.c index b4c17c9..41ba392 100644 --- a/transmitter.c +++ b/transmitter.c @@ -329,7 +329,7 @@ static gboolean update_display(gpointer data) { double constant1=3.3; double constant2=0.095; - if(protocol==ORIGINAL_PROTOCOL) { + if(protocol==ORIGINAL_PROTOCOL) { switch(device) { case DEVICE_METIS: constant1=3.3;