Example program for EVAL-AD4696.
Dependencies: platform_drivers
app/app_config.h@1:edd760d6380f, 2021-09-30 (annotated)
- Committer:
- Kjansen
- Date:
- Thu Sep 30 11:58:20 2021 +0100
- Revision:
- 1:edd760d6380f
AD4696 IIO Application- Initial Revision
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Kjansen |
1:edd760d6380f | 1 | /*************************************************************************//** |
Kjansen |
1:edd760d6380f | 2 | * @file app_config.h |
Kjansen |
1:edd760d6380f | 3 | * @brief Configuration file for AD4696 device applications |
Kjansen |
1:edd760d6380f | 4 | ****************************************************************************** |
Kjansen |
1:edd760d6380f | 5 | * Copyright (c) 2021 Analog Devices, Inc. |
Kjansen |
1:edd760d6380f | 6 | * |
Kjansen |
1:edd760d6380f | 7 | * All rights reserved. |
Kjansen |
1:edd760d6380f | 8 | * |
Kjansen |
1:edd760d6380f | 9 | * This software is proprietary to Analog Devices, Inc. and its licensors. |
Kjansen |
1:edd760d6380f | 10 | * By using this software you agree to the terms of the associated |
Kjansen |
1:edd760d6380f | 11 | * Analog Devices Software License Agreement. |
Kjansen |
1:edd760d6380f | 12 | *****************************************************************************/ |
Kjansen |
1:edd760d6380f | 13 | |
Kjansen |
1:edd760d6380f | 14 | #ifndef APP_CONFIG_H |
Kjansen |
1:edd760d6380f | 15 | #define APP_CONFIG_H |
Kjansen |
1:edd760d6380f | 16 | |
Kjansen |
1:edd760d6380f | 17 | /******************************************************************************/ |
Kjansen |
1:edd760d6380f | 18 | /***************************** Include Files **********************************/ |
Kjansen |
1:edd760d6380f | 19 | /******************************************************************************/ |
Kjansen |
1:edd760d6380f | 20 | |
Kjansen |
1:edd760d6380f | 21 | #include <stdint.h> |
Kjansen |
1:edd760d6380f | 22 | |
Kjansen |
1:edd760d6380f | 23 | /******************************************************************************/ |
Kjansen |
1:edd760d6380f | 24 | /********************** Macros and Constants Definition ***********************/ |
Kjansen |
1:edd760d6380f | 25 | /******************************************************************************/ |
Kjansen |
1:edd760d6380f | 26 | |
Kjansen |
1:edd760d6380f | 27 | /* List of supported platforms*/ |
Kjansen |
1:edd760d6380f | 28 | #define MBED_PLATFORM 1 |
Kjansen |
1:edd760d6380f | 29 | |
Kjansen |
1:edd760d6380f | 30 | /* Select the active platform */ |
Kjansen |
1:edd760d6380f | 31 | #define ACTIVE_PLATFORM MBED_PLATFORM |
Kjansen |
1:edd760d6380f | 32 | |
Kjansen |
1:edd760d6380f | 33 | #if (ACTIVE_PLATFORM == MBED_PLATFORM) |
Kjansen |
1:edd760d6380f | 34 | #include "app_config_mbed.h" |
Kjansen |
1:edd760d6380f | 35 | |
Kjansen |
1:edd760d6380f | 36 | /* Used to form a VCOM serial number */ |
Kjansen |
1:edd760d6380f | 37 | #define FIRMWARE_NAME "ad4696_mbed_iio_application" |
Kjansen |
1:edd760d6380f | 38 | |
Kjansen |
1:edd760d6380f | 39 | /* Redefine the init params structure mapping w.r.t. platform */ |
Kjansen |
1:edd760d6380f | 40 | #define bsy_gpio_extra_init_params mbed_gpio_bsy_extra_init_params |
Kjansen |
1:edd760d6380f | 41 | #define ext_int_extra_init_params mbed_ext_int_extra_init_params |
Kjansen |
1:edd760d6380f | 42 | #define uart_extra_init_params mbed_uart_extra_init_params |
Kjansen |
1:edd760d6380f | 43 | #define spi_extra_init_params mbed_spi_extra_init_params |
Kjansen |
1:edd760d6380f | 44 | #else |
Kjansen |
1:edd760d6380f | 45 | #error "No/Invalid active platform selected" |
Kjansen |
1:edd760d6380f | 46 | #endif |
Kjansen |
1:edd760d6380f | 47 | |
Kjansen |
1:edd760d6380f | 48 | // **** Note for User: ACTIVE_DEVICE selection **** // |
Kjansen |
1:edd760d6380f | 49 | /* Define the device type here from the list of below device type defines |
Kjansen |
1:edd760d6380f | 50 | * (one at a time. Defining more than one device can result into compile error). |
Kjansen |
1:edd760d6380f | 51 | * e.g. #define DEV_AD4696 -> This will make AD4696 as an ACTIVE_DEVICE. |
Kjansen |
1:edd760d6380f | 52 | * The ACTIVE_DEVICE is default set to AD4696 if device type is not defined. |
Kjansen |
1:edd760d6380f | 53 | * */ |
Kjansen |
1:edd760d6380f | 54 | |
Kjansen |
1:edd760d6380f | 55 | //#define DEV_AD4696 |
Kjansen |
1:edd760d6380f | 56 | |
Kjansen |
1:edd760d6380f | 57 | #if defined(DEV_AD4696) |
Kjansen |
1:edd760d6380f | 58 | #define ACTIVE_DEVICE ID_AD4696 |
Kjansen |
1:edd760d6380f | 59 | #define ACTIVE_DEVICE_NAME "AD4696" |
Kjansen |
1:edd760d6380f | 60 | #elif defined(DEV_AD4695) |
Kjansen |
1:edd760d6380f | 61 | #define ACTIVE_DEVICE ID_AD4695 |
Kjansen |
1:edd760d6380f | 62 | #define ACTIVE_DEVICE_NAME "AD4695" |
Kjansen |
1:edd760d6380f | 63 | #else |
Kjansen |
1:edd760d6380f | 64 | #warning No/Unsupported ADxxxxy symbol defined. AD4696 defined |
Kjansen |
1:edd760d6380f | 65 | #define DEV_AD4696 |
Kjansen |
1:edd760d6380f | 66 | #define ACTIVE_DEVICE ID_AD4696 |
Kjansen |
1:edd760d6380f | 67 | #define ACTIVE_DEVICE_NAME "AD4696" |
Kjansen |
1:edd760d6380f | 68 | #endif |
Kjansen |
1:edd760d6380f | 69 | |
Kjansen |
1:edd760d6380f | 70 | #if defined(DEV_AD4696) |
Kjansen |
1:edd760d6380f | 71 | #define NO_OF_CHANNELS 16 |
Kjansen |
1:edd760d6380f | 72 | #define ADC_RESOLUTION 16 |
Kjansen |
1:edd760d6380f | 73 | #elif defined(DEV_AD4695) |
Kjansen |
1:edd760d6380f | 74 | #define NO_OF_CHANNELS 16 |
Kjansen |
1:edd760d6380f | 75 | #define ADC_RESOLUTION 16 |
Kjansen |
1:edd760d6380f | 76 | #else |
Kjansen |
1:edd760d6380f | 77 | /* Default config for AD4696 */ |
Kjansen |
1:edd760d6380f | 78 | #define NO_OF_CHANNELS 16 |
Kjansen |
1:edd760d6380f | 79 | #define ADC_RESOLUTION 16 |
Kjansen |
1:edd760d6380f | 80 | #endif |
Kjansen |
1:edd760d6380f | 81 | |
Kjansen |
1:edd760d6380f | 82 | // **** Note for User: Polarity Mode selection **** // |
Kjansen |
1:edd760d6380f | 83 | /* Since the pin pairing option is same for all the channels in |
Kjansen |
1:edd760d6380f | 84 | * standard sequencer mode, hence polarity mode for all the |
Kjansen |
1:edd760d6380f | 85 | * channels is also kept same to avoid stale ADC output codes. |
Kjansen |
1:edd760d6380f | 86 | * Make sure to change the JP6 jumper position on the Eval board to A |
Kjansen |
1:edd760d6380f | 87 | * to use the PSEUDO_BIPOLAR_MODE. |
Kjansen |
1:edd760d6380f | 88 | * |
Kjansen |
1:edd760d6380f | 89 | * Select Pseudo bipolar mode (default is unipolar mode) for all the channels. |
Kjansen |
1:edd760d6380f | 90 | * e.g. #define PSEUDO_BIPOLAR_MODE -> This will enable the PSEUDO_BIPOLAR_MODE |
Kjansen |
1:edd760d6380f | 91 | * for all the channels. |
Kjansen |
1:edd760d6380f | 92 | * */ |
Kjansen |
1:edd760d6380f | 93 | |
Kjansen |
1:edd760d6380f | 94 | //#define PSEUDO_BIPOLAR_MODE |
Kjansen |
1:edd760d6380f | 95 | |
Kjansen |
1:edd760d6380f | 96 | /* Pins to be used an interrupt to trigger callback function */ |
Kjansen |
1:edd760d6380f | 97 | #define EXT_TRIGGER_PIN CONVST_PIN |
Kjansen |
1:edd760d6380f | 98 | |
Kjansen |
1:edd760d6380f | 99 | /* ADC max count (full scale value) for unipolar inputs */ |
Kjansen |
1:edd760d6380f | 100 | #define ADC_MAX_COUNT_UNIPOLAR (uint32_t)((1 << ADC_RESOLUTION) - 1) |
Kjansen |
1:edd760d6380f | 101 | |
Kjansen |
1:edd760d6380f | 102 | /* ADC max count (full scale value) for bipolar inputs */ |
Kjansen |
1:edd760d6380f | 103 | #define ADC_MAX_COUNT_BIPOLAR (uint32_t)(1 << (ADC_RESOLUTION-1)) |
Kjansen |
1:edd760d6380f | 104 | |
Kjansen |
1:edd760d6380f | 105 | /* Baud rate for IIO application UART interface */ |
Kjansen |
1:edd760d6380f | 106 | #define IIO_UART_BAUD_RATE (230400) |
Kjansen |
1:edd760d6380f | 107 | |
Kjansen |
1:edd760d6380f | 108 | /****** Macros used to form a VCOM serial number ******/ |
Kjansen |
1:edd760d6380f | 109 | #if !defined(DEVICE_NAME) |
Kjansen |
1:edd760d6380f | 110 | #define DEVICE_NAME "DEV_AD4696" |
Kjansen |
1:edd760d6380f | 111 | #endif |
Kjansen |
1:edd760d6380f | 112 | |
Kjansen |
1:edd760d6380f | 113 | #if !defined(PLATFORM_NAME) |
Kjansen |
1:edd760d6380f | 114 | #define PLATFORM_NAME "SDP_K1" |
Kjansen |
1:edd760d6380f | 115 | #endif |
Kjansen |
1:edd760d6380f | 116 | /******/ |
Kjansen |
1:edd760d6380f | 117 | |
Kjansen |
1:edd760d6380f | 118 | /* Enable the VirtualCOM port connection/interface. By default serial communication |
Kjansen |
1:edd760d6380f | 119 | * is physical UART */ |
Kjansen |
1:edd760d6380f | 120 | //#define USE_VIRTUAL_COM_PORT |
Kjansen |
1:edd760d6380f | 121 | |
Kjansen |
1:edd760d6380f | 122 | #if defined(USE_VIRTUAL_COM_PORT) |
Kjansen |
1:edd760d6380f | 123 | /* Below USB configurations (VID and PID) are owned and assigned by ADI. |
Kjansen |
1:edd760d6380f | 124 | * If intended to distribute software further, use the VID and PID owned by your |
Kjansen |
1:edd760d6380f | 125 | * organization */ |
Kjansen |
1:edd760d6380f | 126 | #define VIRTUAL_COM_PORT_VID 0x0456 |
Kjansen |
1:edd760d6380f | 127 | #define VIRTUAL_COM_PORT_PID 0xb66c |
Kjansen |
1:edd760d6380f | 128 | /* Serial number string is formed as: application name + device (target) name + platform (host) name */ |
Kjansen |
1:edd760d6380f | 129 | #define VIRTUAL_COM_SERIAL_NUM (FIRMWARE_NAME "_" DEVICE_NAME "_" PLATFORM_NAME) |
Kjansen |
1:edd760d6380f | 130 | #endif |
Kjansen |
1:edd760d6380f | 131 | |
Kjansen |
1:edd760d6380f | 132 | /******************************************************************************/ |
Kjansen |
1:edd760d6380f | 133 | /********************** Variables and User Defined Data Types *****************/ |
Kjansen |
1:edd760d6380f | 134 | /******************************************************************************/ |
Kjansen |
1:edd760d6380f | 135 | |
Kjansen |
1:edd760d6380f | 136 | /******************************************************************************/ |
Kjansen |
1:edd760d6380f | 137 | /************************ Public Declarations *********************************/ |
Kjansen |
1:edd760d6380f | 138 | /******************************************************************************/ |
Kjansen |
1:edd760d6380f | 139 | |
Kjansen |
1:edd760d6380f | 140 | /* UART init parameters structure */ |
Kjansen |
1:edd760d6380f | 141 | extern struct uart_init_param uart_init_params; |
Kjansen |
1:edd760d6380f | 142 | |
Kjansen |
1:edd760d6380f | 143 | /* PWM descriptor */ |
Kjansen |
1:edd760d6380f | 144 | extern struct pwm_desc *pwm_desc; |
Kjansen |
1:edd760d6380f | 145 | |
Kjansen |
1:edd760d6380f | 146 | /* Initializing system peripherals */ |
Kjansen |
1:edd760d6380f | 147 | int32_t init_system(void); |
Kjansen |
1:edd760d6380f | 148 | |
Kjansen |
1:edd760d6380f | 149 | #endif //APP_CONFIG_H |