X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=include%2Flibsigrok%2Flibsigrok.h;h=7b4ca15bbe1410abdd06267819a539a5c8d9315c;hb=4ee1e2f35feb6b78640e6c8bd64b84cfd0675fd8;hp=e0540a45db981844197a981739f84a3af2f4bf40;hpb=d3c81725aeff955b45da41d6f4810569d660e40d;p=libsigrok.git diff --git a/include/libsigrok/libsigrok.h b/include/libsigrok/libsigrok.h index e0540a45..7b4ca15b 100644 --- a/include/libsigrok/libsigrok.h +++ b/include/libsigrok/libsigrok.h @@ -224,6 +224,12 @@ enum sr_mq { SR_MQ_PHASE_ANGLE, /** Difference from reference value. */ SR_MQ_DIFFERENCE, + /** Count. */ + SR_MQ_COUNT, + /** Power factor. */ + SR_MQ_POWER_FACTOR, + /** Apparent power */ + SR_MQ_APPARENT_POWER, }; /** Unit of measured quantity, sr_datafeed_analog.unit. */ @@ -285,7 +291,7 @@ enum sr_unit { SR_UNIT_METER_SECOND, /** Pressure in hectopascal */ SR_UNIT_HECTOPASCAL, - /** Relative humidity assuming air temperature of 293 kelvin (%rF). */ + /** Relative humidity assuming air temperature of 293 Kelvin (%rF). */ SR_UNIT_HUMIDITY_293K, /** Plane angle in 1/360th of a full circle. */ SR_UNIT_DEGREE, @@ -529,6 +535,8 @@ enum sr_channeltype { /** Information on single channel. */ struct sr_channel { + /** The device this channel is attached to. */ + struct sr_dev_inst *sdi; /** The index of this channel, starting at 0. Logic channels will * be encoded according to this index in SR_DF_LOGIC packets. */ int index; @@ -704,8 +712,8 @@ enum sr_configkey { /** The device supports setting its sample interval, in ms. */ SR_CONF_SAMPLE_INTERVAL, - /** Number of timebases, as related to SR_CONF_TIMEBASE. */ - SR_CONF_NUM_TIMEBASE, + /** Number of horizontal divisions, as related to SR_CONF_TIMEBASE. */ + SR_CONF_NUM_HDIV, /** Number of vertical divisions, as related to SR_CONF_VDIV. */ SR_CONF_NUM_VDIV, @@ -990,24 +998,24 @@ struct sr_dev_driver { /** API version (currently 1). */ int api_version; /** Called when driver is loaded, e.g. program startup. */ - int (*init) (struct sr_context *sr_ctx); + int (*init) (struct sr_dev_driver *driver, struct sr_context *sr_ctx); /** Called before driver is unloaded. * Driver must free all resources held by it. */ - int (*cleanup) (void); + int (*cleanup) (const struct sr_dev_driver *driver); /** Scan for devices. Driver should do all initialisation required. * Can be called several times, e.g. with different port options. * \retval NULL Error or no devices found. * \retval other GSList of a struct sr_dev_inst for each device. * Must be freed by caller! */ - GSList *(*scan) (GSList *options); + GSList *(*scan) (struct sr_dev_driver *driver, GSList *options); /** Get list of device instances the driver knows about. * \returns NULL or GSList of a struct sr_dev_inst for each device. * Must not be freed by caller! */ - GSList *(*dev_list) (void); + GSList *(*dev_list) (const struct sr_dev_driver *driver); /** Clear list of devices the driver knows about. */ - int (*dev_clear) (void); + int (*dev_clear) (const struct sr_dev_driver *driver); /** Query value of a configuration key in driver or given device instance. * @see sr_config_get(). */