|
|
@ -1107,7 +1107,9 @@ static void kickptt(struct chan_usbradio_pvt *o)
|
|
|
|
//printf("kickptt %i %i %i\n",o->txkeyed,o->txchankey,o->txtestkey);
|
|
|
|
//printf("kickptt %i %i %i\n",o->txkeyed,o->txchankey,o->txtestkey);
|
|
|
|
if (!o) return;
|
|
|
|
if (!o) return;
|
|
|
|
if (!o->pttkick) return;
|
|
|
|
if (!o->pttkick) return;
|
|
|
|
write(o->pttkick[1],&c,1);
|
|
|
|
if (write(o->pttkick[1],&c,1) < 0) {
|
|
|
|
|
|
|
|
ast_log(LOG_ERROR, "write() failed: %s\n", strerror(errno));
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
/*
|
|
|
|
/*
|
|
|
|
*/
|
|
|
|
*/
|
|
|
@ -1174,7 +1176,9 @@ static void *hidthread(void *arg)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
char c;
|
|
|
|
char c;
|
|
|
|
|
|
|
|
|
|
|
|
read(o->pttkick[0],&c,1);
|
|
|
|
if (read(o->pttkick[0],&c,1) < 0) {
|
|
|
|
|
|
|
|
ast_log(LOG_ERROR, "read() failed: %s\n", strerror(errno));
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if(o->wanteeprom)
|
|
|
|
if(o->wanteeprom)
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -1779,7 +1783,9 @@ static int usbradio_write(struct ast_channel *c, struct ast_frame *f)
|
|
|
|
tbuff[i]= ((i16*)(f->data.ptr))[i/2];
|
|
|
|
tbuff[i]= ((i16*)(f->data.ptr))[i/2];
|
|
|
|
tbuff[i+1]= o->txkeyed*M_Q13;
|
|
|
|
tbuff[i+1]= o->txkeyed*M_Q13;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
fwrite(tbuff,2,f->datalen,ftxcapraw);
|
|
|
|
if (fwrite(tbuff,2,f->datalen,ftxcapraw) != f->datalen) {
|
|
|
|
|
|
|
|
ast_log(LOG_ERROR, "write() failed: %s\n", strerror(errno));
|
|
|
|
|
|
|
|
}
|
|
|
|
//fwrite(f->data,1,f->datalen,ftxcapraw);
|
|
|
|
//fwrite(f->data,1,f->datalen,ftxcapraw);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
@ -1842,7 +1848,9 @@ static struct ast_frame *usbradio_read(struct ast_channel *c)
|
|
|
|
return f;
|
|
|
|
return f;
|
|
|
|
|
|
|
|
|
|
|
|
#if DEBUG_CAPTURES == 1
|
|
|
|
#if DEBUG_CAPTURES == 1
|
|
|
|
if (o->b.rxcapraw && frxcapraw) fwrite((o->usbradio_read_buf + AST_FRIENDLY_OFFSET),1,FRAME_SIZE * 2 * 2 * 6,frxcapraw);
|
|
|
|
if ((o->b.rxcapraw && frxcapraw) && (fwrite((o->usbradio_read_buf + AST_FRIENDLY_OFFSET),1,FRAME_SIZE * 2 * 2 * 6,frxcapraw) != FRAME_SIZE * 2 * 2 * 6)) {
|
|
|
|
|
|
|
|
ast_log(LOG_ERROR, "fwrite() failed: %s\n", strerror(errno));
|
|
|
|
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
#if 1
|
|
|
|
#if 1
|
|
|
@ -1878,7 +1886,9 @@ static struct ast_frame *usbradio_read(struct ast_channel *c)
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
#if DEBUG_CAPTURES == 1 && XPMR_DEBUG0 == 1
|
|
|
|
#if DEBUG_CAPTURES == 1 && XPMR_DEBUG0 == 1
|
|
|
|
if (o->b.txcap2 && ftxcaptrace) fwrite((o->pmrChan->ptxDebug),1,FRAME_SIZE * 2 * 16,ftxcaptrace);
|
|
|
|
if ((o->b.txcap2 && ftxcaptrace) && (fwrite((o->pmrChan->ptxDebug),1,FRAME_SIZE * 2 * 16,ftxcaptrace) != FRAME_SIZE * 2 * 16)) {
|
|
|
|
|
|
|
|
ast_log(LOG_ERROR, "fwrite() failed: %s\n", strerror(errno));
|
|
|
|
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
// 160 samples * 2 bytes/sample * 2 chan * 6x oversampling to 48KS/s
|
|
|
|
// 160 samples * 2 bytes/sample * 2 chan * 6x oversampling to 48KS/s
|
|
|
@ -1936,7 +1946,9 @@ static struct ast_frame *usbradio_read(struct ast_channel *c)
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
#if DEBUG_CAPTURES == 1 && XPMR_DEBUG0 == 1
|
|
|
|
#if DEBUG_CAPTURES == 1 && XPMR_DEBUG0 == 1
|
|
|
|
if (frxcaptrace && o->b.rxcap2 && o->pmrChan->b.radioactive) fwrite((o->pmrChan->prxDebug),1,FRAME_SIZE * 2 * 16,frxcaptrace);
|
|
|
|
if ((frxcaptrace && o->b.rxcap2 && o->pmrChan->b.radioactive) && (fwrite((o->pmrChan->prxDebug),1,FRAME_SIZE * 2 * 16,frxcaptrace) != FRAME_SIZE * 2 * 16 )) {
|
|
|
|
|
|
|
|
ast_log(LOG_ERROR, "fwrite() failed: %s\n", strerror(errno));
|
|
|
|
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
cd = 0;
|
|
|
|
cd = 0;
|
|
|
@ -3772,7 +3784,9 @@ int RxTestIt(struct chan_usbradio_pvt *o)
|
|
|
|
|
|
|
|
|
|
|
|
PmrRx(pChan,iBuff,oBuff);
|
|
|
|
PmrRx(pChan,iBuff,oBuff);
|
|
|
|
|
|
|
|
|
|
|
|
fwrite((void *)pChan->prxDebug,2,numSamples*numChannels,hOutput);
|
|
|
|
if (fwrite((void *)pChan->prxDebug,2,numSamples*numChannels,hOutput) != numSamples * numChannels) {
|
|
|
|
|
|
|
|
ast_log(LOG_ERROR, "fwrite() failed: %s\n", strerror(errno));
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
pChan->b.txCapture=0;
|
|
|
|
pChan->b.txCapture=0;
|
|
|
|
pChan->b.rxCapture=0;
|
|
|
|
pChan->b.rxCapture=0;
|
|
|
|