Revert back to a standard baudrate on Unix.

The linux USB CDC-ACM driver, which is used by the Mares Icon HD
interface, doesn't support the ioctl's to configure a custom baudrate.
But since the actual baudrate doesn't seem to matter at all, we revert
back to the nearest standard baudrate.

Because custom baudrates are confirmed to be supported on Windows and
Mac OS X, those platforms can keep using the non-standard baudrate.
This commit is contained in:
Jef Driesen 2012-01-19 21:04:59 +01:00
parent 87397a4ea1
commit ee4f105a94

View File

@ -33,6 +33,12 @@
rc == -1 ? DEVICE_STATUS_IO : DEVICE_STATUS_TIMEOUT \
)
#if defined(_WIN32) || defined(__APPLE__)
#define BAUDRATE 256000
#else
#define BAUDRATE 230400
#endif
#define ICONHD 0x14
#define ICONHDNET 0x15
@ -228,7 +234,7 @@ mares_iconhd_device_open (device_t **out, const char* name)
}
// Set the serial communication protocol (256000 8N1).
rc = serial_configure (device->port, 256000, 8, SERIAL_PARITY_NONE, 1, SERIAL_FLOWCONTROL_NONE);
rc = serial_configure (device->port, BAUDRATE, 8, SERIAL_PARITY_NONE, 1, SERIAL_FLOWCONTROL_NONE);
if (rc == -1) {
WARNING ("Failed to set the terminal attributes.");
serial_close (device->port);