======================== Analog (ADC/DAC) Drivers ======================== The NuttX analog drivers are split into two parts: #. An "upper half", generic driver that provides the common analog interface to application level code, and #. A "lower half", platform-specific driver that implements the low-level controls to implement the analog functionality. - General header files for the NuttX analog drivers reside in ``include/nuttx/analog/``. These header files includes both the application level interface to the analog driver as well as the interface between the "upper half" and "lower half" drivers. - Common analog logic and share-able analog drivers reside in the ``drivers/analog/``. - Platform-specific drivers reside in ``arch//src/`` directory for the specific processor ```` and for the specific ```` analog peripheral devices. ADC Drivers ----------- - ``include/nuttx/analog/adc.h``. All structures and APIs needed to work with ADC drivers are provided in this header file. This header file includes: #. Structures and interface descriptions needed to develop a low-level, architecture-specific, ADC driver. #. To register the ADC driver with a common ADC character driver. #. Interfaces needed for interfacing user programs with the common ADC character driver. - ``drivers/analog/adc.c``. The implementation of the common ADC character driver. DAC Drivers ----------- - ``include/nuttx/analog/dac.h``. All structures and APIs needed to work with DAC drivers are provided in this header file. This header file includes: #. Structures and interface descriptions needed to develop a low-level, architecture-specific, DAC driver. #. To register the DAC driver with a common DAC character driver. #. Interfaces needed for interfacing user programs with the common DAC character driver. - ``drivers/analog/dac.c``. The implementation of the common DAC character driver.