/* $Id: tek_user.h,v 1.6 2008/09/09 14:42:22 sds Exp $ */

/*
 * $Log: tek_user.h,v $
 * Revision 1.6  2008/09/09 14:42:22  sds
 * Bug fix: added in the declaration of the function:
 * long  tek_scope_write_wfi_file(CLINK *clink, char *wfiname, char *source, ...)
 * (which I'd forgotten to do).
 *
 * Revision 1.5  2007/06/01 12:00:26  sds
 * Quite a major revision, brought on by finally getting hold of
 * an MSO4000.
 * Channels are no longer just char's, otherwise how would you
 * specify digital channels? Backwards char compatibility is
 * provided by a few wrapper functions and an improved version
 * of tek_scope_channel_str().
 * Added ability to set record length.
 * Found out that on the 4000 series scopes, there's a new
 * query HOR:MAIN:SAMPLERATE? which doesn't seem to suffer from
 * the bloody annoying time lag of XINCR being updated on the
 * 3000 series. Hence a tek_scope_is_TDS3000() fn to find out
 * what the scope is, and different ways of getting the actual
 * number of points, depending on scope model.
 *
 * Revision 1.4  2007/05/31 13:49:37  sds
 * Added a wrapper fn for tek_scope_write_wfi_file().
 * Added tek_scope_set_for_auto(), tek_scope_get_no_points() and
 * tek_scope_get_sample_rate().
 *
 * Revision 1.3  2007/05/17 12:44:50  sds
 * Major additions, all scope-related. All the basic functionality
 * for setting up your scope to grab traces, set the number of
 * averages, load and save setups etc.
 * So far, only tested on TDS3054B.
 *
 * Revision 1.2  2007/05/15 15:12:23  sds
 * renamed this user library, from "tek_afg_user" to "tek_user".
 * The aim is to add to it commands for Tek instruments other than just
 * AFGs, such as oscilloscopes. So, consolidation basically.
 *
 * Revision 1.1  2006/08/25 10:32:17  sds
 * Initial revision
 *
 */


/* $Id: tek_user.c,v 1.7 2008/09/09 12:09:57 sds Exp $ */

/*
 * $Log: tek_user.c,v $
 * Revision 1.7  2008/09/09 12:09:57  sds
 * Refined the set_no_averages() and get_no_averages() fns, to account
 * for the additional "hi-res" mode on 4000-series scopes, and to also
 * account for the fact that in envelope mode on 4000-series scopes you
 * cannot set a finite number of envelopes (like you can on the 3000-
 * series scopes). On 4000-series scopes, you are only permitted to have
 * an infinite number of envelopes.
 * Note this may cause an unintended change of behaviour in some programs,
 * as the API is broken slightly. In previous versions, setting the no
 * of averages to either 0 or 1 caused the scope to go into sample mode.
 * Now, if you set no_averages to be 1, the scope will go into hi-res
 * mode (setting it to 0 still sets sample mode). CAUTION.
 *
 * Revision 1.6  2007/06/01 11:55:48  sds
 * Quite a major revision, brought on by finally getting hold of
 * an MSO4000.
 * Channels are no longer just char's, otherwise how would you
 * specify digital channels? Backwards char compatibility is
 * provided by a few wrapper functions and an improved version
 * of tek_scope_channel_str().
 * Added ability to set record length.
 * Found out that on the 4000 series scopes, there's a new
 * query HOR:MAIN:SAMPLERATE? which doesn't seem to suffer from
 * the bloody annoying time lag of XINCR being updated on the
 * 3000 series. Hence a tek_scope_is_TDS3000() fn to find out
 * what the scope is, and different ways of getting the actual
 * number of points, depending on scope model.
 *
 * Revision 1.5  2007/05/31 13:48:38  sds
 * Added a wrapper fn for tek_scope_write_wfi_file().
 * Added tek_scope_set_for_auto(), tek_scope_get_no_points() and
 * tek_scope_get_sample_rate().
 *
 * Revision 1.4  2007/05/17 12:43:29  sds
 * Major additions, all scope-related. All the basic functionality
 * for setting up your scope to grab traces, set the number of
 * averages, load and save setups etc.
 * So far, only tested on TDS3054B.
 *
 * Revision 1.3  2007/05/15 15:11:06  sds
 * renamed this user library, from "tek_afg_user" to "tek_user".
 * The aim is to add to it commands for Tek instruments other than just
 * AFGs, such as oscilloscopes. So, consolidation basically.
 *
 * Revision 1.2  2006/08/25 14:24:04  sds
 * just tidied up error messages and return values. trivial changes.
 *
 * Revision 1.1  2006/08/25 10:33:01  sds
 * Initial revision
 *
/* $Id: tek_user.c,v 1.7 2008/09/09 12:09:57 sds Exp $ */

/*
 * $Log: tek_user.c,v $
 * Revision 1.7  2008/09/09 12:09:57  sds
 * Refined the set_no_averages() and get_no_averages() fns, to account
 * for the additional "hi-res" mode on 4000-series scopes, and to also
 * account for the fact that in envelope mode on 4000-series scopes you
 * cannot set a finite number of envelopes (like you can on the 3000-
 * series scopes). On 4000-series scopes, you are only permitted to have
 * an infinite number of envelopes.
 * Note this may cause an unintended change of behaviour in some programs,
 * as the API is broken slightly. In previous versions, setting the no
 * of averages to either 0 or 1 caused the scope to go into sample mode.
 * Now, if you set no_averages to be 1, the scope will go into hi-res
 * mode (setting it to 0 still sets sample mode). CAUTION.
 *
 * Revision 1.6  2007/06/01 11:55:48  sds
 * Quite a major revision, brought on by finally getting hold of
 * an MSO4000.
 * Channels are no longer just char's, otherwise how would you
 * specify digital channels? Backwards char compatibility is
 * provided by a few wrapper functions and an improved version
 * of tek_scope_channel_str().
 * Added ability to set record length.
 * Found out that on the 4000 series scopes, there's a new
 * query HOR:MAIN:SAMPLERATE? which doesn't seem to suffer from
 * the bloody annoying time lag of XINCR being updated on the
 * 3000 series. Hence a tek_scope_is_TDS3000() fn to find out
 * what the scope is, and different ways of getting the actual
 * number of points, depending on scope model.
 *
 * Revision 1.5  2007/05/31 13:48:38  sds
 * Added a wrapper fn for tek_scope_write_wfi_file().
 * Added tek_scope_set_for_auto(), tek_scope_get_no_points() and
 * tek_scope_get_sample_rate().
 *
 * Revision 1.4  2007/05/17 12:43:29  sds
 * Major additions, all scope-related. All the basic functionality
 * for setting up your scope to grab traces, set the number of
 * averages, load and save setups etc.
 * So far, only tested on TDS3054B.
 *
 * Revision 1.3  2007/05/15 15:11:06  sds
 * renamed this user library, from "tek_afg_user" to "tek_user".
 * The aim is to add to it commands for Tek instruments other than just
 * AFGs, such as oscilloscopes. So, consolidation basically.
 *
 * Revision 1.2  2006/08/25 14:24:04  sds
 * just tidied up error messages and return values. trivial changes.
 *
 * Revision 1.1  2006/08/25 10:33:01  sds
 * Initial revision
 *
