mirror of
git://sigrok.org/libserialport
synced 2023-08-10 21:13:24 +03:00
Add some more narrative docs on the configuration API.
This commit is contained in:
parent
9ddf08588d
commit
6dba844779
@ -761,6 +761,63 @@ SP_API enum sp_return sp_get_port_handle(const struct sp_port *port, void *resul
|
||||
* @defgroup Configuration Configuration
|
||||
*
|
||||
* Setting and querying serial port parameters.
|
||||
*
|
||||
* See @ref port_config.c for a working example of port configuration.
|
||||
*
|
||||
* You should always configure all settings before using a port.
|
||||
* There are no default settings applied by libserialport.
|
||||
* When you open a port it may have default settings from the OS or
|
||||
* driver, or the settings left over by the last program to use it.
|
||||
*
|
||||
* You should always set baud rate, data bits, parity and stop bits.
|
||||
*
|
||||
* You should normally also set one of the preset @ref sp_flowcontrol
|
||||
* flow control modes, which will set up the RTS, CTS, DTR and DSR pin
|
||||
* behaviours and enable or disable XON/XOFF. If you need an unusual
|
||||
* configuration not covered by the preset flow control modes, you
|
||||
* will need to configure these settings individually, and avoid
|
||||
* calling sp_set_flowcontrol() or sp_set_config_flowcontrol() which
|
||||
* will overwrite these settings.
|
||||
*
|
||||
* A port must be opened before you can change its settings.
|
||||
*
|
||||
* There are two ways of accessing port settings:
|
||||
*
|
||||
* Configuration structures
|
||||
* ------------------------
|
||||
*
|
||||
* You can read and write a whole configuration (all settings at once)
|
||||
* using sp_get_config() and sp_set_config(). This is handy if you want
|
||||
* to change between some preset combinations, or save and restore an
|
||||
* existing configuration. It also ensures the changes are made
|
||||
* together, via an efficient set of calls into the OS - in some cases
|
||||
* a single system call can be used.
|
||||
*
|
||||
* Use accessor functions like sp_get_config_baudrate() and
|
||||
* sp_set_config_baudrate() to get and set individual settings
|
||||
* from a configuration.
|
||||
*
|
||||
* For each setting in a port configuration, a special value of -1 can
|
||||
* be used, which will cause that setting to be left alone when the
|
||||
* configuration is applied by sp_set_config().
|
||||
*
|
||||
* This value is also be used by sp_get_config() for any settings
|
||||
* which are unconfigured at the OS level, or in a state that is
|
||||
* not representable within the libserialport API.
|
||||
*
|
||||
* Configurations are allocated using sp_new_config() and freed
|
||||
* with sp_free_config(). You need to manage them yourself. When
|
||||
* a new configuration is allocated by sp_new_config(), all of
|
||||
* its settings are initially set to the special -1 value.
|
||||
*
|
||||
* Direct functions for changing port settings
|
||||
* -------------------------------------------
|
||||
*
|
||||
* As a shortcut, you can set individual settings on a port directly
|
||||
* by calling functions like sp_set_baudrate() and sp_set_parity().
|
||||
* This saves you the work of allocating a temporary config, setting it
|
||||
* up, applying it to a port and then freeing it.
|
||||
*
|
||||
* @{
|
||||
*/
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user