mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-17 18:19:45 +00:00
Formatting changes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89566 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -140,7 +140,7 @@ static struct ast_jb_conf default_jbconf =
|
||||
};
|
||||
static struct ast_jb_conf global_jbconf;
|
||||
|
||||
/*
|
||||
/*!
|
||||
* usbradio.conf parameters are
|
||||
START_CONFIG
|
||||
|
||||
@@ -202,7 +202,7 @@ END_CONFIG
|
||||
|
||||
*/
|
||||
|
||||
/*
|
||||
/*! \brief
|
||||
* Helper macros to parse config arguments. They will go in a common
|
||||
* header file if their usage is globally accepted. In the meantime,
|
||||
* we define them here. Typical usage is as below.
|
||||
@@ -230,7 +230,7 @@ END_CONFIG
|
||||
#define M_UINT(tag, dst) M_F(tag, (dst) = strtoul(__val, NULL, 0) )
|
||||
#define M_STR(tag, dst) M_F(tag, ast_copy_string(dst, __val, sizeof(dst)))
|
||||
|
||||
/*
|
||||
/*!
|
||||
* The following parameters are used in the driver:
|
||||
*
|
||||
* FRAME_SIZE the size of an audio frame, in samples.
|
||||
@@ -306,7 +306,7 @@ static int usbradio_debug_level = 0;
|
||||
|
||||
enum {RX_AUDIO_NONE,RX_AUDIO_SPEAKER,RX_AUDIO_FLAT};
|
||||
enum {CD_IGNORE,CD_XPMR_NOISE,CD_XPMR_VOX,CD_HID,CD_HID_INVERT};
|
||||
enum {SD_IGNORE,SD_HID,SD_HID_INVERT,SD_XPMR}; // no,external,externalinvert,software
|
||||
enum {SD_IGNORE,SD_HID,SD_HID_INVERT,SD_XPMR}; /* no,external,externalinvert,software */
|
||||
enum {RX_KEY_CARRIER,RX_KEY_CARRIER_CODE};
|
||||
enum {TX_OUT_OFF,TX_OUT_VOICE,TX_OUT_LSD,TX_OUT_COMPOSITE,TX_OUT_AUX};
|
||||
enum {TOC_NONE,TOC_PHASE,TOC_NOTONE};
|
||||
@@ -418,18 +418,18 @@ struct chan_usbradio_pvt {
|
||||
|
||||
|
||||
char debuglevel;
|
||||
char radioduplex; //
|
||||
char radioduplex;
|
||||
|
||||
char lastrx;
|
||||
char rxhidsq;
|
||||
char rxcarrierdetect; // status from pmr channel
|
||||
char rxctcssdecode; // status from pmr channel
|
||||
char rxcarrierdetect; /*!< status from pmr channel */
|
||||
char rxctcssdecode; /*!< status from pmr channel */
|
||||
|
||||
char rxkeytype;
|
||||
char rxkeyed; // indicates rx signal present
|
||||
char rxkeyed; /*!< indicates rx signal present */
|
||||
|
||||
char lasttx;
|
||||
char txkeyed; // tx key request from upper layers
|
||||
char txkeyed; /*! tx key request from upper layers */
|
||||
char txchankey;
|
||||
char txtestkey;
|
||||
|
||||
@@ -445,7 +445,7 @@ struct chan_usbradio_pvt {
|
||||
float rxgain;
|
||||
char rxcdtype;
|
||||
char rxsdtype;
|
||||
int rxsquelchadj; /* this copy needs to be here for initialization */
|
||||
int rxsquelchadj; /*!< this copy needs to be here for initialization */
|
||||
char txtoctype;
|
||||
|
||||
char txprelim;
|
||||
@@ -460,7 +460,7 @@ struct chan_usbradio_pvt {
|
||||
float rxctcssfreq;
|
||||
float txctcssfreq;
|
||||
|
||||
int rxmixerset;
|
||||
int rxmixerset;
|
||||
int rxboostset;
|
||||
float rxvoiceadj;
|
||||
float rxctcssadj;
|
||||
@@ -469,24 +469,24 @@ struct chan_usbradio_pvt {
|
||||
int txctcssadj;
|
||||
|
||||
int hdwtype;
|
||||
int hid_gpio_ctl;
|
||||
int hid_gpio_ctl_loc;
|
||||
int hid_io_cor;
|
||||
int hid_io_cor_loc;
|
||||
int hid_io_ctcss;
|
||||
int hid_io_ctcss_loc;
|
||||
int hid_io_ptt;
|
||||
int hid_gpio_loc;
|
||||
int hid_gpio_ctl;
|
||||
int hid_gpio_ctl_loc;
|
||||
int hid_io_cor;
|
||||
int hid_io_cor_loc;
|
||||
int hid_io_ctcss;
|
||||
int hid_io_ctcss_loc;
|
||||
int hid_io_ptt;
|
||||
int hid_gpio_loc;
|
||||
|
||||
struct {
|
||||
unsigned rxcapraw:1;
|
||||
unsigned rxcapraw:1;
|
||||
unsigned txcapraw:1;
|
||||
unsigned txcap2:1;
|
||||
unsigned rxcap2:1;
|
||||
}b;
|
||||
};
|
||||
|
||||
// maw add additional defaults !!!
|
||||
/* maw add additional defaults !!! */
|
||||
static struct chan_usbradio_pvt usbradio_default = {
|
||||
.cursound = -1,
|
||||
.sounddev = -1,
|
||||
@@ -565,23 +565,23 @@ Note: must add -lasound to end of linkage */
|
||||
|
||||
static int amixer_max(int devnum,char *param)
|
||||
{
|
||||
int rv,type;
|
||||
char str[100];
|
||||
snd_hctl_t *hctl;
|
||||
snd_ctl_elem_id_t *id;
|
||||
snd_hctl_elem_t *elem;
|
||||
snd_ctl_elem_info_t *info;
|
||||
int rv,type;
|
||||
char str[100];
|
||||
snd_hctl_t *hctl;
|
||||
snd_ctl_elem_id_t *id;
|
||||
snd_hctl_elem_t *elem;
|
||||
snd_ctl_elem_info_t *info;
|
||||
|
||||
sprintf(str,"hw:%d",devnum);
|
||||
if (snd_hctl_open(&hctl, str, 0)) return(-1);
|
||||
if (snd_hctl_open(&hctl, str, 0))
|
||||
return(-1);
|
||||
snd_hctl_load(hctl);
|
||||
id = alloca(snd_ctl_elem_id_sizeof());
|
||||
memset(id, 0, snd_ctl_elem_id_sizeof());
|
||||
snd_ctl_elem_id_set_interface(id, SND_CTL_ELEM_IFACE_MIXER);
|
||||
snd_ctl_elem_id_set_name(id, param);
|
||||
elem = snd_hctl_find_elem(hctl, id);
|
||||
if (!elem)
|
||||
{
|
||||
if (!elem) {
|
||||
snd_hctl_close(hctl);
|
||||
return(-1);
|
||||
}
|
||||
@@ -590,8 +590,7 @@ snd_ctl_elem_info_t *info;
|
||||
snd_hctl_elem_info(elem,info);
|
||||
type = snd_ctl_elem_info_get_type(info);
|
||||
rv = 0;
|
||||
switch(type)
|
||||
{
|
||||
switch(type) {
|
||||
case SND_CTL_ELEM_TYPE_INTEGER:
|
||||
rv = snd_ctl_elem_info_get_max(info);
|
||||
break;
|
||||
@@ -603,7 +602,7 @@ snd_ctl_elem_info_t *info;
|
||||
return(rv);
|
||||
}
|
||||
|
||||
/* Call with: devnum: alsa major device number, param: ascii Formal
|
||||
/*! \brief Call with: devnum: alsa major device number, param: ascii Formal
|
||||
Parameter Name, val1, first or only value, val2 second value, or 0
|
||||
if only 1 value. Values: 0-99 (percent) or 0-1 for baboon.
|
||||
|
||||
@@ -611,24 +610,24 @@ Note: must add -lasound to end of linkage */
|
||||
|
||||
static int setamixer(int devnum,char *param, int v1, int v2)
|
||||
{
|
||||
int type;
|
||||
char str[100];
|
||||
snd_hctl_t *hctl;
|
||||
snd_ctl_elem_id_t *id;
|
||||
snd_ctl_elem_value_t *control;
|
||||
snd_hctl_elem_t *elem;
|
||||
snd_ctl_elem_info_t *info;
|
||||
int type;
|
||||
char str[100];
|
||||
snd_hctl_t *hctl;
|
||||
snd_ctl_elem_id_t *id;
|
||||
snd_ctl_elem_value_t *control;
|
||||
snd_hctl_elem_t *elem;
|
||||
snd_ctl_elem_info_t *info;
|
||||
|
||||
sprintf(str,"hw:%d",devnum);
|
||||
if (snd_hctl_open(&hctl, str, 0)) return(-1);
|
||||
if (snd_hctl_open(&hctl, str, 0))
|
||||
return(-1);
|
||||
snd_hctl_load(hctl);
|
||||
id = alloca(snd_ctl_elem_id_sizeof());
|
||||
memset(id, 0, snd_ctl_elem_id_sizeof());
|
||||
snd_ctl_elem_id_set_interface(id, SND_CTL_ELEM_IFACE_MIXER);
|
||||
snd_ctl_elem_id_set_name(id, param);
|
||||
elem = snd_hctl_find_elem(hctl, id);
|
||||
if (!elem)
|
||||
{
|
||||
if (!elem) {
|
||||
snd_hctl_close(hctl);
|
||||
return(-1);
|
||||
}
|
||||
@@ -639,8 +638,7 @@ snd_ctl_elem_info_t *info;
|
||||
control = alloca(snd_ctl_elem_value_sizeof());
|
||||
memset(control, 0, snd_ctl_elem_value_sizeof());
|
||||
snd_ctl_elem_value_set_id(control, id);
|
||||
switch(type)
|
||||
{
|
||||
switch(type) {
|
||||
case SND_CTL_ELEM_TYPE_INTEGER:
|
||||
snd_ctl_elem_value_set_integer(control, 0, v1);
|
||||
if (v2 > 0) snd_ctl_elem_value_set_integer(control, 1, v2);
|
||||
@@ -649,8 +647,7 @@ snd_ctl_elem_info_t *info;
|
||||
snd_ctl_elem_value_set_integer(control, 0, (v1 != 0));
|
||||
break;
|
||||
}
|
||||
if (snd_hctl_elem_write(elem, control))
|
||||
{
|
||||
if (snd_hctl_elem_write(elem, control)) {
|
||||
snd_hctl_close(hctl);
|
||||
return(-1);
|
||||
}
|
||||
@@ -682,30 +679,24 @@ static void hid_get_inputs(struct usb_dev_handle *handle,
|
||||
|
||||
static struct usb_device *hid_device_init(void)
|
||||
{
|
||||
struct usb_bus *usb_bus;
|
||||
struct usb_device *dev;
|
||||
usb_init();
|
||||
usb_find_busses();
|
||||
usb_find_devices();
|
||||
for (usb_bus = usb_busses;
|
||||
usb_bus;
|
||||
usb_bus = usb_bus->next) {
|
||||
for (dev = usb_bus->devices;
|
||||
dev;
|
||||
dev = dev->next) {
|
||||
if ((dev->descriptor.idVendor
|
||||
== C108_VENDOR_ID) &&
|
||||
(dev->descriptor.idProduct
|
||||
== C108_PRODUCT_ID))
|
||||
return dev;
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
struct usb_bus *usb_bus;
|
||||
struct usb_device *dev;
|
||||
|
||||
usb_init();
|
||||
usb_find_busses();
|
||||
usb_find_devices();
|
||||
for (usb_bus = usb_busses; usb_bus; usb_bus = usb_bus->next) {
|
||||
for (dev = usb_bus->devices; dev; dev = dev->next) {
|
||||
if ((dev->descriptor.idVendor == C108_VENDOR_ID) && (dev->descriptor.idProduct == C108_PRODUCT_ID))
|
||||
return dev;
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static int hidhdwconfig(struct chan_usbradio_pvt *o)
|
||||
static int hidhdwconfig(struct chan_usbradio_pvt *o)
|
||||
{
|
||||
if(o->hdwtype==1) //sphusb
|
||||
if(o->hdwtype==1) /*sphusb */
|
||||
{
|
||||
o->hid_gpio_ctl = 0x08; /* set GPIO4 to output mode */
|
||||
o->hid_gpio_ctl_loc = 2; /* For CTL of GPIO */
|
||||
@@ -716,7 +707,7 @@ static int hidhdwconfig(struct chan_usbradio_pvt *o)
|
||||
o->hid_io_ptt = 8; /* GPIO 4 is PTT */
|
||||
o->hid_gpio_loc = 1; /* For ALL GPIO */
|
||||
}
|
||||
else if(o->hdwtype==0) //dudeusb
|
||||
else if(o->hdwtype==0) /* dudeusb */
|
||||
{
|
||||
o->hid_gpio_ctl = 0x0c; /* set GPIO 3 & 4 to output mode */
|
||||
o->hid_gpio_ctl_loc = 2; /* For CTL of GPIO */
|
||||
@@ -727,7 +718,7 @@ static int hidhdwconfig(struct chan_usbradio_pvt *o)
|
||||
o->hid_io_ptt = 4; /* GPIO 3 is PTT */
|
||||
o->hid_gpio_loc = 1; /* For ALL GPIO */
|
||||
}
|
||||
else if(o->hdwtype==3) // custom version
|
||||
else if(o->hdwtype==3) /* custom version */
|
||||
{
|
||||
o->hid_gpio_ctl = 0x0c; /* set GPIO 3 & 4 to output mode */
|
||||
o->hid_gpio_ctl_loc = 2; /* For CTL of GPIO */
|
||||
@@ -761,8 +752,7 @@ static void *hidthread(void *arg)
|
||||
ast_log(LOG_ERROR,"Not able to open USB device\n");
|
||||
pthread_exit(NULL);
|
||||
}
|
||||
if (usb_claim_interface(usb_handle,C108_HID_INTERFACE) < 0)
|
||||
{
|
||||
if (usb_claim_interface(usb_handle,C108_HID_INTERFACE) < 0) {
|
||||
if (usb_detach_kernel_driver_np(usb_handle,C108_HID_INTERFACE) < 0) {
|
||||
ast_log(LOG_ERROR,"Not able to detach the USB device\n");
|
||||
pthread_exit(NULL);
|
||||
@@ -778,25 +768,25 @@ static void *hidthread(void *arg)
|
||||
hid_set_outputs(usb_handle,buf);
|
||||
traceusb1(("hidthread: Starting normally!!\n"));
|
||||
lastrx = 0;
|
||||
while(!o->stophid)
|
||||
{
|
||||
while(!o->stophid) {
|
||||
buf[o->hid_gpio_ctl_loc] = o->hid_gpio_ctl;
|
||||
hid_get_inputs(usb_handle,buf);
|
||||
keyed = !(buf[o->hid_io_cor_loc] & o->hid_io_cor);
|
||||
if (keyed != o->rxhidsq)
|
||||
{
|
||||
if(o->debuglevel)printf("chan_usbradio() hidthread: update rxhidsq = %d\n",keyed);
|
||||
if (keyed != o->rxhidsq) {
|
||||
if(o->debuglevel)
|
||||
printf("chan_usbradio() hidthread: update rxhidsq = %d\n", keyed);
|
||||
o->rxhidsq=keyed;
|
||||
}
|
||||
|
||||
/* if change in tx stuff */
|
||||
txtmp=0;
|
||||
if(o->txkeyed || o->txchankey || o->txtestkey || o->pmrChan->txPttOut) txtmp=1;
|
||||
if(o->txkeyed || o->txchankey || o->txtestkey || o->pmrChan->txPttOut)
|
||||
txtmp=1;
|
||||
|
||||
if (o->lasttx != txtmp)
|
||||
{
|
||||
if (o->lasttx != txtmp) {
|
||||
o->lasttx = txtmp;
|
||||
if(o->debuglevel)printf("hidthread: tx set to %d\n",txtmp);
|
||||
if(o->debuglevel)
|
||||
printf("hidthread: tx set to %d\n", txtmp);
|
||||
buf[o->hid_gpio_loc] = 0;
|
||||
if (txtmp) buf[o->hid_gpio_loc] = o->hid_io_ptt;
|
||||
buf[o->hid_gpio_ctl_loc] = o->hid_gpio_ctl;
|
||||
@@ -813,7 +803,7 @@ static void *hidthread(void *arg)
|
||||
pthread_exit(0);
|
||||
}
|
||||
|
||||
/*
|
||||
/*! \brief
|
||||
* returns a pointer to the descriptor with the given name
|
||||
*/
|
||||
static struct chan_usbradio_pvt *find_desc(char *dev)
|
||||
@@ -831,7 +821,7 @@ static struct chan_usbradio_pvt *find_desc(char *dev)
|
||||
return o;
|
||||
}
|
||||
|
||||
/*
|
||||
/*! \brief
|
||||
* split a string in extension-context, returns pointers to malloc'ed
|
||||
* strings.
|
||||
* If we do not have 'overridecontext' then the last @ is considered as
|
||||
@@ -867,7 +857,7 @@ static char *ast_ext_ctx(const char *src, char **ext, char **ctx)
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
/*! \brief
|
||||
* Returns the number of blocks used in the audio output channel
|
||||
*/
|
||||
static int used_blocks(struct chan_usbradio_pvt *o)
|
||||
@@ -891,7 +881,7 @@ static int used_blocks(struct chan_usbradio_pvt *o)
|
||||
return o->total_blocks - info.fragments;
|
||||
}
|
||||
|
||||
/* Write an exactly FRAME_SIZE sized frame */
|
||||
/*! \brief Write an exactly FRAME_SIZE sized frame */
|
||||
static int soundcard_writeframe(struct chan_usbradio_pvt *o, short *data)
|
||||
{
|
||||
int res;
|
||||
@@ -917,7 +907,7 @@ static int soundcard_writeframe(struct chan_usbradio_pvt *o, short *data)
|
||||
return write(o->sounddev, ((void *) data), FRAME_SIZE * 2 * 12);
|
||||
}
|
||||
|
||||
/*
|
||||
/*! \brief
|
||||
* Handler for 'sound writable' events from the sound thread.
|
||||
* Builds a frame from the high level description of the sounds,
|
||||
* and passes it to the audio device.
|
||||
@@ -1233,7 +1223,7 @@ static int usbradio_write(struct ast_channel *c, struct ast_frame *f)
|
||||
int src,datalen;
|
||||
struct chan_usbradio_pvt *o = c->tech_pvt;
|
||||
|
||||
traceusb2(("usbradio_write() o->nosound= %i\n",o->nosound)); //sph maw asdf
|
||||
traceusb2(("usbradio_write() o->nosound= %i\n",o->nosound)); /*sph maw asdf */
|
||||
|
||||
/* Immediately return if no sound is enabled */
|
||||
if (o->nosound)
|
||||
@@ -1250,17 +1240,15 @@ static int usbradio_write(struct ast_channel *c, struct ast_frame *f)
|
||||
if(o->txkeyed||o->txtestkey)o->pmrChan->txPttIn=1;
|
||||
else o->pmrChan->txPttIn=0;
|
||||
|
||||
#if DEBUG_CAPTURES == 1 // to write input data to a file datalen=320
|
||||
if (ftxcapraw && o->b.txcapraw)
|
||||
{
|
||||
#if DEBUG_CAPTURES == 1 /* to write input data to a file datalen=320 */
|
||||
if (ftxcapraw && o->b.txcapraw) {
|
||||
i16 i, tbuff[f->datalen];
|
||||
for(i=0;i<f->datalen;i+=2)
|
||||
{
|
||||
for(i=0;i<f->datalen;i+=2) {
|
||||
tbuff[i]= ((i16*)(f->data))[i/2];
|
||||
tbuff[i+1]= o->txkeyed*M_Q13;
|
||||
}
|
||||
fwrite(tbuff,2,f->datalen,ftxcapraw);
|
||||
//fwrite(f->data,1,f->datalen,ftxcapraw);
|
||||
/*fwrite(f->data,1,f->datalen,ftxcapraw); */
|
||||
}
|
||||
#endif
|
||||
|
||||
|
Reference in New Issue
Block a user