Dependencies:   ADBMS2950

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?

UserRevisionLine numberNew 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 /** @}*/