Combine Cali ADC mode with Cali DAC mode. Vout perform output and sense voltage at the same time.
This commit is contained in:
-1
@@ -7,7 +7,6 @@
|
||||
#define VIN_ADC 0x01
|
||||
#define VOUT_DAC 0x02
|
||||
#define HIGH_Z 0x03
|
||||
#define VOUT_VIN_ADC 0x04
|
||||
|
||||
/** ADC Iin gain level **/
|
||||
#define I_GAIN_3M 0x00 // largest gain
|
||||
|
||||
+1
-2
@@ -163,10 +163,9 @@ static void WorkModeLED() {
|
||||
Elite_led_color(COLOR_RED);
|
||||
}else if(INSTRUCTION.AdcChannel == VIN_ADC){
|
||||
Elite_led_color(COLOR_ORANGE);
|
||||
}else if(INSTRUCTION.AdcChannel == VOUT_VIN_ADC){
|
||||
}else if(INSTRUCTION.AdcChannel == VOUT_DAC){
|
||||
Elite_led_color(COLOR_BLUE);
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
// case VIS_RST: {
|
||||
|
||||
+2
-2
@@ -10,7 +10,7 @@ static void reset() {
|
||||
InitCT();
|
||||
InitGPT();
|
||||
|
||||
PIN15_setOutputValue(HIGH_Z_MODE, 0); // 0 => open high_z mode
|
||||
PIN15_setOutputValue(HIGH_Z_MODE, 1); // 0 => open high_z mode
|
||||
|
||||
VinADCGainControl(VIN_GAIN_AUTO);
|
||||
IinADCGainControl(I_GAIN_AUTO);
|
||||
@@ -48,7 +48,7 @@ static void Eliteinterrupt() {
|
||||
InitCT();
|
||||
InitGPT();
|
||||
|
||||
PIN15_setOutputValue(HIGH_Z_MODE, 0); // 0 => open high_z mode
|
||||
PIN15_setOutputValue(HIGH_Z_MODE, 1); // 0 => open high_z mode
|
||||
|
||||
INSTRUCTION.VoutGainLevel = VOUT_GAIN_15K;
|
||||
VoutGainControl(INSTRUCTION.VoutGainLevel);
|
||||
|
||||
+5
-3
@@ -1129,7 +1129,7 @@ static void update_ZM_instruction(uint8 *ins) {
|
||||
break;
|
||||
}
|
||||
|
||||
case CALI_DAC_MODE: {
|
||||
case CALI_DAC_MODE: { // 0x93
|
||||
ModeLED(WORKING);
|
||||
INSTRUCTION.eliteFxn = CALI_DAC_MODE;
|
||||
PIN15_setOutputValue(HIGH_Z_MODE, 1); // 1 => close high_z mode
|
||||
@@ -1157,12 +1157,14 @@ static void update_ZM_instruction(uint8 *ins) {
|
||||
ModeLED(WORKING);
|
||||
break;
|
||||
}
|
||||
case VOUT_VIN_ADC : { // 0x04
|
||||
case VOUT_DAC : { // 0x02
|
||||
INSTRUCTION.eliteFxn = CALI_ADC_MODE;
|
||||
INSTRUCTION.AdcChannel = VOUT_VIN_ADC;
|
||||
INSTRUCTION.AdcChannel = VOUT_DAC;
|
||||
INSTRUCTION.notifyRate = 1000;
|
||||
INSTRUCTION.sampleRate = 15;
|
||||
INSTRUCTION.VoViSwitch = 0x00; // 0: read Vout voltage
|
||||
PIN15_setOutputValue(HIGH_Z_MODE, 1); // 1 => close high_z mode
|
||||
INSTRUCTION.VoltConstant = ( ((uint16_t)(ins[4])) << 8) | (uint16_t)(ins[5]); // output voltage
|
||||
ModeLED(WORKING);
|
||||
break;
|
||||
}
|
||||
|
||||
+2
-1
@@ -380,7 +380,8 @@ static void EliteADCControl(WorkMode *WorkModeData) {
|
||||
cali_IT_plot(WorkModeData);
|
||||
}else if(INSTRUCTION.AdcChannel == VIN_ADC){
|
||||
cali_VT_plot(WorkModeData);
|
||||
}else if(INSTRUCTION.AdcChannel == VOUT_VIN_ADC){
|
||||
}else if(INSTRUCTION.AdcChannel == VOUT_DAC){
|
||||
DAC_outputV(INSTRUCTION.VoltConstant); //UserCode -> DAC code -> DAC out
|
||||
cali_VT_plot(WorkModeData);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user