Shivam Garg
/
EVAL-ADBMS2950_copy
program/src/application.cpp@6:5d29fdcbae72, 2020-07-30 (annotated)
- Committer:
- dpandit1988
- Date:
- Thu Jul 30 10:42:10 2020 +0000
- Revision:
- 6:5d29fdcbae72
- Parent:
- 4:0e99350684aa
- Child:
- 9:0a4828d32e76
Optimize the Tiger print menu test list and test code updated.
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 | 6:5d29fdcbae72 | 42 | int loop_measurment_count = 10; /* Loop measurment count (default count)*/ |
dpandit1988 | 6:5d29fdcbae72 | 43 | int loop_measurment_time = 1; /* milliseconds(mS)*/ |
dpandit1988 | 6:5d29fdcbae72 | 44 | int loop_count = 0; |
dpandit1988 | 1:94a3e8fe5e25 | 45 | |
dpandit1988 | 1:94a3e8fe5e25 | 46 | void app_main() |
dpandit1988 | 1:94a3e8fe5e25 | 47 | { |
dpandit1988 | 1:94a3e8fe5e25 | 48 | printMenu(); |
dpandit1988 | 1:94a3e8fe5e25 | 49 | while(1) |
dpandit1988 | 1:94a3e8fe5e25 | 50 | { |
dpandit1988 | 1:94a3e8fe5e25 | 51 | int user_command; |
dpandit1988 | 6:5d29fdcbae72 | 52 | readUserInupt(&user_command); |
dpandit1988 | 1:94a3e8fe5e25 | 53 | adi2950_init_config(TOTAL_IC, &IC[0]); |
dpandit1988 | 1:94a3e8fe5e25 | 54 | run_command(user_command); /*!< Run test case */ |
dpandit1988 | 1:94a3e8fe5e25 | 55 | } |
dpandit1988 | 1:94a3e8fe5e25 | 56 | } |
dpandit1988 | 1:94a3e8fe5e25 | 57 | |
dpandit1988 | 1:94a3e8fe5e25 | 58 | void run_command(int cmd) |
dpandit1988 | 1:94a3e8fe5e25 | 59 | { |
dpandit1988 | 1:94a3e8fe5e25 | 60 | switch(cmd) |
dpandit1988 | 1:94a3e8fe5e25 | 61 | { |
dpandit1988 | 1:94a3e8fe5e25 | 62 | case 1: |
dpandit1988 | 1:94a3e8fe5e25 | 63 | adi2950_write_read_config(TOTAL_IC, &IC[0]); |
dpandit1988 | 1:94a3e8fe5e25 | 64 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 65 | |
dpandit1988 | 1:94a3e8fe5e25 | 66 | case 2: |
dpandit1988 | 1:94a3e8fe5e25 | 67 | adi2950_read_config(TOTAL_IC, &IC[0]); |
dpandit1988 | 1:94a3e8fe5e25 | 68 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 69 | |
dpandit1988 | 1:94a3e8fe5e25 | 70 | case 3: |
dpandit1988 | 6:5d29fdcbae72 | 71 | adi2950_start_adi1_single_measurment(TOTAL_IC); |
dpandit1988 | 1:94a3e8fe5e25 | 72 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 73 | |
dpandit1988 | 1:94a3e8fe5e25 | 74 | case 4: |
dpandit1988 | 6:5d29fdcbae72 | 75 | adi2950_start_adi2_single_measurment(TOTAL_IC); |
dpandit1988 | 1:94a3e8fe5e25 | 76 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 77 | |
dpandit1988 | 1:94a3e8fe5e25 | 78 | case 5: |
dpandit1988 | 6:5d29fdcbae72 | 79 | adi2950_start_adi1_continuous_measurment(TOTAL_IC); |
dpandit1988 | 1:94a3e8fe5e25 | 80 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 81 | |
dpandit1988 | 1:94a3e8fe5e25 | 82 | case 6: |
dpandit1988 | 6:5d29fdcbae72 | 83 | adi2950_start_adi2_continuous_measurment(TOTAL_IC); |
dpandit1988 | 1:94a3e8fe5e25 | 84 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 85 | |
dpandit1988 | 1:94a3e8fe5e25 | 86 | case 7: |
dpandit1988 | 6:5d29fdcbae72 | 87 | adi2950_start_adi1_redundant_single_measurment(TOTAL_IC); |
dpandit1988 | 1:94a3e8fe5e25 | 88 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 89 | |
dpandit1988 | 1:94a3e8fe5e25 | 90 | case 8: |
dpandit1988 | 6:5d29fdcbae72 | 91 | adi2950_start_adi1_redundant_continuous_measurment(TOTAL_IC); |
dpandit1988 | 1:94a3e8fe5e25 | 92 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 93 | |
dpandit1988 | 1:94a3e8fe5e25 | 94 | case 9: |
dpandit1988 | 6:5d29fdcbae72 | 95 | adi2950_read_cr_vbat_ivbat_registers(TOTAL_IC, &IC[0]); |
dpandit1988 | 1:94a3e8fe5e25 | 96 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 97 | |
dpandit1988 | 1:94a3e8fe5e25 | 98 | case 10: |
dpandit1988 | 6:5d29fdcbae72 | 99 | loop_count = 0; |
dpandit1988 | 6:5d29fdcbae72 | 100 | printMsg("Please enter loop measurment count:"); |
dpandit1988 | 6:5d29fdcbae72 | 101 | readUserInupt(&loop_measurment_count); |
dpandit1988 | 6:5d29fdcbae72 | 102 | while(loop_count < loop_measurment_count) |
dpandit1988 | 6:5d29fdcbae72 | 103 | { |
dpandit1988 | 6:5d29fdcbae72 | 104 | printResultCount(loop_count); |
dpandit1988 | 6:5d29fdcbae72 | 105 | adi2950_read_cr_vbat_ivbat_registers(TOTAL_IC, &IC[0]); |
dpandit1988 | 6:5d29fdcbae72 | 106 | Delay_ms(loop_measurment_time); |
dpandit1988 | 6:5d29fdcbae72 | 107 | loop_count = loop_count + 1; |
dpandit1988 | 6:5d29fdcbae72 | 108 | } |
dpandit1988 | 1:94a3e8fe5e25 | 109 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 110 | |
dpandit1988 | 1:94a3e8fe5e25 | 111 | case 11: |
dpandit1988 | 6:5d29fdcbae72 | 112 | adi2950_read_ocr_register(TOTAL_IC, &IC[0]); |
dpandit1988 | 4:0e99350684aa | 113 | break; |
dpandit1988 | 4:0e99350684aa | 114 | |
dpandit1988 | 4:0e99350684aa | 115 | case 12: |
dpandit1988 | 6:5d29fdcbae72 | 116 | loop_count = 0; |
dpandit1988 | 6:5d29fdcbae72 | 117 | printMsg("Please enter loop measurment count:"); |
dpandit1988 | 6:5d29fdcbae72 | 118 | readUserInupt(&loop_measurment_count); |
dpandit1988 | 6:5d29fdcbae72 | 119 | while(loop_count < loop_measurment_count) |
dpandit1988 | 6:5d29fdcbae72 | 120 | { |
dpandit1988 | 6:5d29fdcbae72 | 121 | printResultCount(loop_count); |
dpandit1988 | 6:5d29fdcbae72 | 122 | adi2950_read_ocr_register(TOTAL_IC, &IC[0]); |
dpandit1988 | 6:5d29fdcbae72 | 123 | Delay_ms(loop_measurment_time); |
dpandit1988 | 6:5d29fdcbae72 | 124 | loop_count = loop_count + 1; |
dpandit1988 | 6:5d29fdcbae72 | 125 | } |
dpandit1988 | 1:94a3e8fe5e25 | 126 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 127 | |
dpandit1988 | 4:0e99350684aa | 128 | case 13: |
dpandit1988 | 6:5d29fdcbae72 | 129 | adi2950_read_avgcr_avgvbat_avgivbat_registers(TOTAL_IC, &IC[0]); |
dpandit1988 | 1:94a3e8fe5e25 | 130 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 131 | |
dpandit1988 | 4:0e99350684aa | 132 | case 14: |
dpandit1988 | 6:5d29fdcbae72 | 133 | loop_count = 0; |
dpandit1988 | 6:5d29fdcbae72 | 134 | printMsg("Please enter loop measurment count:"); |
dpandit1988 | 6:5d29fdcbae72 | 135 | readUserInupt(&loop_measurment_count); |
dpandit1988 | 6:5d29fdcbae72 | 136 | while(loop_count < loop_measurment_count) |
dpandit1988 | 6:5d29fdcbae72 | 137 | { |
dpandit1988 | 6:5d29fdcbae72 | 138 | printResultCount(loop_count); |
dpandit1988 | 6:5d29fdcbae72 | 139 | adi2950_read_avgcr_avgvbat_avgivbat_registers(TOTAL_IC, &IC[0]); |
dpandit1988 | 6:5d29fdcbae72 | 140 | Delay_ms(loop_measurment_time); |
dpandit1988 | 6:5d29fdcbae72 | 141 | loop_count = loop_count + 1; |
dpandit1988 | 6:5d29fdcbae72 | 142 | } |
dpandit1988 | 6:5d29fdcbae72 | 143 | break; |
dpandit1988 | 6:5d29fdcbae72 | 144 | |
dpandit1988 | 6:5d29fdcbae72 | 145 | case 15: |
dpandit1988 | 6:5d29fdcbae72 | 146 | adi2950_all_current_battery_voltage_registers(TOTAL_IC, &IC[0]); |
dpandit1988 | 6:5d29fdcbae72 | 147 | break; |
dpandit1988 | 6:5d29fdcbae72 | 148 | |
dpandit1988 | 6:5d29fdcbae72 | 149 | case 16: |
dpandit1988 | 6:5d29fdcbae72 | 150 | printMsg("Please enter loop measurment count:"); |
dpandit1988 | 6:5d29fdcbae72 | 151 | readUserInupt(&loop_measurment_count); |
dpandit1988 | 6:5d29fdcbae72 | 152 | loop_count = 0; |
dpandit1988 | 6:5d29fdcbae72 | 153 | while(loop_count < loop_measurment_count) |
dpandit1988 | 6:5d29fdcbae72 | 154 | { |
dpandit1988 | 6:5d29fdcbae72 | 155 | printResultCount(loop_count); |
dpandit1988 | 6:5d29fdcbae72 | 156 | adi2950_all_current_battery_voltage_registers(TOTAL_IC, &IC[0]); |
dpandit1988 | 6:5d29fdcbae72 | 157 | Delay_ms(loop_measurment_time); |
dpandit1988 | 6:5d29fdcbae72 | 158 | loop_count = loop_count + 1; |
dpandit1988 | 6:5d29fdcbae72 | 159 | } |
dpandit1988 | 6:5d29fdcbae72 | 160 | break; |
dpandit1988 | 6:5d29fdcbae72 | 161 | |
dpandit1988 | 6:5d29fdcbae72 | 162 | case 17: |
dpandit1988 | 6:5d29fdcbae72 | 163 | adi2950_start_adv_measurment(TOTAL_IC); |
dpandit1988 | 6:5d29fdcbae72 | 164 | break; |
dpandit1988 | 6:5d29fdcbae72 | 165 | |
dpandit1988 | 6:5d29fdcbae72 | 166 | case 18: |
dpandit1988 | 1:94a3e8fe5e25 | 167 | adi2950_read_vr_registers(TOTAL_IC, &IC[0]); |
dpandit1988 | 1:94a3e8fe5e25 | 168 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 169 | |
dpandit1988 | 6:5d29fdcbae72 | 170 | case 19: |
dpandit1988 | 6:5d29fdcbae72 | 171 | adi2950_read_rvr_registers(TOTAL_IC, &IC[0]); |
dpandit1988 | 6:5d29fdcbae72 | 172 | break; |
dpandit1988 | 6:5d29fdcbae72 | 173 | |
dpandit1988 | 6:5d29fdcbae72 | 174 | case 20: |
dpandit1988 | 6:5d29fdcbae72 | 175 | adi2950_read_vr_rvr_registers(TOTAL_IC, &IC[0]); |
dpandit1988 | 6:5d29fdcbae72 | 176 | break; |
dpandit1988 | 6:5d29fdcbae72 | 177 | |
dpandit1988 | 6:5d29fdcbae72 | 178 | case 21: |
dpandit1988 | 1:94a3e8fe5e25 | 179 | adi2950_read_vrx_registers(TOTAL_IC, &IC[0]); |
dpandit1988 | 1:94a3e8fe5e25 | 180 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 181 | |
dpandit1988 | 6:5d29fdcbae72 | 182 | case 22: |
dpandit1988 | 4:0e99350684aa | 183 | adi2950_start_adaux_measurment(TOTAL_IC); |
dpandit1988 | 1:94a3e8fe5e25 | 184 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 185 | |
dpandit1988 | 6:5d29fdcbae72 | 186 | case 23: |
dpandit1988 | 4:0e99350684aa | 187 | adi2950_read_adaux_measurment(TOTAL_IC, &IC[0]); |
dpandit1988 | 1:94a3e8fe5e25 | 188 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 189 | |
dpandit1988 | 6:5d29fdcbae72 | 190 | case 24: |
dpandit1988 | 6:5d29fdcbae72 | 191 | adi2950_read_status_c_register(TOTAL_IC, &IC[0]); |
dpandit1988 | 6:5d29fdcbae72 | 192 | break; |
dpandit1988 | 6:5d29fdcbae72 | 193 | |
dpandit1988 | 6:5d29fdcbae72 | 194 | case 25: |
dpandit1988 | 4:0e99350684aa | 195 | adi2950_read_all_status_registers(TOTAL_IC, &IC[0]); |
dpandit1988 | 1:94a3e8fe5e25 | 196 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 197 | |
dpandit1988 | 6:5d29fdcbae72 | 198 | case 26: |
dpandit1988 | 4:0e99350684aa | 199 | adi2950_read_device_sid(TOTAL_IC, &IC[0]); |
dpandit1988 | 1:94a3e8fe5e25 | 200 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 201 | |
dpandit1988 | 6:5d29fdcbae72 | 202 | case 27: |
dpandit1988 | 4:0e99350684aa | 203 | adi2950_soft_reset(TOTAL_IC); |
dpandit1988 | 1:94a3e8fe5e25 | 204 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 205 | |
dpandit1988 | 6:5d29fdcbae72 | 206 | case 28: |
dpandit1988 | 4:0e99350684aa | 207 | adi2950_reset_cmd_count(TOTAL_IC); |
dpandit1988 | 1:94a3e8fe5e25 | 208 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 209 | |
dpandit1988 | 6:5d29fdcbae72 | 210 | case 29: |
dpandit1988 | 4:0e99350684aa | 211 | adi2950_snap(TOTAL_IC); |
dpandit1988 | 1:94a3e8fe5e25 | 212 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 213 | |
dpandit1988 | 6:5d29fdcbae72 | 214 | case 30: |
dpandit1988 | 4:0e99350684aa | 215 | adi2950_unsnap(TOTAL_IC); |
dpandit1988 | 1:94a3e8fe5e25 | 216 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 217 | |
dpandit1988 | 6:5d29fdcbae72 | 218 | case 31: |
dpandit1988 | 6:5d29fdcbae72 | 219 | adi2950_set_reset_gpo_pins(TOTAL_IC, &IC[0]); |
dpandit1988 | 1:94a3e8fe5e25 | 220 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 221 | |
dpandit1988 | 6:5d29fdcbae72 | 222 | case 32: |
dpandit1988 | 6:5d29fdcbae72 | 223 | adi2950_gpio_spi_write_to_slave(TOTAL_IC, &IC[0]); |
dpandit1988 | 6:5d29fdcbae72 | 224 | break; |
dpandit1988 | 6:5d29fdcbae72 | 225 | |
dpandit1988 | 6:5d29fdcbae72 | 226 | case 33: |
dpandit1988 | 6:5d29fdcbae72 | 227 | adi2950_gpio_spi_read_from_slave(TOTAL_IC, &IC[0]); |
dpandit1988 | 6:5d29fdcbae72 | 228 | break; |
dpandit1988 | 6:5d29fdcbae72 | 229 | |
dpandit1988 | 6:5d29fdcbae72 | 230 | case 34: |
dpandit1988 | 4:0e99350684aa | 231 | adi2950_gpio_i2c_write_to_slave(TOTAL_IC, &IC[0]); |
dpandit1988 | 4:0e99350684aa | 232 | break; |
dpandit1988 | 4:0e99350684aa | 233 | |
dpandit1988 | 6:5d29fdcbae72 | 234 | case 35: |
dpandit1988 | 1:94a3e8fe5e25 | 235 | adi2950_gpio_i2c_read_from_slave(TOTAL_IC, &IC[0]); |
dpandit1988 | 1:94a3e8fe5e25 | 236 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 237 | |
dpandit1988 | 1:94a3e8fe5e25 | 238 | case 0: |
dpandit1988 | 1:94a3e8fe5e25 | 239 | printMenu(); |
dpandit1988 | 1:94a3e8fe5e25 | 240 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 241 | |
dpandit1988 | 1:94a3e8fe5e25 | 242 | default: |
dpandit1988 | 1:94a3e8fe5e25 | 243 | printMsg("Incorrect Option"); |
dpandit1988 | 1:94a3e8fe5e25 | 244 | break; |
dpandit1988 | 1:94a3e8fe5e25 | 245 | } |
dpandit1988 | 1:94a3e8fe5e25 | 246 | } |
dpandit1988 | 1:94a3e8fe5e25 | 247 | /** @}*/ |
dpandit1988 | 1:94a3e8fe5e25 | 248 | /** @}*/ |