diff --git a/src/drivers/distance_sensor/sf0x/sf0x.cpp b/src/drivers/distance_sensor/sf0x/sf0x.cpp index 0e60b8a0f946e97fc033d2a18df4720ea96c6beb..5260987979b2cbdc413a2b96b596a114017fb5ba 100644 --- a/src/drivers/distance_sensor/sf0x/sf0x.cpp +++ b/src/drivers/distance_sensor/sf0x/sf0x.cpp @@ -590,7 +590,19 @@ SF0X::cycle() /* no parity, one stop bit */ uart_config.c_cflag &= ~(CSTOPB | PARENB); - unsigned speed = B9600; + /* if distance sensor model is SF11/C, then set baudrate 115200, else 9600 */ + int hw_model; + + param_get(param_find("SENS_EN_SF0X"), &hw_model); + + unsigned speed; + + if (hw_model == 5) { + speed = B115200; + + } else { + speed = B9600; + } /* set baud rate */ if ((termios_state = cfsetispeed(&uart_config, speed)) < 0) {