加入RPC shell指令 温箱长时间监控

复制代码
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)

相关推荐
碧海银沙音频科技研究院3 小时前
炬芯ATS3089X手表的HFP通话不自动路由到设备BT的问题解决
网络·人工智能·嵌入式硬件·算法
EasyDSS7 小时前
连锁扩张管控难?一套视频会议/直播/点播/集群对讲EasyDSS音视频云平台打通门店全流程数字化
网络·音视频·easydss
比兔代理9 小时前
游戏、直播、远程办公遇到动态IP怎么办?
网络
Lzg_na9 小时前
ARP 地址解析协议详解
网络·网络协议
北京盛世宏博10 小时前
通信异常深度排查:以太网温湿度设备 TCP 粘包、UDP 丢包根治方案
单片机·网络协议·tcp/ip·udp·以太网·传感器·温湿度
上海广测检测科技有限公司10 小时前
消费类智能联网设备安全分级国标征求意见要点解析:三级五维框架与跨境对标逻辑
网络·经验分享
QZ1665609515911 小时前
金融数据流转监测排行:从看见到拦截的距离
网络·安全·网络安全·金融
paopaokaka_luck11 小时前
滑雪场管理系统(AI智能助手流式对话,ECharts 运营数据分析、教练、雪具与场地一体化预约,钱包支付退款、订单核销与服务评价)
java·人工智能·spring boot·网络协议·数据分析·echarts
CCblandy12 小时前
HTTP 长连接 3 类故障实测:[WinError 10053]、99 个 TIME_WAIT、69 次多余握手,4 种对策怎么选
后端·python·网络协议·http·云原生·性能优化·架构
雪雪爱冲浪13 小时前
2026 年网络爬虫领域的Puppeteer vs. Playwright
爬虫·网络协议·测试工具·接口隔离原则