It is explained by the following commentary:
"The documentation states that ReadIntervalTimeout is set in MS but empirical investigation determines that it seems to interpret in units of 100ms."
But I don't think it is correct. In my tests, windows is interpreting it as MS, not 100s of MS, as stated in the documentation. Which Windows version was used for your tests?
For example, in my machine, I have to set a timeout of 200000 to achieve 2 seconds timeout. I am using Windows 10. I have some experiece with serial communication in Windows, but with other languages.
That's from a pull request written by @matevzmihalic. I don't know anything about it. Please feel free to fix it if the documentation and your experimentation both agree.
In Windows implementation, timeout value is being divided by 100:
timeoutConstant := uint32(round(float64(options.InterCharacterTimeout) / 100.0))
It is explained by the following commentary: "The documentation states that ReadIntervalTimeout is set in MS but empirical investigation determines that it seems to interpret in units of 100ms."
But I don't think it is correct. In my tests, windows is interpreting it as MS, not 100s of MS, as stated in the documentation. Which Windows version was used for your tests?
For example, in my machine, I have to set a timeout of 200000 to achieve 2 seconds timeout. I am using Windows 10. I have some experiece with serial communication in Windows, but with other languages.