]> sigrok.org Git - libsigrok.git/blobdiff - hardware/common/serial.c
libsigrok: (Trivial) Add support for 2400 baud
[libsigrok.git] / hardware / common / serial.c
index 0be403af9b87e3a456bd94647382d3a36c1d6dc0..651b58269c74cf6ccee09484afe83f714ec426c4 100644 (file)
@@ -218,6 +218,12 @@ SR_PRIV int serial_set_params(int fd, int baudrate, int bits, int parity,
        case 9600:
                dcb.BaudRate = CBR_9600;
                break;
+       case 4800:
+               dcb.BaudRate = CBR_4800;
+               break;
+       case 2400:
+               dcb.BaudRate = CBR_2400;
+               break;
        default:
                /* TODO: Error handling. */
                break;
@@ -238,6 +244,12 @@ SR_PRIV int serial_set_params(int fd, int baudrate, int bits, int parity,
                return SR_ERR;
 
        switch (baudrate) {
+       case 2400:
+               baud = B2400;
+               break;
+       case 4800:
+               baud = B4800;
+               break;
        case 9600:
                baud = B9600;
                break;
@@ -317,6 +329,7 @@ SR_PRIV int serial_set_params(int fd, int baudrate, int bits, int parity,
        }
 
        /* Some default parameters */
+       term.c_iflag &= ~(ICRNL);
        term.c_lflag &= ~(ICANON | ECHO);
 
        if (tcsetattr(fd, TCSADRAIN, &term) < 0)