typedef struct _data_{
int16_t adcCode[NAFE_INPUT_NUM];
int16_t adcData[NAFE_INPUT_NUM];
int16_t caliData[NAFE_INPUT_NUM];
int16_t repData[NAFE_INPUT_NUM];
}max_data_t;
max_data_t max_data={0};
static void handleAdcData(struct jq_device *dev,uint8_t appIndex){
nafe11388_data_t *data = (nafe11388_data_t *)(dev->data);
int16_t adcCode;
int16_t adcData;
int16_t adcDataCa=0;
int16_t adcDataFmt;
int16_t fftData=0;
chanMap *map = data->chanCfgMap;
codeToADC ffCode2Date= map[appIndex].funcCodeToADC;
formatADC fformate = map[appIndex].funcFormateADCDate;
filterADC fflter = map[appIndex].funcFilter;
uint8_t gain = map[appIndex].gain;
uint8_t fgain = FGAIN[gain];
uint8_t ui = map[appIndex].ui;
adcCode = data->adcCode[appIndex];
if(adcCode>0){
if(adcCode<(16)){adcCode=0; LOG_D(" + ZERO ");}
}else if(adcCode<0){
if(adcCode>(-16)){adcCode=0; LOG_D(" - ZERO ");}
}
//*转化为真实
adcData = ffCode2Date(adcCode,fgain);
if(ui == E_U) adcData = be_close_to_zero(adcData);
data->trueData[appIndex]=adcData;
//*校准
if(adcData)adcDataCa = calibration(gain,appIndex,adcData);
data->caliData[appIndex]=adcDataCa;
//*数据过滤
fftData = adcDataCa;
if(fflter){ LOG_D("funcFilter \r\n");
fftData = fflter(appIndex,map[appIndex].filterparam,fftData);
}
//*数据格式化
if(map[appIndex].recover){
adcDataFmt= 0X7FFF;
LOG_D("JAMES fake report data chan %d\r\n ",appIndex);
}else{
adcDataFmt= fformate(fftData);
}
data->repData[appIndex]=adcDataFmt;
LOG_E("handleAdcData Id=%d adcCode=0X%04X trueData=%d CalData=%d FmtData=%d\r\n",appIndex,adcCode,adcData,adcDataCa,adcDataFmt);
if(adcDataFmt > max_data.repData[appIndex]){
max_data.adcCode[appIndex] = adcCode;
max_data.adcData[appIndex] = adcData;
max_data.caliData[appIndex] = adcDataCa;
max_data.repData[appIndex] = adcDataFmt;
}
return;
}
#include "jq_sh.h"
static int maxTest(int argc, char **argv){
if ( !strcmp(argv[1], "detail") ){
for (size_t i = 0; i < NAFE_INPUT_NUM; i++)
{
jq_sh_print ("\r\n[chan%d]adcCode0X%X adcData0X%X caliData0X%X repData0X%X\r\n",i,max_data.adcCode[i] ,max_data.adcData[i] ,max_data.caliData[i] ,max_data.repData[i] );
}
}
}
JQ_SH_PROTOCOL_CMD_EXPORT(maxTest, "ProductTest function shell");

获得SN号:rpc 0 aitest led 1
获得KB值:rpc 0 aitest getKBdata
设置KB值:rpc 0 aitest remoteKBdata 0 1 10033 2018 (chan=0 gain=1)
记录5个4UI
SerialNum 19120073
gain0->chan0(10033,2018)
gain0->chan1(10033,2018)
gain0->chan2(10033,2018)
gain0->chan3(10033,2018)
gain1->chan0(10034,-3019)
gain1->chan1(10034,-3019)
gain1->chan2(10034,-3019)
gain1->chan3(10034,-3019)
gain2->chan0(10007,60092)
gain2->chan1(10007,60092)
gain2->chan2(10007,60092)
gain2->chan3(10007,60092)
SerialNum 19120072
gain0->chan0(10036,2523)
gain0->chan1(10036,2523)
gain0->chan2(10036,2523)
gain0->chan3(10036,2523)
gain1->chan0(10035,8018)
gain1->chan1(10035,8018)
gain1->chan2(10035,8018)
gain1->chan3(10035,8018)
gain2->chan0(10009,44153)
gain2->chan1(10009,44153)
gain2->chan2(10009,44153)
gain2->chan3(10009,44153)
SerialNum 19417003
gain0->chan0(10037,10539)
gain0->chan1(10037,10539)
gain0->chan2(10037,10539)
gain0->chan3(10037,10539)
gain1->chan0(10040,0)
gain1->chan1(10040,0)
gain1->chan2(10040,0)
gain1->chan3(10040,0)
gain2->chan0(10015,-45562)
gain2->chan1(10015,-45562)
gain2->chan2(10015,-45562)
gain2->chan3(10015,-45562)
SerialNum 19120088
gain0->chan0(10034,5029)
gain0->chan1(10034,5029)
gain0->chan2(10034,5029)
gain0->chan3(10034,5029)
gain1->chan0(10033,6011)
gain1->chan1(10032,7017)
gain1->chan2(10032,7017)
gain1->chan3(10032,7017)
gain2->chan0(10014,97455)
gain2->chan1(10009,63974)
gain2->chan2(10009,41718)
gain2->chan3(10008,84944)