-
Notifications
You must be signed in to change notification settings - Fork 19
Description
This suggestion would be a big breaking change, but possibly worth it.
I believe LibSerialPort would become far more user friendly if we merged the high-level and low-level APIs. The resulting single API is closer to the current high-level API, in that almost all methods in it have a first argument of type LibSerialPort.SerialPort (or the IO supertype), but it also provides all the advanced facilities currently only found in the low-level API.
-
Users of the high-level interface will often want to have access to many of the methods of the low-level interface (e.g., draining buffers, accessing modem control lines, etc.).
But duplicating large parts of the low-level interface in the high-level interface could leads to duplication of code, documentation and tests. -
It is much more user friendly if there is only one documented function for each purpose, and that function should copy an adapted version of most of the text found in the documentation of the correspondinglibserialportfunction (such that LibSerialPort users do not have to read thelibserialportC documentation). -
New users should not have to be confronted with first having to make a choice between using one of two APIs, unless there are extremely good technical reasons for having to make such a choice (which I doubt we have here).