generic-gsm: make flow control setup command a property
This commit is contained in:
committed by
Dan Williams
parent
95b0863f87
commit
e520c2d448
+19
-2
@@ -1352,6 +1352,7 @@ mm_generic_gsm_enable_complete (MMGenericGsm *self,
|
||||
MMCallbackInfo *info)
|
||||
{
|
||||
MMGenericGsmPrivate *priv;
|
||||
gchar *cmd = NULL;
|
||||
|
||||
g_return_if_fail (self != NULL);
|
||||
g_return_if_fail (MM_IS_GENERIC_GSM (self));
|
||||
@@ -1377,8 +1378,11 @@ mm_generic_gsm_enable_complete (MMGenericGsm *self,
|
||||
}
|
||||
}
|
||||
|
||||
/* Try to enable XON/XOFF flow control */
|
||||
mm_at_serial_port_queue_command (priv->primary, "+IFC=1,1", 3, NULL, NULL);
|
||||
/* Try to enable flow control */
|
||||
g_object_get (G_OBJECT (info->modem), MM_GENERIC_GSM_FLOW_CONTROL_CMD, &cmd, NULL);
|
||||
if (cmd && strlen (cmd))
|
||||
mm_at_serial_port_queue_command (priv->primary, cmd, 3, NULL, NULL);
|
||||
g_free (cmd);
|
||||
|
||||
mm_at_serial_port_queue_command (priv->primary, "+CIND=?", 3, cind_cb, self);
|
||||
|
||||
@@ -4825,6 +4829,7 @@ set_property (GObject *object, guint prop_id,
|
||||
case MM_GENERIC_GSM_PROP_USSD_STATE:
|
||||
case MM_GENERIC_GSM_PROP_USSD_NETWORK_REQUEST:
|
||||
case MM_GENERIC_GSM_PROP_USSD_NETWORK_NOTIFICATION:
|
||||
case MM_GENERIC_GSM_PROP_FLOW_CONTROL_CMD:
|
||||
break;
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||
@@ -4932,6 +4937,10 @@ get_property (GObject *object, guint prop_id,
|
||||
case MM_GENERIC_GSM_PROP_USSD_NETWORK_NOTIFICATION:
|
||||
g_value_set_string (value, "");
|
||||
break;
|
||||
case MM_GENERIC_GSM_PROP_FLOW_CONTROL_CMD:
|
||||
/* By default, try to set XOFF/XON flow control */
|
||||
g_value_set_string (value, "+IFC=1,1");
|
||||
break;
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||
break;
|
||||
@@ -5075,5 +5084,13 @@ mm_generic_gsm_class_init (MMGenericGsmClass *klass)
|
||||
"Optional initialization command (errors ignored)",
|
||||
NULL,
|
||||
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
|
||||
|
||||
g_object_class_install_property
|
||||
(object_class, MM_GENERIC_GSM_PROP_FLOW_CONTROL_CMD,
|
||||
g_param_spec_string (MM_GENERIC_GSM_FLOW_CONTROL_CMD,
|
||||
"FlowControlCommand",
|
||||
"Flow control configuration command (errors ignored)",
|
||||
"+IFC=1,1",
|
||||
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
|
||||
}
|
||||
|
||||
|
||||
@@ -37,6 +37,7 @@
|
||||
#define MM_GENERIC_GSM_POWER_DOWN_CMD "power-down-cmd"
|
||||
#define MM_GENERIC_GSM_INIT_CMD "init-cmd"
|
||||
#define MM_GENERIC_GSM_INIT_CMD_OPTIONAL "init-cmd-optional"
|
||||
#define MM_GENERIC_GSM_FLOW_CONTROL_CMD "flow-control-cmd"
|
||||
|
||||
typedef enum {
|
||||
MM_GENERIC_GSM_PROP_FIRST = 0x2000,
|
||||
@@ -57,6 +58,7 @@ typedef enum {
|
||||
MM_GENERIC_GSM_PROP_USSD_STATE,
|
||||
MM_GENERIC_GSM_PROP_USSD_NETWORK_REQUEST,
|
||||
MM_GENERIC_GSM_PROP_USSD_NETWORK_NOTIFICATION,
|
||||
MM_GENERIC_GSM_PROP_FLOW_CONTROL_CMD
|
||||
} MMGenericGsmProp;
|
||||
|
||||
typedef enum {
|
||||
|
||||
Reference in New Issue
Block a user