Hi Marcel,

ofono-boun...@ofono.org wrote:
>> +static void xctms_modify_cb(gboolean ok, GAtResult *result,
>> gpointer +user_data) { +     struct cb_data *cbd = user_data;
>> +    ofono_ctm_set_cb_t cb = cbd->cb;
>> +    struct ofono_error error;
>> +    const char *setting = NULL;
>> +    struct ofono_ctm *ctm = cbd->user;
>> +    struct ctm_data *ctmd = ofono_ctm_get_data(ctm);
>> +    ofono_bool_t enable = ctmd->enable;
>> +
>> +    decode_at_error(&error, g_at_result_final_response(result)); +
>> +    if (!ok) {
>> +            cb(&error, cbd->data);
>> +            return;
>> +    }
>> +
>> +    if (g_strcmp0(ctmd->audio_setting, "FULL_DUPLEX") == 0) +
setting
>> = "0,0,0,0,0,0,0"; + else if (g_strcmp0(ctmd->audio_setting,
>> "BURSTMODE_48KHZ") == 0) +           setting = "0,0,8,0,2,0,0"; +
else if
>> (g_strcmp0(ctmd->audio_setting, "BURSTMODE_96KHZ") == 0) +
setting
>> = "0,0,9,0,2,0,0"; + +       if (setting) {
>> +            char xdrv_buf[64];
>> +
>> +            /* configure source */
>> +            snprintf(xdrv_buf, sizeof(xdrv_buf),
"AT+XDRV=40,4,%d,%d,%s,%s",
>> +                                            4, +
0,
>> +                                            setting,
>> +                                            enable ? "2,5" : "0,0");
>> +            g_at_chat_send(ctmd->chat, xdrv_buf, xdrv_prefix, NULL,
NULL,
>> +                            NULL); +
>> +            /* configure destination */
>> +            snprintf(xdrv_buf, sizeof(xdrv_buf),
"AT+XDRV=40,5,%d,%d,%s,%s",
>> +                                            3, +
0,
>> +                                            setting,
>> +                                            enable ? "2,6" : "0,0");
>> +
>> +            g_at_chat_send(ctmd->chat, xdrv_buf, xdrv_prefix, NULL,
NULL,
>> +                            NULL); +        }
> 
> Now this is something I don't like at all. It is copied code from the
> modem plugin. 

Its the same audio configuration code except that there is a new
parameter added
at the end of the parameter list for TTY case.

> 
> The initial discussion was that we need to configure XDRV
> only once during init and never have to touch it again. That
> seems to be not true anymore. So what is the deal here?
> 

Audio source/destination parameter includes configuration and transducer
mode

TRANSDUCER is the difference. Incase of voice call it is set to
default(0) whereas
for TTY call it is set to TRANSDUCER TTY( 5 for source and 6 for
destination).

TTY call - Last 2 parameters are 2,5 and 2,6 for the source(uplink) and
destination(downlink) respectively.
Voice call - Last 2 parameters are 0,0.

> Also if this is required, we might need to figure out a
> complete different way of handling this. We can't have this
> in two places since that means a full disconnect. Maybe
> putting this into the audio settings atom might be better.
> However before we can do anything, I have to understand the
> semantics behind XDRV, normal voice calls and TTY calls.
> 

Correct me if I'm wrong. If we move this to the audio settings atom,
then I'm
afraid that it will end up in used by only ifx modem. 

> 
> We wanna be consistent, so pleace do ifx_ctm_init(void) here.
> 
>> +    ofono_ctm_driver_register(&driver);
>> +}
>> +
>> +void ifx_ctm_exit()
>> +{
> 
> Same here. And for extra bonus points, I accept patches that
> fixes this inside the whole oFono tree ;)
> 
> It is coding style rule M15 now.
> 

Separate set of patches sent for the M15 coding style rule fix for the
whole oFono tree.

Regards,
Jeevaka
_______________________________________________
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono

Reply via email to