Hi Marcel,
[email protected] 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
[email protected]
http://lists.ofono.org/listinfo/ofono