# run.
EXCLUDE = config.h src/libsigrok-internal.h src/session_driver.c
-EXCLUDE += src/std.c src/drivers.c src/ezusb.c src/serial.c
+EXCLUDE += src/std.c src/drivers.c src/ezusb.c src/fallback.c
EXCLUDE += src/soft-trigger.c src/usb.c
# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
# - src/std.c: Non-public helpers, no public API stuff in there.
# - src/drivers.c: Non-public helpers, no public API stuff in there.
# - src/ezusb.c: Non-public helpers, no public API stuff in there.
-# - src/serial.c: Non-public helpers, no public API stuff in there.
+# - src/fallback.c: Fallback functions to API calls from serial.c.
# - src/soft-trigger.c: Non-public helpers, no public API stuff in there.
# - src/usb.c: Non-public helpers, no public API stuff in there.
# - src/hardware/*: Only driver-specific stuff, no public API stuff in there.
# - src/input/*: Only input.c contains public API, everything else doesn't.
# - src/output/*: Only output.c contains public API, everything else doesn't.
+# - src/transform/*: Only transform.c contains public API, everything else doesn't.
# - src/scpi/*: Non-public helpers, no public API stuff in there.
# - src/dmm/*: Non-public helpers, no public API stuff in there.
+# - src/lcr/*: Non-public helpers, no public API stuff in there.
# - tests/*: Unit tests, no public API stuff in there.
# - bindings/*: Language bindings, no public API stuff in there.
# - doxy/*: Potentially already generated docs, should not be scanned.
#
-EXCLUDE_PATTERNS = */hardware/* */input/* */output/* */scpi/* */dmm/*
+EXCLUDE_PATTERNS = */hardware/* */input/* */output/* */transform/*
+EXCLUDE_PATTERNS += */scpi/* */dmm/* */lcr/*
EXCLUDE_PATTERNS += */tests/* */bindings/* */doxy/*
INPUT += src/input/input.c src/output/output.c
+INPUT += src/transform/transform.c
# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
# (namespaces, classes, functions, etc.) that should be excluded from the
#include "libsigrok.h"
#include "libsigrok-internal.h"
+/** @cond PRIVATE */
#define LOG_PREFIX "serial"
+/** @endcond */
+
+/**
+ * @file
+ *
+ * Serial port handling.
+ */
+
+/**
+ * @defgroup grp_serial Serial port handling
+ *
+ * Serial port handling functions.
+ *
+ * @{
+ */
/**
* Open the specified serial port.
*
* @retval SR_OK Success.
* @retval SR_ERR Failure.
+ *
+ * @private
*/
SR_PRIV int serial_open(struct sr_serial_dev_inst *serial, int flags)
{
*
* @retval SR_OK Success.
* @retval SR_ERR Failure.
+ *
+ * @private
*/
SR_PRIV int serial_close(struct sr_serial_dev_inst *serial)
{
*
* @retval SR_OK Success.
* @retval SR_ERR Failure.
+ *
+ * @private
*/
SR_PRIV int serial_flush(struct sr_serial_dev_inst *serial)
{
*
* @retval SR_OK Success.
* @retval SR_ERR Failure.
+ *
+ * @private
*/
SR_PRIV int serial_drain(struct sr_serial_dev_inst *serial)
{
* @retval SR_ERR Other error.
* @retval other The number of bytes written. If this is less than the number
* specified in the call, the timeout was reached.
+ *
+ * @private
*/
SR_PRIV int serial_write_blocking(struct sr_serial_dev_inst *serial,
const void *buf, size_t count, unsigned int timeout_ms)
* @retval SR_ERR_ARG Invalid argument.
* @retval SR_ERR Other error.
* @retval other The number of bytes written.
-*/
+ *
+ * @private
+ */
SR_PRIV int serial_write_nonblocking(struct sr_serial_dev_inst *serial,
const void *buf, size_t count)
{
* @retval SR_ERR Other error.
* @retval other The number of bytes read. If this is less than the number
* requested, the timeout was reached.
+ *
+ * @private
*/
SR_PRIV int serial_read_blocking(struct sr_serial_dev_inst *serial, void *buf,
size_t count, unsigned int timeout_ms)
* @retval SR_ERR_ARG Invalid argument.
* @retval SR_ERR Other error.
* @retval other The number of bytes read.
+ *
+ * @private
*/
SR_PRIV int serial_read_nonblocking(struct sr_serial_dev_inst *serial, void *buf,
size_t count)
*
* @retval SR_OK Success.
* @retval SR_ERR Failure.
+ *
+ * @private
*/
SR_PRIV int serial_set_params(struct sr_serial_dev_inst *serial, int baudrate,
int bits, int parity, int stopbits,
* rts=0|1 Set RTS off resp. on.\n
* Please note that values and combinations of these parameters must be
* supported by the concrete serial interface hardware and the drivers for it.
+ *
* @retval SR_OK Success.
* @retval SR_ERR Failure.
+ *
+ * @private
*/
SR_PRIV int serial_set_paramstr(struct sr_serial_dev_inst *serial,
const char *paramstr)
{
+/** @cond PRIVATE */
#define SERIAL_COMM_SPEC "^(\\d+)/([5678])([neo])([12])(.*)$"
+/** @endcond */
GRegex *reg;
GMatchInfo *match;
*
* @retval SR_OK Success.
* @retval SR_ERR Failure.
+ *
+ * @private
*/
SR_PRIV int serial_readline(struct sr_serial_dev_inst *serial, char **buf,
int *buflen, gint64 timeout_ms)
*
* @retval SR_OK Valid packet was found within the given timeout.
* @retval SR_ERR Failure.
+ *
+ * @private
*/
SR_PRIV int serial_stream_detect(struct sr_serial_dev_inst *serial,
uint8_t *buf, size_t *buflen,
*
* @return SR_OK if a serial_device is found, SR_ERR if no device is found. The
* returned string should not be freed by the caller.
+ *
+ * @private
*/
SR_PRIV int sr_serial_extract_options(GSList *options, const char **serial_device,
const char **serial_options)
return SR_OK;
}
+/** @cond PRIVATE */
#ifdef _WIN32
typedef HANDLE event_handle;
#else
typedef int event_handle;
#endif
+/** @endcond */
+/** @private */
SR_PRIV int serial_source_add(struct sr_session *session,
struct sr_serial_dev_inst *serial, int events, int timeout,
sr_receive_data_callback cb, void *cb_data)
return SR_OK;
}
+/** @private */
SR_PRIV int serial_source_remove(struct sr_session *session,
struct sr_serial_dev_inst *serial)
{
* @return A GSList of strings containing the path of the serial device or
* NULL if no serial device is found. The returned list must be freed
* by the caller.
+ *
+ * @private
*/
SR_PRIV GSList *sr_serial_find_usb(uint16_t vendor_id, uint16_t product_id)
{
return tty_devs;
}
+/** @private */
SR_PRIV int serial_timeout(struct sr_serial_dev_inst *port, int num_bytes)
{
struct sp_port_config *config;
return timeout_ms;
}
+
+/** @} */