Implemented ioctl call to set custom baud rate on OSX #48
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
On OSX it is impossible to set baud rates higher than standard using
tcsetattr
. Attempting to do so will throw anEINVAL
error.However, it is possible to set arbitrary baud rates using
ioctl
call.Example can be found here
This PR attaches ioctl and in case of undefined baud rate on OSX attempts to set speed using that call.
The only caveat here is that I have been unable to write tests for it due to pty's opened by socat not supporting setting speed at all. ioctl throws ENOTTY when attempted.
On real hardware it works well though (needed these changes for my arduino project). Not sure what we can do about it.