[PATCH 14/22] staging: comedi: adv_pci1710: support external analog output reference
Ian Abbott
abbotti at mev.co.uk
Thu Nov 5 12:42:37 UTC 2015
On 04/11/15 16:55, H Hartley Sweeten wrote:
> The analog outputs can use an external reference to create the D/A output
> range. Add an entry to the comedi_lrange table for it and modify the
> (*insn_write) to support it.
>
> Signed-off-by: H Hartley Sweeten <hsweeten at visionengravers.com>
> Cc: Ian Abbott <abbotti at mev.co.uk>
> Cc: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
> ---
> drivers/staging/comedi/drivers/adv_pci1710.c | 13 ++++++++-----
> 1 file changed, 8 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/staging/comedi/drivers/adv_pci1710.c b/drivers/staging/comedi/drivers/adv_pci1710.c
> index 86ed288..339130b 100644
> --- a/drivers/staging/comedi/drivers/adv_pci1710.c
> +++ b/drivers/staging/comedi/drivers/adv_pci1710.c
> @@ -65,6 +65,8 @@
> #define PCI171X_CLRFIFO_REG 0x09 /* W: clear FIFO */
> #define PCI171X_DA_REG(x) (0x0a + ((x) * 2)) /* W: D/A register */
> #define PCI171X_DAREF_REG 0x0e /* W: D/A reference control */
> +#define PCI171X_DAREF(c, r) (((r) & 0x3) << ((c) * 2))
> +#define PCI171X_DAREF_MASK(c) PCI171X_DAREF((c), 0x3)
> #define PCI171X_DI_REG 0x10 /* R: digital inputs */
> #define PCI171X_DO_REG 0x10 /* W: digital outputs */
> #define PCI171X_TIMER_BASE 0x18 /* R/W: 8254 timer */
> @@ -111,9 +113,10 @@ static const struct comedi_lrange pci1711_ai_range = {
> };
>
> static const struct comedi_lrange pci171x_ao_range = {
> - 2, {
> - UNI_RANGE(5),
> - UNI_RANGE(10)
> + 3, {
> + UNI_RANGE(5), /* internal -5V ref */
> + UNI_RANGE(10), /* internal -10V ref */
> + RANGE_ext(0, 1) /* external Vref (+/-10V max) */
Minor niggle:
The comment for the external Vref is slightly confusing. The manual I
have says:
By inputting an external reference voltage: -xV , where |x| <= 10,
you will get a output voltage range: 0 to xV.
So the external reference voltage is never positive. How about this?:
/* external -xV ref, |x| <= 10 */
--
-=( Ian Abbott @ MEV Ltd. E-mail: <abbotti at mev.co.uk> )=-
-=( Web: http://www.mev.co.uk/ )=-
More information about the devel
mailing list