44ef021bc5
DAC driver uses CONFIG_DAC_FIFOSIZE, but this is not configurable from Kconfig. This adds the missing option and allows to set DAC FIFO size from the configuration. Signed-off-by: Michal Lenc <michallenc@seznam.cz>
332 lines
7.8 KiB
Plaintext
332 lines
7.8 KiB
Plaintext
#
|
|
# For a description of the syntax of this configuration file,
|
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
|
#
|
|
|
|
menuconfig ANALOG
|
|
bool "Analog Device(ADC/DAC) Support"
|
|
default n
|
|
---help---
|
|
This directory holds implementations of analog device drivers.
|
|
This includes drivers for Analog to Digital Conversion (ADC) as
|
|
well as drivers for Digital to Analog Conversion (DAC).
|
|
See include/nuttx/analog/*.h for registration information.
|
|
|
|
if ANALOG
|
|
|
|
config ADC
|
|
bool "Analog-to-Digital Conversion"
|
|
default n
|
|
---help---
|
|
Select to enable support for analog input device support. This includes
|
|
not only Analog-to-Digital Converters (ADC) but also amplifiers and
|
|
analog multiplexers.
|
|
|
|
This selection enables:
|
|
|
|
- The upper half, device-independent ADC character driver, and
|
|
- Selection of common lower half ADC drivers.
|
|
|
|
MCU-specific, lower half drivers may be selected independently of
|
|
CONFIG_ADC. However, if CONFIG_ADC is selected, then it is assume
|
|
that lower half ADC drivers will be used only with the common ADC
|
|
upper half driver.
|
|
|
|
if ADC
|
|
|
|
config ADC_FIFOSIZE
|
|
int "ADC buffer size"
|
|
default 8
|
|
---help---
|
|
This variable defines the size of the ADC ring buffer that is used
|
|
to queue received ADC data until they can be retrieved by the
|
|
application by reading from the ADC character device. NOTE: Since
|
|
this is a ring buffer, the actual number of bytes that can be
|
|
retained in buffer is (ADC_FIFOSIZE - 1).
|
|
|
|
config ADC_NPOLLWAITERS
|
|
int "Number of poll waiters"
|
|
default 2
|
|
---help---
|
|
Maximum number of threads that can be waiting on poll.
|
|
|
|
config ADC_ADS1242
|
|
bool "TI ADS1242 support"
|
|
default n
|
|
select SPI
|
|
---help---
|
|
Enable driver support for the ADS1242 24-Bit SPI powered ADC.
|
|
|
|
This driver supports reading the ADC conversion result as well as
|
|
configuring the ADC, setting the input channel, etc. is implemented
|
|
via ioctl calls. However, it does not yet implement the standard ADC
|
|
interface.
|
|
|
|
config ADC_ADS125X
|
|
bool "TI ADS1255/ADS1256 support"
|
|
default n
|
|
select SPI
|
|
select SCHED_HPWORK
|
|
depends on ALLOW_BSD_COMPONENTS
|
|
|
|
if ADC_ADS125X
|
|
|
|
config ADS1255_FREQUENCY
|
|
int "ADS1255/ADS1256 SPI frequency"
|
|
default 1000000
|
|
|
|
endif # ADC_ADS125X
|
|
|
|
config ADC_LTC1867L
|
|
bool "LTC 1863L/1867L support"
|
|
default n
|
|
select SPI
|
|
---help---
|
|
Enable driver support for the LTC 1863L (12 bit) and LTC 1867L (16 bit) SPI powered ADC.
|
|
|
|
Note that the ADC conversion is started via the ANIOC_TRIGGER iotcl.
|
|
|
|
if ADC_LTC1867L
|
|
|
|
config LTC1867L_FREQUENCY
|
|
int "LTC 1863L/1867L SPI frequency"
|
|
default 1000000
|
|
---help---
|
|
LTC 1863L/1867L SPI frequency. Maximum is 20 MHz.
|
|
|
|
endif # ADC_LTC1867L
|
|
|
|
config ADC_PGA11X
|
|
bool "TI PGA112/3/6/7 support"
|
|
default n
|
|
select SPI
|
|
---help---
|
|
Enables support for the PGA112, PGA113, PGA116, PGA117 Zero-Drift
|
|
PROGRAMMABLE GAIN AMPLIFIER with MUX
|
|
|
|
if ADC_PGA11X
|
|
|
|
config PGA11X_SPIFREQUENCY
|
|
int "TI PGA112/3/6/7 SPI frequency"
|
|
default 1000000
|
|
---help---
|
|
PGA11x SPI frequency.
|
|
|
|
config PGA11X_SPIMODE
|
|
int "TI PGA112/3/6/7 SPI mode"
|
|
default 0
|
|
---help---
|
|
PGA11x SPI mode. The specification says that the device operates in Mode 0 or
|
|
Mode 3. But sometimes you need to tinker with this to get things to work
|
|
correctly. Default: Mode 0
|
|
|
|
config PGA11X_DAISYCHAIN
|
|
bool "TI PGA112/3/6/7 daisy chain mode"
|
|
default n
|
|
---help---
|
|
Enable support to use two PGA116/7's in Daisy Chain configuration.
|
|
|
|
config PGA11X_MULTIPLE
|
|
bool "Multiple TI PGA112/3/6/7 support"
|
|
default n
|
|
depends on !PGA11X_DAISYCHAIN
|
|
---help---
|
|
Can be defined to support multiple PGA11X devices on board with separate
|
|
chip selects (not daisy chained). Each device will require a customized
|
|
SPI interface to distinguish them when SPI_SELECT is called with
|
|
devid=SPIDEV_MUX(n).
|
|
|
|
endif # if ADC_PGA11X
|
|
|
|
config ADC_ADS7828
|
|
bool "TI ADS7828 support"
|
|
default n
|
|
select I2C
|
|
---help---
|
|
Enable driver support for the ADS7828 12-Bit I2C powered ADC.
|
|
|
|
This driver supports reading single or multiple ADC conversion result
|
|
as well as onfiguring the ADC, via ioctl calls.
|
|
|
|
if ADC_ADS7828
|
|
|
|
config ADS7828_FREQUENCY
|
|
int "TI ADS7828 I2C frequency"
|
|
default 100000
|
|
---help---
|
|
ADS7828 supports standard, fast, and high-speed I2C modes.
|
|
|
|
endif # ADC_ADS7828
|
|
|
|
config ADC_MAX1161X
|
|
bool "Maxim MAX11612-11617 support"
|
|
default n
|
|
select I2C
|
|
---help---
|
|
Enable driver support for the MAX1161X 12-Bit I2C powered ADC Family.
|
|
|
|
This driver supports reading single or multiple ADC conversion result
|
|
as well as onfiguring the ADC, via ioctl calls.
|
|
|
|
if ADC_MAX1161X
|
|
|
|
config MAX1161X_FREQUENCY
|
|
int "Maxim MAX1161X I2C frequency"
|
|
default 100000
|
|
---help---
|
|
MAX1161X supports standard, fast, and high-speed I2C modes.
|
|
|
|
choice
|
|
prompt "Maxim MAX1161X Chip Type"
|
|
|
|
config MAX1161X_4CHAN
|
|
bool "MAX11612/MAX11613 4 Channels"
|
|
|
|
config MAX1161X_8CHAN
|
|
bool "MAX11614/MAX11615 8 Channels"
|
|
|
|
config MAX1161X_12CHAN
|
|
bool "MAX11616/MAX11617 12 Channels"
|
|
|
|
endchoice
|
|
|
|
endif # ADC_MAX1161X
|
|
|
|
config ADC_HX711
|
|
bool "Avia Semiconductor HX711 support"
|
|
default n
|
|
---help---
|
|
Enable driver to support Avia Semiconductor HX711 ADC
|
|
designed for weight scales.
|
|
|
|
Driver supports both 'a' and 'b' channels with 32, 64
|
|
and 128 gain.
|
|
|
|
Driver does not support continuous read and is not buffered.
|
|
Driver uses interrupts to not hog the CPU while waiting
|
|
for hx711 to be ready.
|
|
|
|
if ADC_HX711
|
|
|
|
config ADC_HA711_ADD_DELAY
|
|
bool "Add 1us delay between clock pulses"
|
|
default y if BOARD_LOOPSPERMSEC >= 15000
|
|
---help---
|
|
HX711 requires about 1us between clock pulses to work.
|
|
This is not an issue on slower chips, but faster chips
|
|
will most likely try to clock HX711 too fast, which
|
|
will result in data lose.
|
|
|
|
If this is enabled, code will insert 1us of delay to each
|
|
clock change. Enable this only if you get data lose, or
|
|
else you will just introduce unnecessary delay to your
|
|
program.
|
|
|
|
Best way to know if you need this, is to compile
|
|
HX711 demo program and run it. If there are no errors
|
|
reported during runtime, you can turn this of. If you
|
|
see communication errors, then you should enable this.
|
|
|
|
endif # ADC_HX711
|
|
|
|
endif # ADC
|
|
|
|
config COMP
|
|
bool "Analog Comparator"
|
|
default n
|
|
---help---
|
|
Select to enable support for Analog Comparators (COMPs).
|
|
|
|
config DAC
|
|
bool "Digital-to-Analog Conversion"
|
|
default n
|
|
---help---
|
|
Select to enable support for Digital-to-Analog Converters (DACs).
|
|
|
|
if DAC
|
|
|
|
config DAC_FIFOSIZE
|
|
int "DAC buffer size"
|
|
default 8
|
|
range 1 255
|
|
---help---
|
|
This variable defines the size of the DAC ring buffer that is used
|
|
to queue sent DAC data until they can be retrieved by the
|
|
controller. This size is limited to 255 to fit uint8_t type used
|
|
in DAC driver.
|
|
|
|
config DAC_AD5410
|
|
bool "AD5410 support"
|
|
default n
|
|
depends on ALLOW_BSD_COMPONENTS
|
|
select SPI
|
|
|
|
config DAC7571
|
|
bool "DAC7571 support"
|
|
default n
|
|
select I2C
|
|
---help---
|
|
Enable driver support for the Texas Instruments DAC7571 dac.
|
|
|
|
config DAC7571_I2C_FREQUENCY
|
|
int "DAC7571 I2C frequency"
|
|
default 400000
|
|
depends on DAC7571
|
|
|
|
config DAC7554
|
|
bool "DAC7554 support"
|
|
default n
|
|
select SPI
|
|
---help---
|
|
Enable driver support for the Texas Instruments DAC7554 dac.
|
|
|
|
config MCP48XX
|
|
bool "MCP4802/4812/4822 support"
|
|
default n
|
|
select SPI
|
|
---help---
|
|
Enable driver support for the Microchip MCP4802/4812/4822 dac.
|
|
|
|
choice
|
|
prompt "MCP48XX variant"
|
|
default MCP4802
|
|
depends on MCP48XX
|
|
|
|
config MCP4802
|
|
bool "MCP4802 (8-bit) dac"
|
|
|
|
config MCP4812
|
|
bool "MCP4812 (10-bit) dac"
|
|
|
|
config MCP4822
|
|
bool "MCP4822 (12-bit) dac"
|
|
|
|
endchoice # MCP48XX variant
|
|
|
|
config MCP48XX_SPI_FREQUENCY
|
|
int "MCP48XX SPI frequency"
|
|
default 4000000
|
|
depends on MCP48XX
|
|
|
|
endif # DAC
|
|
|
|
config OPAMP
|
|
bool "Operational Amplifier"
|
|
default n
|
|
---help---
|
|
Select to enable support for Operational Amplifiers (OPAMPs).
|
|
|
|
config LMP92001
|
|
bool "LMP92001 support"
|
|
default n
|
|
select I2C
|
|
---help---
|
|
Enable driver support for the Texas Instruments LMP92001.
|
|
|
|
config LMP92001_I2C_FREQUENCY
|
|
int "LMP92001 I2C frequency"
|
|
default 400000
|
|
depends on LMP92001
|
|
|
|
endif # ANALOG
|