pull/5/head
Tom Early 8 years ago
parent 16fc442401
commit fb0782c670

@ -48,7 +48,8 @@ FILE *fp = NULL;
time_t tNow = 0;
short streamid_raw = 0;
int moduleport[3] = { 0, 0, 0 };
std::string REPEATER, IP_ADDRESS;
std::string moduleip[3];
std::string REPEATER;
int PORT, PLAY_WAIT, PLAY_DELAY;
bool is_icom = false;
@ -203,6 +204,8 @@ bool read_config(const char *cfgFile)
}
is_icom = strcasecmp(type.c_str(), "icom") ? false : true;
get_value(cfg, std::string(path+".port").c_str(), moduleport[m], 1000, 65535, is_icom ? 20000 : 19998+m);
if (! get_value(cfg, std::string(path+".ip").c_str(), moduleip[m], 7, 15, is_icom ? "172.16.0.20" : "127.0.0.1"))
return true;
}
}
if (0==moduleport[0] && 0==moduleport[1] && 0==moduleport[2]) {
@ -210,9 +213,6 @@ bool read_config(const char *cfgFile)
return true;
}
if (! get_value(cfg, "gateway.internal.ip", IP_ADDRESS, 7, 15, is_icom ? "172.16.0.20" : "127.0.0.1"))
return true;
get_value(cfg, "timing.play.wait", PLAY_WAIT, 1, 10, 2);
get_value(cfg, "timing.play.delay", PLAY_DELAY, 9, 25, 19);
@ -266,6 +266,7 @@ int main(int argc, char *argv[])
}
PORT = moduleport[module - 'A'];
std::string IP_ADDRESS(moduleip[module - 'A']);
if (0 == PORT) {
printf("module %c has no port defined!\n", module);
return 1;
@ -301,7 +302,7 @@ int main(int argc, char *argv[])
memset(RADIO_ID, ' ', 20);
RADIO_ID[20] = '\0';
memcpy(RADIO_ID, "QnetVoice AMBE Data", 19);
memcpy(RADIO_ID, "QnetVoice", 9);
unsigned long int delay = PLAY_DELAY * 1000L;
sleep(PLAY_WAIT);
@ -312,6 +313,7 @@ int main(int argc, char *argv[])
short int sport = (short int)PORT;
if (dst_open(IP_ADDRESS.c_str(), sport))
return 1;
printf("Opened %s:%u for writing\n", IP_ADDRESS.c_str(), sport);
// Read and reformat and write packets
while (true) {
@ -364,7 +366,15 @@ int main(int argc, char *argv[])
dstr.vpkt.icm_id = 0x20;
dstr.vpkt.dst_rptr_id = dsvt.flagb[0];
dstr.vpkt.snd_rptr_id = dsvt.flagb[1];
dstr.vpkt.snd_term_id = dsvt.flagb[2];
//dstr.vpkt.snd_term_id = dsvt.flagb[2];
if (module == 'A')
dstr.vpkt.snd_term_id = 0x03;
else if (module == 'B')
dstr.vpkt.snd_term_id = 0x01;
else if (module == 'C')
dstr.vpkt.snd_term_id = 0x02;
else
dstr.vpkt.snd_term_id = 0x00;
dstr.vpkt.streamid = htons(streamid_raw);
dstr.vpkt.ctrl = dsvt.counter;
for (int i=0; i<3; i++)

Loading…
Cancel
Save

Powered by TurnKey Linux.