$(MIDI_OBJS) $(SERVER_OBJS) $(LIBS)
.PHONY: all
-all: $(PROGRAM) $(HEADERS) $(AUDIO_HEADERS) $(USBOZY_HEADERS) \
+all: $(PROGRAM) hpsdrsim $(HEADERS) $(AUDIO_HEADERS) $(USBOZY_HEADERS) \
$(LOCALCW_HEADERS) \
$(PURESIGNAL_HEADERS) $(MIDI_HEADERS) $(SERVER_HEADERS) \
$(AUDIO_SOURCES) $(SRC) \
double frequency_max;
struct network {
unsigned char mac_address[6];
- // int address_length;
struct sockaddr_in address;
- int interface_length;
struct sockaddr_in interface_address;
struct sockaddr_in interface_netmask;
char interface_name[64];
#include "audio.h"
#include "band.h"
#include "new_protocol.h"
-#include "channel.h"
#include "discovered.h"
#include "mode.h"
-#include "filter.h"
#include "radio.h"
#include "receiver.h"
#include "transmitter.h"
#include "signal.h"
#include "vfo.h"
-#include "toolbar.h"
#include "vox.h"
#include "ext.h"
#include "iambic.h"
setsockopt(data_socket, SOL_SOCKET, SO_REUSEPORT, &optval, sizeof(optval));
// bind to the interface
- if(bind(data_socket,(struct sockaddr*)&radio->network.interface_address,radio->network.interface_length)<0) {
+ if(bind(data_socket,(struct sockaddr*)&radio->network.interface_address,sizeof(radio->network.interface_address))<0) {
g_print("metis: bind socket failed for data_socket\n");
exit(-1);
}
-g_print("new_protocol_init: data_socket %d bound to interface %s:%d\n",data_socket,inet_ntoa(radio->network.interface_address.sin_addr),ntohs(radio->network.interface_address.sin_port));
+ g_print("new_protocol_init: data_socket %d bound to interface %s:%d\n",data_socket,inet_ntoa(radio->network.interface_address.sin_addr),ntohs(radio->network.interface_address.sin_port));
- memcpy(&base_addr,&radio->network.address,radio->network.address_length);
- base_addr_length=radio->network.address_length;
+ memcpy(&base_addr,&radio->network.address,sizeof(radio->network.address));
+ base_addr_length = sizeof(radio->network.address);
base_addr.sin_port=htons(GENERAL_REGISTERS_FROM_HOST_PORT);
//g_print("base_addr=%s\n",inet_ntoa(radio->network.address.sin_addr));
- memcpy(&receiver_addr,&radio->network.address,radio->network.address_length);
- receiver_addr_length=radio->network.address_length;
+ memcpy(&receiver_addr,&radio->network.address,sizeof(radio->network.address));
+ receiver_addr_length=sizeof(radio->network.address);
receiver_addr.sin_port=htons(RECEIVER_SPECIFIC_REGISTERS_FROM_HOST_PORT);
//g_print("receive_addr=%s\n",inet_ntoa(radio->network.address.sin_addr));
- memcpy(&transmitter_addr,&radio->network.address,radio->network.address_length);
- transmitter_addr_length=radio->network.address_length;
+ memcpy(&transmitter_addr,&radio->network.address,sizeof(radio->network.address));
+ transmitter_addr_length=sizeof(radio->network.address);
transmitter_addr.sin_port=htons(TRANSMITTER_SPECIFIC_REGISTERS_FROM_HOST_PORT);
//g_print("transmit_addr=%s\n",inet_ntoa(radio->network.address.sin_addr));
- memcpy(&high_priority_addr,&radio->network.address,radio->network.address_length);
- high_priority_addr_length=radio->network.address_length;
+ memcpy(&high_priority_addr,&radio->network.address,sizeof(radio->network.address));
+ high_priority_addr_length=sizeof(radio->network.address);
high_priority_addr.sin_port=htons(HIGH_PRIORITY_FROM_HOST_PORT);
//g_print("high_priority_addr=%s\n",inet_ntoa(radio->network.address.sin_addr));
//g_print("new_protocol_thread: high_priority_addr setup for port %d\n",HIGH_PRIORITY_FROM_HOST_PORT);
- memcpy(&audio_addr,&radio->network.address,radio->network.address_length);
- audio_addr_length=radio->network.address_length;
+ memcpy(&audio_addr,&radio->network.address,sizeof(radio->network.address));
+ audio_addr_length=sizeof(radio->network.address);
audio_addr.sin_port=htons(AUDIO_FROM_HOST_PORT);
//g_print("audio_addr=%s\n",inet_ntoa(radio->network.address.sin_addr));
- memcpy(&iq_addr,&radio->network.address,radio->network.address_length);
- iq_addr_length=radio->network.address_length;
+ memcpy(&iq_addr,&radio->network.address,sizeof(radio->network.address));
+ iq_addr_length=sizeof(radio->network.address);
iq_addr.sin_port=htons(TX_IQ_FROM_HOST_PORT);
//g_print("iq_addr=%s\n",inet_ntoa(radio->network.address.sin_addr));
for(i=0;i<MAX_DDC;i++) {
- memcpy(&data_addr[i],&radio->network.address,radio->network.address_length);
- data_addr_length[i]=radio->network.address_length;
+ memcpy(&data_addr[i],&radio->network.address,sizeof(radio->network.address));
+ data_addr_length[i]=sizeof(radio->network.address);
data_addr[i].sin_port=htons(RX_IQ_TO_HOST_PORT_0+i);
}
DISCOVERED* d=&discovered[selected_device];
- memcpy(&program_addr,&d->network.address,d->network.address_length);
- program_addr_length=d->network.address_length;
+ memcpy(&program_addr,&d->network.address,sizeof(d->network.address));
+ program_addr_length=sizeof(d->network.address);
program_addr.sin_port=htons(PROGRAMMING_FROM_HOST_PORT);
FILE *fp;
// bind to the interface
log_trace("binding UDP socket to %s:%d\n",inet_ntoa(radio->network.interface_address.sin_addr),ntohs(radio->network.interface_address.sin_port));
- if(bind(tmp,(struct sockaddr*)&radio->network.interface_address,radio->network.interface_length)<0) {
+ if(bind(tmp,(struct sockaddr*)&radio->network.interface_address,sizeof(radio->network.interface_address))<0) {
log_error("old_protocol: bind socket failed for data_socket: %s", strerror(errno));
exit(-1);
}
- memcpy(&data_addr,&radio->network.address,radio->network.address_length);
+ memcpy(&data_addr,&radio->network.address,sizeof(radio->network.address));
data_addr.sin_port=htons(DATA_PORT);
data_socket=tmp;
log_trace("%s: UDP socket established: %d for %s:%d",__FUNCTION__,data_socket,inet_ntoa(data_addr.sin_addr),ntohs(data_addr.sin_port));
usleep(100000);
close(tmp);
}
- memcpy(&data_addr,&radio->network.address,radio->network.address_length);
+ memcpy(&data_addr,&radio->network.address,sizeof(radio->network.address));
data_addr.sin_port=htons(DATA_PORT);
data_addr.sin_family = AF_INET;
log_trace("Trying to open TCP connection to %s", inet_ntoa(radio->network.address.sin_addr));
//
memcpy((void *)&discovered[rc].network.address,
(void *)&to_addr, sizeof(to_addr));
- // discovered[rc].network.address_length = sizeof(to_addr);
memcpy((void *)&discovered[rc].network.interface_address,
(void *)&to_addr, sizeof(to_addr));
memcpy((void *)&discovered[rc].network.interface_netmask,
(void *)&to_addr, sizeof(to_addr));
- discovered[rc].network.interface_length = sizeof(to_addr);
strcpy(discovered[rc].network.interface_name, "TCP");
discovered[rc].use_tcp = 1;
}
discovered[devices].status = status;
memcpy((void *)&discovered[devices].network.address,
(void *)&addr, sizeof(addr));
- //discovered[devices].network.address_length =
- // sizeof(addr);
memcpy((void *)&discovered[devices]
.network.interface_address,
(void *)&interface_addr, sizeof(interface_addr));
.network.interface_netmask,
(void *)&interface_netmask,
sizeof(interface_netmask));
- discovered[devices].network.interface_length =
- sizeof(interface_addr);
strcpy(discovered[devices].network.interface_name,
interface_name);
discovered[devices].use_tcp = 0;
discovered[devices].network.mac_address[i]=buffer[i+5];
}
memcpy((void*)&discovered[devices].network.address,(void*)&addr,sizeof(addr));
- discovered[devices].network.address_length=sizeof(addr);
memcpy((void*)&discovered[devices].network.interface_address,(void*)&interface_addr,sizeof(interface_addr));
memcpy((void*)&discovered[devices].network.interface_netmask,(void*)&interface_netmask,sizeof(interface_netmask));
- discovered[devices].network.interface_length=sizeof(interface_addr);
strcpy(discovered[devices].network.interface_name,interface_name);
discovered[devices].supported_receivers=2;
fprintf(stderr,"p2_discover: found %d protocol=%d device=%d software_version=%d status=%d address=%s (%02X:%02X:%02X:%02X:%02X:%02X) on %s\n",