[update] test struct fail
This commit is contained in:
+8
-1
@@ -6,6 +6,7 @@
|
||||
#include "EliteInstruction.h"
|
||||
|
||||
static bool Free_Work_Mode = false;
|
||||
static int32_t testV = 0;
|
||||
typedef void (*InitWorkData) ();
|
||||
|
||||
/***** Template of Measure and VoltOut parameter *****/
|
||||
@@ -144,7 +145,7 @@ VTMode * InitVTMode(){
|
||||
ret->_measureCurrent = 0;
|
||||
ret->_measureVin = 0;
|
||||
ret->_measureVout = 0;
|
||||
ret->_measureBat = 5;
|
||||
ret->_measureBat = 6789;
|
||||
ret->_VoViSwitch = INSTRUCTION.VoViSwitch;
|
||||
return ret;
|
||||
}
|
||||
@@ -466,21 +467,27 @@ WorkMode *CreateWorkMode(){
|
||||
void InitWorkMode(WorkMode *WM){
|
||||
switch(INSTRUCTION.eliteFxn){
|
||||
case TT_CURVE:
|
||||
testV = 1;
|
||||
WM->TT = InitTTMode();
|
||||
break;
|
||||
case VOLT_OUTPUT:
|
||||
testV = 2;
|
||||
WM->VO = InitVoltOutMode();
|
||||
break;
|
||||
case CALI_DAC_MODE:
|
||||
testV = 3;
|
||||
WM->VO = InitVoltOutMode();
|
||||
break;
|
||||
case IT_CURVE:
|
||||
testV = 4;
|
||||
WM->IT = InitITMode();
|
||||
break;
|
||||
case VT_CURVE:
|
||||
testV = 5;
|
||||
WM->VT = InitVTMode();
|
||||
break;
|
||||
case ZT_CURVE:
|
||||
testV = 6;
|
||||
WM->RT = InitRTMode();
|
||||
break;
|
||||
case IV_CURVE:
|
||||
|
||||
-22
@@ -44,28 +44,6 @@ enum all_mode_e {
|
||||
PULSE_MODE = 0x94,
|
||||
};
|
||||
|
||||
#define IV_CURVE 0x10
|
||||
#define CV_CURVE 0x20
|
||||
#define VOLT_OUTPUT 0x30
|
||||
#define ZT_CURVE 0x40
|
||||
#define VT_CURVE 0x55
|
||||
#define TT_CURVE 0x50
|
||||
#define IT_CURVE 0x60
|
||||
#define SET_SAMPLE_RATE 0x70
|
||||
#define SET_ADC_DAC_GAIN 0x80
|
||||
#define DIFFERENTIAL_PULSE_VOLTAMMETRY 0xA0
|
||||
#define SQUARE_WAVE_VOLTAMMETRY 0xB0
|
||||
#define CYCLIC_VOLTAMMETRY 0xC0
|
||||
#define CONSTANT_CURRENT 0xD0
|
||||
#define CYCLE_CONSTANT_CURRENT 0xF0
|
||||
#define HIGH_CYCLE_CYCLIC_VOLTAMMETRY 0x01
|
||||
#define LINEAR_SWEEP_VOLTAMMETRY 0x02
|
||||
#define CONSTANT_VSCAN 0x03
|
||||
#define ADC_TEST 0x91
|
||||
#define CALI_DAC_MODE 0x93
|
||||
#define CALI_ADC_MODE 0x92
|
||||
#define PULSE_MODE 0x94
|
||||
|
||||
// CIS (control instruction)
|
||||
#define CIS_VERSION 0x40
|
||||
#define CIS_VOLT 0x10
|
||||
|
||||
+23
-1
@@ -249,7 +249,26 @@ static void VT_Plot(WorkMode *WorkModeData) {
|
||||
}
|
||||
}else{
|
||||
if(ADCSwitch == 0){ /**read V(buffer)**/
|
||||
VoltData = readVinVout(WorkModeData);
|
||||
if(MEASURE_SWITCH(WorkModeData) == 0x01 || MEASURE_SWITCH(WorkModeData) == 0x02){
|
||||
if(INSTRUCTION.VinAutoGainEnable){
|
||||
MEASURE_VIN(WorkModeData) = AutoGainReadVin(spi_ADC_rxbuf);
|
||||
AutoGainChangeVin(MEASURE_VIN(WorkModeData));
|
||||
}else{
|
||||
ReadADCVolt(MEASURE_SWITCH(WorkModeData));
|
||||
MEASURE_VIN(WorkModeData) = DecodeADCValue(INSTRUCTION.VinADCGainLevel, ADC_CH_VOLT, spi_ADC_rxbuf);
|
||||
if(lastVinADCGainLevel != INSTRUCTION.VinADCGainLevel){
|
||||
VinADCGainControl(INSTRUCTION.VinADCGainLevel);
|
||||
record_flag = false;
|
||||
}
|
||||
|
||||
}
|
||||
VoltData = MEASURE_VIN(WorkModeData);
|
||||
}else if(MEASURE_SWITCH(WorkModeData) == 0x00){
|
||||
ReadADCVolt(MEASURE_SWITCH(WorkModeData));
|
||||
MEASURE_VOUT(WorkModeData) = DecodeADCValue(INSTRUCTION.ADCGainLevel, ADC_CH_DAC, spi_ADC_rxbuf);
|
||||
VoltData = MEASURE_VOUT(WorkModeData);
|
||||
}
|
||||
|
||||
if(record_flag == false){
|
||||
static int recordCount = 0;
|
||||
recordCount++;
|
||||
@@ -271,7 +290,10 @@ static void VT_Plot(WorkMode *WorkModeData) {
|
||||
ADCSwitch = 0;
|
||||
}
|
||||
}
|
||||
|
||||
MEASURE_BAT(WorkModeData) = testV;
|
||||
InputNotify(NOTIFY_CURRENT, MEASURE_BAT(WorkModeData));
|
||||
InputNotify(NOTIFY_IMPEDANCE, WorkModeData->VT->_measureBat);
|
||||
}
|
||||
|
||||
static void readIin(WorkMode *WorkModeData){
|
||||
|
||||
Reference in New Issue
Block a user