g_signal_connect (discover_b, "button-press-event", G_CALLBACK(discover_cb), NULL);
gtk_grid_attach(GTK_GRID(grid),discover_b,1,1,1,1);
- GtkWidget *tcp_b=gtk_button_new_with_label("Try TCP Addr:");
+ GtkWidget *tcp_b=gtk_button_new_with_label("Use new TCP Addr:");
g_signal_connect (tcp_b, "button-press-event", G_CALLBACK(tcp_cb), NULL);
gtk_grid_attach(GTK_GRID(grid),tcp_b,0,2,1,1);
sprintf(text,"%s (%s) on USB /dev/ozy", d->name, d->protocol==ORIGINAL_PROTOCOL?"Protocol 1":"Protocol 2");
} else {
#endif
- sprintf(text,"%s (%s %s) %s (%02X:%02X:%02X:%02X:%02X:%02X) on %s",
+ sprintf(text,"%s (%s %s) %s (%02X:%02X:%02X:%02X:%02X:%02X) on %s: ",
d->name,
d->protocol==ORIGINAL_PROTOCOL?"Protocol 1":"Protocol 2",
version,
#ifdef STEMLAB_DISCOVERY
case STEMLAB_PROTOCOL:
#ifdef NO_AVAHI
- sprintf(text,"Choose RedPitaya App from %s and start radio:",inet_ntoa(d->info.network.address.sin_addr));
+ sprintf(text,"Choose RedPitaya App from %s and start radio: ",inet_ntoa(d->info.network.address.sin_addr));
#else
sprintf(text, "STEMlab (%02X:%02X:%02X:%02X:%02X:%02X) on %s",
d->info.network.mac_address[0],
gtk_grid_attach(GTK_GRID(grid),exit_b,2,i,1,1);
i++;
- GtkWidget *tcp_b=gtk_button_new_with_label("Try TCP Addr:");
+ GtkWidget *tcp_b=gtk_button_new_with_label("Use new TCP Addr:");
g_signal_connect (tcp_b, "button-press-event", G_CALLBACK(tcp_cb), NULL);
gtk_grid_attach(GTK_GRID(grid),tcp_b,1,i,1,1);
bytes_read=recvfrom(data_socket,buffer,sizeof(buffer),0,(struct sockaddr*)&addr,&length);
if(bytes_read < 0 && errno != EAGAIN) perror("old_protocol recvfrom UDP:");
} else {
- // This should absolutely not happen.
- fprintf(stderr,"Neither TCP nor UDP socket available, exiting!\n");
- exit(-1);
+ // This could happen in METIS start/stop sequences
+ usleep(100000);
+ continue;
}
if(bytes_read >= 0 || errno != EAGAIN) break;
}
if(sendto(tcp_socket,buffer,length,0,NULL, 0) != length) {
perror("sendto socket failed for TCP metis_send_data\n");
}
- } else if (data_socket >= 0{
+ } else if (data_socket >= 0) {
if(sendto(data_socket,buffer,length,0,(struct sockaddr*)&data_addr,sizeof(data_addr))!=length) {
perror("sendto socket failed for UDP metis_send_data\n");
}
} else {
- // This should absolutely not happen.
- fprintf(stderr,"Neither TCP nor UDP socket available, exiting!\n");
+ // This should not happen
+ fprintf(stderr,"METIS send: neither UDP nor TCP socket available!\n");
exit(-1);
}
}
app_list=0;
sprintf(txt,"http://%s/bazaar?apps=", ipaddr_tcp);
curl_error = curl_easy_setopt(curl_handle, CURLOPT_URL, txt);
- curl_error = curl_easy_setopt(curl_handle, CURLOPT_TIMEOUT, (long) 60);
+ curl_error = curl_easy_setopt(curl_handle, CURLOPT_TIMEOUT, (long) 20);
curl_error = curl_easy_setopt(curl_handle, CURLOPT_WRITEFUNCTION, app_list_cb);
curl_easy_setopt(curl_handle, CURLOPT_WRITEDATA, &app_list);
curl_error = curl_easy_perform(curl_handle);
curl_easy_cleanup(curl_handle);
if (curl_error == CURLE_OPERATION_TIMEDOUT) {
- status_text("No Response from RedPitaya in 60 secs");
+ status_text("No Response from RedPitaya in 20 secs");
fprintf(stderr,"60-sec TimeOut met when trying to get list of HPSDR apps from RedPitaya\n");
}
if (curl_error != CURLE_OK) {
fprintf(stderr, "STEMLAB app-list error: %s\n", curl_easy_strerror(curl_error));
return;
}
+ if (app_list == 0) {
+ fprintf(stderr, "Could contact web server but no STEMlab apps found.\n");
+ return;
+ }
//
// Constructe "device" descripter. Hi-Jack the software version to