X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=hwdriver.c;h=b62fdd41c643aee802656409a86fc9e459c2cd17;hb=ecaa89af0e01f9c3f585e82eb849bf616bff22cf;hp=3dd44db0aa182c7f46236bb510c443be184e3cbc;hpb=860bc59b0ff598f37f23a1882bf5822ef7c86382;p=libsigrok.git diff --git a/hwdriver.c b/hwdriver.c index 3dd44db0..b62fdd41 100644 --- a/hwdriver.c +++ b/hwdriver.c @@ -130,6 +130,9 @@ extern SR_PRIV struct sr_dev_driver appa_55ii_driver_info; #ifdef HAVE_HW_ATTEN_PPS3XXX extern SR_PRIV struct sr_dev_driver atten_pps3203_driver_info; #endif +#ifdef HAVE_HW_BRYMEN_BM86X +extern SR_PRIV struct sr_dev_driver brymen_bm86x_driver_info; +#endif #ifdef HAVE_HW_BRYMEN_DMM extern SR_PRIV struct sr_dev_driver brymen_bm857_driver_info; #endif @@ -143,11 +146,15 @@ extern SR_PRIV struct sr_dev_driver voltcraft_k204_driver_info; #ifdef HAVE_HW_COLEAD_SLM extern SR_PRIV struct sr_dev_driver colead_slm_driver_info; #endif +#ifdef HAVE_HW_CONRAD_DIGI_35_CPU +extern SR_PRIV struct sr_dev_driver conrad_digi_35_cpu_driver_info; +#endif #ifdef HAVE_HW_DEMO extern SR_PRIV struct sr_dev_driver demo_driver_info; #endif #ifdef HAVE_HW_GMC_MH_1X_2X extern SR_PRIV struct sr_dev_driver gmc_mh_1x_2x_rs232_driver_info; +extern SR_PRIV struct sr_dev_driver gmc_mh_2x_bd232_driver_info; #endif #ifdef HAVE_HW_HAMEG_HMO extern SR_PRIV struct sr_dev_driver hameg_hmo_driver_info; @@ -279,6 +286,9 @@ static struct sr_dev_driver *drivers_list[] = { #ifdef HAVE_HW_ATTEN_PPS3XXX &atten_pps3203_driver_info, #endif +#ifdef HAVE_HW_BRYMEN_BM86X + &brymen_bm86x_driver_info, +#endif #ifdef HAVE_HW_BRYMEN_DMM &brymen_bm857_driver_info, #endif @@ -292,11 +302,15 @@ static struct sr_dev_driver *drivers_list[] = { #ifdef HAVE_HW_COLEAD_SLM &colead_slm_driver_info, #endif +#ifdef HAVE_HW_CONRAD_DIGI_35_CPU + &conrad_digi_35_cpu_driver_info, +#endif #ifdef HAVE_HW_DEMO &demo_driver_info, #endif #ifdef HAVE_HW_GMC_MH_1X_2X &gmc_mh_1x_2x_rs232_driver_info, + &gmc_mh_2x_bd232_driver_info, #endif #ifdef HAVE_HW_HAMEG_HMO &hameg_hmo_driver_info, @@ -445,9 +459,10 @@ SR_API struct sr_dev_driver **sr_driver_list(void) * @param driver The driver to initialize. This must be a pointer to one of * the entries returned by sr_driver_list(). Must not be NULL. * - * @return SR_OK upon success, SR_ERR_ARG upon invalid parameters, - * SR_ERR_BUG upon internal errors, or another negative error code - * upon other errors. + * @retval SR_OK Success + * @retval SR_ERR_ARG Invalid parameter(s). + * @retval SR_ERR_BUG Internal errors. + * @retval other Another negative error code upon other errors. */ SR_API int sr_driver_init(struct sr_context *ctx, struct sr_dev_driver *driver) { @@ -515,7 +530,8 @@ SR_API GSList *sr_driver_scan(struct sr_dev_driver *driver, GSList *options) return l; } -/** @private */ +/** Call driver cleanup function for all drivers. + * @private */ SR_PRIV void sr_hw_cleanup_all(void) { int i; @@ -528,8 +544,10 @@ SR_PRIV void sr_hw_cleanup_all(void) } } -/** A floating reference can be passed in for data. - * @private */ +/** Allocate struct sr_config. + * A floating reference can be passed in for data. + * @private + */ SR_PRIV struct sr_config *sr_config_new(int key, GVariant *data) { struct sr_config *src; @@ -542,7 +560,9 @@ SR_PRIV struct sr_config *sr_config_new(int key, GVariant *data) return src; } -/** @private */ +/** Free struct sr_config. + * @private + */ SR_PRIV void sr_config_free(struct sr_config *src) { @@ -557,25 +577,26 @@ SR_PRIV void sr_config_free(struct sr_config *src) } /** - * Returns information about the given driver or device instance. + * Query value of a configuration key at the given driver or device instance. * - * @param driver The sr_dev_driver struct to query. - * @param sdi (optional) If the key is specific to a device, this must + * @param[in] driver The sr_dev_driver struct to query. + * @param[in] sdi (optional) If the key is specific to a device, this must * contain a pointer to the struct sr_dev_inst to be checked. * Otherwise it must be NULL. - * @param probe_group The probe group on the device for which to list the + * @param[in] probe_group The probe group on the device for which to list the * values, or NULL. - * @param key The configuration key (SR_CONF_*). - * @param data Pointer to a GVariant where the value will be stored. Must - * not be NULL. The caller is given ownership of the GVariant + * @param[in] key The configuration key (SR_CONF_*). + * @param[in,out] data Pointer to a GVariant where the value will be stored. + * Must not be NULL. The caller is given ownership of the GVariant * and must thus decrease the refcount after use. However if * this function returns an error code, the field should be * considered unused, and should not be unreferenced. * - * @return SR_OK upon success or SR_ERR in case of error. Note SR_ERR_ARG - * may be returned by the driver indicating it doesn't know that key, - * but this is not to be flagged as an error by the caller; merely - * as an indication that it's not applicable. + * @retval SR_OK Success. + * @retval SR_ERR Error. + * @retval SR_ERR_ARG The driver doesn't know that key, but this is not to be + * interpreted as an error by the caller; merely as an indication + * that it's not applicable. */ SR_API int sr_config_get(const struct sr_dev_driver *driver, const struct sr_dev_inst *sdi, @@ -600,20 +621,21 @@ SR_API int sr_config_get(const struct sr_dev_driver *driver, } /** - * Set a configuration key in a device instance. + * Set value of a configuration key in a device instance. * - * @param sdi The device instance. - * @param probe_group The probe group on the device for which to list the + * @param[in] sdi The device instance. + * @param[in] probe_group The probe group on the device for which to list the * values, or NULL. - * @param key The configuration key (SR_CONF_*). + * @param[in] key The configuration key (SR_CONF_*). * @param data The new value for the key, as a GVariant with GVariantType * appropriate to that key. A floating reference can be passed * in; its refcount will be sunk and unreferenced after use. * - * @return SR_OK upon success or SR_ERR in case of error. Note SR_ERR_ARG - * may be returned by the driver indicating it doesn't know that key, - * but this is not to be flagged as an error by the caller; merely - * as an indication that it's not applicable. + * @retval SR_OK Success. + * @retval SR_ERR Error. + * @retval SR_ERR_ARG The driver doesn't know that key, but this is not to be + * interpreted as an error by the caller; merely as an indication + * that it's not applicable. */ SR_API int sr_config_set(const struct sr_dev_inst *sdi, const struct sr_probe_group *probe_group, @@ -659,22 +681,23 @@ SR_API int sr_config_commit(const struct sr_dev_inst *sdi) /** * List all possible values for a configuration key. * - * @param driver The sr_dev_driver struct to query. - * @param sdi (optional) If the key is specific to a device, this must + * @param[in] driver The sr_dev_driver struct to query. + * @param[in] sdi (optional) If the key is specific to a device, this must * contain a pointer to the struct sr_dev_inst to be checked. - * @param probe_group The probe group on the device for which to list the + * @param[in] probe_group The probe group on the device for which to list the * values, or NULL. - * @param key The configuration key (SR_CONF_*). - * @param data A pointer to a GVariant where the list will be stored. The - * caller is given ownership of the GVariant and must thus + * @param[in] key The configuration key (SR_CONF_*). + * @param[in,out] data A pointer to a GVariant where the list will be stored. + * The caller is given ownership of the GVariant and must thus * unref the GVariant after use. However if this function * returns an error code, the field should be considered * unused, and should not be unreferenced. * - * @return SR_OK upon success or SR_ERR in case of error. Note SR_ERR_ARG - * may be returned by the driver indicating it doesn't know that key, - * but this is not to be flagged as an error by the caller; merely - * as an indication that it's not applicable. + * @retval SR_OK Success. + * @retval SR_ERR Error. + * @retval SR_ERR_ARG The driver doesn't know that key, but this is not to be + * interpreted as an error by the caller; merely as an indication + * that it's not applicable. */ SR_API int sr_config_list(const struct sr_dev_driver *driver, const struct sr_dev_inst *sdi, @@ -694,9 +717,9 @@ SR_API int sr_config_list(const struct sr_dev_driver *driver, } /** - * Get information about a configuration key. + * Get information about a configuration key, by key. * - * @param key The configuration key. + * @param[in] key The configuration key. * * @return A pointer to a struct sr_config_info, or NULL if the key * was not found. @@ -714,9 +737,9 @@ SR_API const struct sr_config_info *sr_config_info_get(int key) } /** - * Get information about an configuration key, by name. + * Get information about a configuration key, by name. * - * @param optname The configuration key. + * @param[in] optname The configuration key. * * @return A pointer to a struct sr_config_info, or NULL if the key * was not found. @@ -735,13 +758,17 @@ SR_API const struct sr_config_info *sr_config_info_name_get(const char *optname) /* Unnecessary level of indirection follows. */ -/** @private */ +/** @private + * @see sr_session_source_remove() + */ SR_PRIV int sr_source_remove(int fd) { return sr_session_source_remove(fd); } -/** @private */ +/** @private + * @see sr_session_source_add() + */ SR_PRIV int sr_source_add(int fd, int events, int timeout, sr_receive_data_callback_t cb, void *cb_data) {