Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: platform_drivers adi_console_menu AD568x-AD569x
nanodac_console_app.h
00001 /*! 00002 ***************************************************************************** 00003 @file: nanodac_console_app.h 00004 00005 @brief: defines the console menu structure for the nanodac example code 00006 00007 @details: 00008 ----------------------------------------------------------------------------- 00009 Copyright (c) 2020 Analog Devices, Inc. 00010 All rights reserved. 00011 00012 This software is proprietary to Analog Devices, Inc. and its licensors. 00013 By using this software you agree to the terms of the associated 00014 Analog Devices Software License Agreement. 00015 *****************************************************************************/ 00016 00017 #ifndef NANODAC_CONSOLE_APP_H_ 00018 #define NANODAC_CONSOLE_APP_H_ 00019 00020 /******************************************************************************/ 00021 /***************************** Include Files **********************************/ 00022 /******************************************************************************/ 00023 00024 #include "adi_console_menu.h" 00025 #include "app_config.h" 00026 00027 /******************************************************************************/ 00028 /********************** Macros and Constants Definitions **********************/ 00029 /******************************************************************************/ 00030 00031 // Define the DAC channel menu selection. The following devices from nanodac 00032 // family have only single channel and does not need menu to select DAC channel. 00033 #if !(defined(DEV_AD5683) || defined(DEV_AD5683R) || defined(DEV_AD5682R) || \ 00034 defined(DEV_AD5681R) || defined(DEV_AD5693) || defined(DEV_AD5693R) || \ 00035 defined(DEV_AD5692R) || defined(DEV_AD5691R)) 00036 #define DISPLAY_DAC_CHANNEL_SELECT_MENU 00037 // Define the number of DAC channels (for devices having more than 1 channel) 00038 #if (defined(DEV_AD5687) || defined(DEV_AD5687R) || defined(DEV_AD5697R) || \ 00039 defined(DEV_AD5689) || defined(DEV_AD5689R)) 00040 #define DAC_CHANNEL_COUNT 2 00041 #elif (defined(DEV_AD5686) || defined(DEV_AD5686R) || defined(DEV_AD5685R) || \ 00042 defined(DEV_AD5684) || defined(DEV_AD5684R) || \ 00043 defined(DEV_AD5696) || defined(DEV_AD5696R) || defined(DEV_AD5695R) || \ 00044 defined(DEV_AD5694) || defined(DEV_AD5694R)) 00045 #define DAC_CHANNEL_COUNT 4 00046 #elif (defined(DEV_AD5676) || defined(DEV_AD5676R) || defined(DEV_AD5672R) || \ 00047 defined(DEV_AD5675R) || defined(DEV_AD5671R)) 00048 #define DAC_CHANNEL_COUNT 8 00049 #elif (defined(DEV_AD5679) || defined(DEV_AD5679R) || defined(DEV_AD5673R) || \ 00050 defined(DEV_AD5674) || defined(DEV_AD5674R) || defined(DEV_AD5677R)) 00051 #define DAC_CHANNEL_COUNT 16 00052 #endif 00053 #endif 00054 00055 // Define the LDAC masking menu. The following devices from nanodac 00056 // family have only single channel and does not need menu to select LDAC masking. 00057 #if !(defined(DEV_AD5683) || defined(DEV_AD5683R) || \ 00058 defined(DEV_AD5682R) || defined(DEV_AD5681R) || defined(DEV_AD5693) || \ 00059 defined(DEV_AD5693R) || defined(DEV_AD5692R) || defined(DEV_AD5691R)) 00060 #define DISPLAY_LDAC_MASK_SELECT_MENU 00061 #endif 00062 00063 // Define the Vref source selections. The following devices from nanodac 00064 // family have only external Vref source. 00065 #if (defined(DEV_AD5674) || defined(DEV_AD5676) || defined(DEV_AD5686) || \ 00066 defined(DEV_AD5684) || defined(DEV_AD5696) || defined(DEV_AD5694) || \ 00067 defined(DEV_AD5683) || defined(DEV_AD5693) || defined(DEV_AD5679) || \ 00068 defined(DEV_AD5687) || defined(DEV_AD5689)) 00069 #define EXT_VREF_SOURCE_ONLY 00070 #endif 00071 00072 // Define the gain source (software controlled or hardware controlled) 00073 #if (defined(DEV_AD5683) || defined(DEV_AD5683R) || defined(DEV_AD5682R) || \ 00074 defined(DEV_AD5681R) || defined(DEV_AD5693) || defined(DEV_AD5693R) || \ 00075 defined(DEV_AD5692R) || defined(DEV_AD5691R)) 00076 #define SOFTWARE_CONTROLLED_GAIN 00077 #else 00078 #define HARDWARE_CONTROLLED_GAIN 00079 #endif 00080 00081 // Define the operating mode selections 00082 #if (defined(DEV_AD5674) || defined(DEV_AD5674R) || defined(DEV_AD5673R) || \ 00083 defined(DEV_AD5679) || defined(DEV_AD5677R)) 00084 #define _1K_TO_GND_POWER_DOWN 00085 #elif (defined(DEV_AD5676) || defined(DEV_AD5676R) || defined(DEV_AD5675R) || \ 00086 defined(DEV_AD5671R) || defined(DEV_AD5672R)) 00087 #define _1K_TO_GND_POWER_DOWN 00088 #define THREE_STATE_POWER_DOWN 00089 #else 00090 #define _1K_TO_GND_POWER_DOWN 00091 #define _100K_TO_GND_POWER_DOWN 00092 #define THREE_STATE_POWER_DOWN 00093 #endif 00094 00095 // define the DAC resolution 00096 #if (defined(DEV_AD5671R) || defined(DEV_AD5672R) || defined(DEV_AD5673R) || \ 00097 defined(DEV_AD5674) || defined(DEV_AD5674R) || defined(DEV_AD5684R) || \ 00098 defined(DEV_AD5687) || defined(DEV_AD5687R) || defined(DEV_AD5697R) || \ 00099 defined(DEV_AD5694) || defined(DEV_AD5694R) || defined(DEV_AD5681R) || \ 00100 defined(DEV_AD5691R)) 00101 #define TOTAL_OUTPUT_CODES ((1U << 12) - 1) // For 12-bit DAC (2^12 - 1) 00102 #elif (defined(DEV_AD5685R) || defined(DEV_AD5695R) || defined(DEV_AD5682R) || \ 00103 defined(DEV_AD5692R)) 00104 #define TOTAL_OUTPUT_CODES ((1U << 14) - 1) // For 14-bit DAC (2^14 - 1) 00105 #else 00106 #define TOTAL_OUTPUT_CODES ((1U << 16) - 1) // For 16-bit DAC (2^16 - 1) 00107 #endif 00108 00109 /******************************************************************************/ 00110 /********************** Variables and User Defined Data Types *****************/ 00111 /******************************************************************************/ 00112 00113 extern console_menu nanodac_main_menu; 00114 00115 /******************************************************************************/ 00116 /************************ Public Declarations *********************************/ 00117 /******************************************************************************/ 00118 00119 int32_t nanodac_app_initialize(void); 00120 00121 00122 #endif /* NANODAC_CONSOLE_APP_H_ */
Generated on Fri Jul 15 2022 20:25:46 by
