159874Speter/*
259874Speter * Header for general data acquisition definitions.
359874Speter *
459874Speter * $FreeBSD$
542899Sjkh */
642899Sjkh
742899Sjkh#ifndef	_SYS_DATAACQ_H_
842899Sjkh#define	_SYS_DATAACQ_H_
942899Sjkh
1042899Sjkh#include <sys/ioccom.h>
1142899Sjkh
1242899Sjkh/* Period in microseconds between analog I/O samples.
1342899Sjkh */
1442899Sjkh#define AD_MICRO_PERIOD_SET _IOW('A', 1, long)
1542899Sjkh#define AD_MICRO_PERIOD_GET _IOR('A', 2, long)
1642899Sjkh
1742899Sjkh/* Gain list support.  Initially all gains are 1.  If the board
1842899Sjkh * supports no gains at all then AD_NGAINS_GET will return a 0.
1942899Sjkh *
2042899Sjkh * AD_NGAINS_GET: Return the number of gains the board supports
2142899Sjkh *
2242899Sjkh * AD_SUPPORTED_GAINS: Get the supported gains.
2342899Sjkh * The driver will copy out "ngains" doubles,
2442899Sjkh * where "ngains" is obtained with AD_NGAINS_GET.
2542899Sjkh *
2642899Sjkh * AD_GAINS_SET: Set the gain list.  The driver will copy in "ngains" ints.
2742899Sjkh *
2842899Sjkh * AD_GAINS_GET: Get the gain list.  The driver will copy out "ngains" ints.
2942899Sjkh */
3042899Sjkh
3142899Sjkh#define AD_NGAINS_GET     _IOR('A', 3, int)
3242899Sjkh#define AD_NCHANS_GET     _IOR('A', 4, int)
3342899Sjkh#define AD_SUPPORTED_GAINS _IO('A', 5)
3442899Sjkh#define AD_GAINS_SET       _IO('A', 6)
3542899Sjkh#define AD_GAINS_GET       _IO('A', 7)
3642899Sjkh
3742899Sjkh#endif /* !_SYS_DATAACQ_H_ */
38