return SR_ERR;
}
+ serial->comm_params.bit_rate = baudrate;
+ serial->comm_params.data_bits = bits;
+ serial->comm_params.parity_bits = parity ? 1 : 0;
+ serial->comm_params.stop_bits = stopbits;
+ sr_dbg("DBG: %s() rate %d, %d%s%d", __func__,
+ baudrate, bits,
+ (parity == 0) ? "n" : "x",
+ stopbits);
+
return SR_OK;
}
if (sp_new_config(&config) < 0)
return timeout_ms;
+ /* Get the bitrate and frame length. */
bits = baud = 0;
do {
if (sp_get_config(port->sp_data, config) < 0)
break;
baud = tmp;
} while (FALSE);
+ if (!bits || !baud) {
+ baud = port->comm_params.bit_rate;
+ bits = 1 + port->comm_params.data_bits +
+ port->comm_params.parity_bits +
+ port->comm_params.stop_bits;
+ }
+ /* Derive the timeout. */
if (bits && baud) {
/* Throw in 10ms for misc OS overhead. */
timeout_ms = 10;