Shivam Garg
/
EVAL-ADBMS2950_copy
program/src/application.cpp@4:0e99350684aa, 2020-07-28 (annotated)
- Committer:
- dpandit1988
- Date:
- Tue Jul 28 05:21:22 2020 +0000
- Revision:
- 4:0e99350684aa
- Parent:
- 1:94a3e8fe5e25
- Child:
- 6:5d29fdcbae72
Adi1 & Adi2 cmd for both the conversion new test case added. GPO & GPIO config and status E reg. mapping driver code update as per 17-July-2020 datasheet.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
dpandit1988 | 1:94a3e8fe5e25 | 1 | /** |
dpandit1988 | 1:94a3e8fe5e25 | 2 | ******************************************************************************** |
dpandit1988 | 1:94a3e8fe5e25 | 3 | * |
dpandit1988 | 1:94a3e8fe5e25 | 4 | * @file: application.c |
dpandit1988 | 1:94a3e8fe5e25 | 5 | * |
dpandit1988 | 1:94a3e8fe5e25 | 6 | * @brief: This file contains the application test cases. |
dpandit1988 | 1:94a3e8fe5e25 | 7 | * |
dpandit1988 | 1:94a3e8fe5e25 | 8 | * @details: |
dpandit1988 | 1:94a3e8fe5e25 | 9 | * |
dpandit1988 | 1:94a3e8fe5e25 | 10 | ******************************************************************************* |
dpandit1988 | 1:94a3e8fe5e25 | 11 | Copyright(c) 2020 Analog Devices, Inc. All Rights Reserved. This software is |
dpandit1988 | 1:94a3e8fe5e25 | 12 | proprietary & confidential to Analog Devices, Inc. and its licensors. By using |
dpandit1988 | 1:94a3e8fe5e25 | 13 | this software you agree to the terms of the associated Analog Devices License |
dpandit1988 | 1:94a3e8fe5e25 | 14 | Agreement. |
dpandit1988 | 1:94a3e8fe5e25 | 15 | ******************************************************************************* |
dpandit1988 | 1:94a3e8fe5e25 | 16 | */ |
dpandit1988 | 1:94a3e8fe5e25 | 17 | /*! \addtogroup Main |
dpandit1988 | 1:94a3e8fe5e25 | 18 | * @{ |
dpandit1988 | 1:94a3e8fe5e25 | 19 | */ |
dpandit1988 | 1:94a3e8fe5e25 | 20 | |
dpandit1988 | 1:94a3e8fe5e25 | 21 | /*! \addtogroup Application |
dpandit1988 | 1:94a3e8fe5e25 | 22 | * @{ |
dpandit1988 | 1:94a3e8fe5e25 | 23 | */ |
dpandit1988 | 1:94a3e8fe5e25 | 24 | /*============= I N C L U D E S =============*/ |
dpandit1988 | 1:94a3e8fe5e25 | 25 | /*============== D E F I N E S ===============*/ |
dpandit1988 | 1:94a3e8fe5e25 | 26 | /*============= E X T E R N A L S ============*/ |
dpandit1988 | 1:94a3e8fe5e25 | 27 | /*============= E N U M E R A T O R S ============*/ |
dpandit1988 | 1:94a3e8fe5e25 | 28 | |
dpandit1988 | 1:94a3e8fe5e25 | 29 | #include "application.h" |
dpandit1988 | 1:94a3e8fe5e25 | 30 | #ifdef MBED |
dpandit1988 | 1:94a3e8fe5e25 | 31 | extern Serial pc; |
dpandit1988 | 1:94a3e8fe5e25 | 32 | #endif /* MBED */ |
dpandit1988 | 1:94a3e8fe5e25 | 33 | /** |
dpandit1988 | 1:94a3e8fe5e25 | 34 | ******************************************************************************* |
dpandit1988 | 1:94a3e8fe5e25 | 35 | * @brief Setup Variables |
dpandit1988 | 1:94a3e8fe5e25 | 36 | * The following variables can be modified to configure the software. |
dpandit1988 | 1:94a3e8fe5e25 | 37 | ******************************************************************************* |
dpandit1988 | 1:94a3e8fe5e25 | 38 | */ |
dpandit1988 | 1:94a3e8fe5e25 | 39 | |
dpandit1988 | 1:94a3e8fe5e25 | 40 | #define TOTAL_IC 1 |
dpandit1988 | 1:94a3e8fe5e25 | 41 | cell_asic IC[TOTAL_IC]; |
dpandit1988 | 1:94a3e8fe5e25 | 42 | |
dpandit1988 | 1:94a3e8fe5e25 | 43 | void app_main() |
dpandit1988 | 1:94a3e8fe5e25 | 44 | { |
dpandit1988 | 1:94a3e8fe5e25 | 45 | printMenu(); |
dpandit1988 | 1:94a3e8fe5e25 | 46 | while(1) |
dpandit1988 | 1:94a3e8fe5e25 | 47 | { |
dpandit1988 | 1:94a3e8fe5e25 | 48 | int user_command; |
dpandit1988 | 1:94a3e8fe5e25 | 49 | #ifdef MBED |
dpandit1988 | 1:94a3e8fe5e25 | 50 | pc.scanf("%d", &user_command); |
dpandit1988 | 1:94a3e8fe5e25 | 51 | pc.printf("Enter cmd:%d\n", user_command); |
dpandit1988 | 1:94a3e8fe5e25 | 52 | #else /* IAR */ |
dpandit1988 | 1:94a3e8fe5e25 | 53 | scanf("%d", &user_command); |
dpandit1988 | 1:94a3e8fe5e25 | 54 | printf("Enter cmd:%d\n", user_command); |
dpandit1988 | 1:94a3e8fe5e25 | 55 | #endif /* MBED */ |
dpandit1988 | 1:94a3e8fe5e25 | 56 | adi2950_init_config(TOTAL_IC, &IC[0]); |
dpandit1988 | 1:94a3e8fe5e25 | 57 | run_command(user_command); /*!< Run test case */ |
dpandit1988 | 1:94a3e8fe5e25 | 58 | } |
dpandit1988 | 1:94a3e8fe5e25 | 59 | } |
dpandit1988 | 1:94a3e8fe5e25 | 60 | |
dpandit1988 | 1:94a3e8fe5e25 | 61 | void run_command(int cmd) |
dpandit1988 | 1:94a3e8fe5e25 | 62 | { |
dpandit1988 | 1:94a3e8fe5e25 | 63 | switch(cmd) |
dpandit1988 | 1:94a3e8fe5e25 | 64 | { |
dpandit1988 | 1:94a3e8fe5e25 | 65 | case 1: |
dpandit1988 | 1:94a3e8fe5e25 | 66 | adi2950_write_read_config(TOTAL_IC, &IC[0]); |
dpandit1988 | 1:94a3e8fe5e25 | 67 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 68 | |
dpandit1988 | 1:94a3e8fe5e25 | 69 | case 2: |
dpandit1988 | 1:94a3e8fe5e25 | 70 | adi2950_read_config(TOTAL_IC, &IC[0]); |
dpandit1988 | 1:94a3e8fe5e25 | 71 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 72 | |
dpandit1988 | 1:94a3e8fe5e25 | 73 | case 3: |
dpandit1988 | 1:94a3e8fe5e25 | 74 | adi2950_start_adi1_measurment(TOTAL_IC); |
dpandit1988 | 1:94a3e8fe5e25 | 75 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 76 | |
dpandit1988 | 1:94a3e8fe5e25 | 77 | case 4: |
dpandit1988 | 1:94a3e8fe5e25 | 78 | adi2950_start_adi2_measurment(TOTAL_IC); |
dpandit1988 | 1:94a3e8fe5e25 | 79 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 80 | |
dpandit1988 | 1:94a3e8fe5e25 | 81 | case 5: |
dpandit1988 | 4:0e99350684aa | 82 | adi2950_start_adi1_adi2_measurment(TOTAL_IC); |
dpandit1988 | 1:94a3e8fe5e25 | 83 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 84 | |
dpandit1988 | 1:94a3e8fe5e25 | 85 | case 6: |
dpandit1988 | 4:0e99350684aa | 86 | adi2950_read_current_register(TOTAL_IC, &IC[0]); |
dpandit1988 | 1:94a3e8fe5e25 | 87 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 88 | |
dpandit1988 | 1:94a3e8fe5e25 | 89 | case 7: |
dpandit1988 | 4:0e99350684aa | 90 | adi2950_read_vbat_register(TOTAL_IC, &IC[0]); |
dpandit1988 | 1:94a3e8fe5e25 | 91 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 92 | |
dpandit1988 | 1:94a3e8fe5e25 | 93 | case 8: |
dpandit1988 | 4:0e99350684aa | 94 | adi2950_read_ivbat_register(TOTAL_IC, &IC[0]); |
dpandit1988 | 1:94a3e8fe5e25 | 95 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 96 | |
dpandit1988 | 1:94a3e8fe5e25 | 97 | case 9: |
dpandit1988 | 4:0e99350684aa | 98 | adi2950_read_ocr_register(TOTAL_IC, &IC[0]); |
dpandit1988 | 1:94a3e8fe5e25 | 99 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 100 | |
dpandit1988 | 1:94a3e8fe5e25 | 101 | case 10: |
dpandit1988 | 4:0e99350684aa | 102 | adi2950_read_avgcr_register(TOTAL_IC, &IC[0]); |
dpandit1988 | 1:94a3e8fe5e25 | 103 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 104 | |
dpandit1988 | 1:94a3e8fe5e25 | 105 | case 11: |
dpandit1988 | 4:0e99350684aa | 106 | adi2950_read_avgvbat_register(TOTAL_IC, &IC[0]); |
dpandit1988 | 4:0e99350684aa | 107 | break; |
dpandit1988 | 4:0e99350684aa | 108 | |
dpandit1988 | 4:0e99350684aa | 109 | case 12: |
dpandit1988 | 1:94a3e8fe5e25 | 110 | adi2950_read_avgivbat_register(TOTAL_IC, &IC[0]); |
dpandit1988 | 1:94a3e8fe5e25 | 111 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 112 | |
dpandit1988 | 4:0e99350684aa | 113 | case 13: |
dpandit1988 | 1:94a3e8fe5e25 | 114 | adi2950_start_adv_measurment(TOTAL_IC); |
dpandit1988 | 1:94a3e8fe5e25 | 115 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 116 | |
dpandit1988 | 4:0e99350684aa | 117 | case 14: |
dpandit1988 | 1:94a3e8fe5e25 | 118 | adi2950_read_vr_registers(TOTAL_IC, &IC[0]); |
dpandit1988 | 1:94a3e8fe5e25 | 119 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 120 | |
dpandit1988 | 4:0e99350684aa | 121 | case 15: |
dpandit1988 | 1:94a3e8fe5e25 | 122 | adi2950_read_vrx_registers(TOTAL_IC, &IC[0]); |
dpandit1988 | 1:94a3e8fe5e25 | 123 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 124 | |
dpandit1988 | 1:94a3e8fe5e25 | 125 | case 16: |
dpandit1988 | 4:0e99350684aa | 126 | adi2950_read_rvr_registers(TOTAL_IC, &IC[0]); |
dpandit1988 | 1:94a3e8fe5e25 | 127 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 128 | |
dpandit1988 | 1:94a3e8fe5e25 | 129 | case 17: |
dpandit1988 | 4:0e99350684aa | 130 | adi2950_start_adaux_measurment(TOTAL_IC); |
dpandit1988 | 1:94a3e8fe5e25 | 131 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 132 | |
dpandit1988 | 1:94a3e8fe5e25 | 133 | case 18: |
dpandit1988 | 4:0e99350684aa | 134 | adi2950_read_adaux_measurment(TOTAL_IC, &IC[0]); |
dpandit1988 | 1:94a3e8fe5e25 | 135 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 136 | |
dpandit1988 | 1:94a3e8fe5e25 | 137 | case 19: |
dpandit1988 | 4:0e99350684aa | 138 | adi2950_read_all_status_registers(TOTAL_IC, &IC[0]); |
dpandit1988 | 1:94a3e8fe5e25 | 139 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 140 | |
dpandit1988 | 1:94a3e8fe5e25 | 141 | case 20: |
dpandit1988 | 4:0e99350684aa | 142 | adi2950_read_device_sid(TOTAL_IC, &IC[0]); |
dpandit1988 | 1:94a3e8fe5e25 | 143 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 144 | |
dpandit1988 | 1:94a3e8fe5e25 | 145 | case 21: |
dpandit1988 | 4:0e99350684aa | 146 | adi2950_soft_reset(TOTAL_IC); |
dpandit1988 | 1:94a3e8fe5e25 | 147 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 148 | |
dpandit1988 | 1:94a3e8fe5e25 | 149 | case 22: |
dpandit1988 | 4:0e99350684aa | 150 | adi2950_reset_cmd_count(TOTAL_IC); |
dpandit1988 | 1:94a3e8fe5e25 | 151 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 152 | |
dpandit1988 | 1:94a3e8fe5e25 | 153 | case 23: |
dpandit1988 | 4:0e99350684aa | 154 | adi2950_snap(TOTAL_IC); |
dpandit1988 | 1:94a3e8fe5e25 | 155 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 156 | |
dpandit1988 | 1:94a3e8fe5e25 | 157 | case 24: |
dpandit1988 | 4:0e99350684aa | 158 | adi2950_unsnap(TOTAL_IC); |
dpandit1988 | 1:94a3e8fe5e25 | 159 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 160 | |
dpandit1988 | 1:94a3e8fe5e25 | 161 | case 25: |
dpandit1988 | 4:0e99350684aa | 162 | adi2950_gpio_spi_communication(TOTAL_IC, &IC[0]); |
dpandit1988 | 1:94a3e8fe5e25 | 163 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 164 | |
dpandit1988 | 1:94a3e8fe5e25 | 165 | case 26: |
dpandit1988 | 4:0e99350684aa | 166 | adi2950_gpio_i2c_write_to_slave(TOTAL_IC, &IC[0]); |
dpandit1988 | 4:0e99350684aa | 167 | break; |
dpandit1988 | 4:0e99350684aa | 168 | |
dpandit1988 | 4:0e99350684aa | 169 | case 27: |
dpandit1988 | 1:94a3e8fe5e25 | 170 | adi2950_gpio_i2c_read_from_slave(TOTAL_IC, &IC[0]); |
dpandit1988 | 1:94a3e8fe5e25 | 171 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 172 | |
dpandit1988 | 4:0e99350684aa | 173 | case 28: |
dpandit1988 | 1:94a3e8fe5e25 | 174 | adi2950_set_reset_gpo_pins(TOTAL_IC, &IC[0]); |
dpandit1988 | 1:94a3e8fe5e25 | 175 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 176 | |
dpandit1988 | 1:94a3e8fe5e25 | 177 | case 0: |
dpandit1988 | 1:94a3e8fe5e25 | 178 | printMenu(); |
dpandit1988 | 1:94a3e8fe5e25 | 179 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 180 | |
dpandit1988 | 1:94a3e8fe5e25 | 181 | default: |
dpandit1988 | 1:94a3e8fe5e25 | 182 | printMsg("Incorrect Option"); |
dpandit1988 | 1:94a3e8fe5e25 | 183 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 184 | } |
dpandit1988 | 1:94a3e8fe5e25 | 185 | } |
dpandit1988 | 1:94a3e8fe5e25 | 186 | /** @}*/ |
dpandit1988 | 1:94a3e8fe5e25 | 187 | /** @}*/ |