1、需求导入

软件或者客户需求增加需要功能,增加DID

2、CDD制作

DIDI添加

增加DID,并且选择读写模块勾选

3、系统变量设计

增加所对应逻辑的系统变量

4、PANL面板制作

5、CAPL代码制作
//读取
on sysvar sysvar::HSorCalibrate::Btn::btn_Read_XXXX
{
  diagRequest XXX.DID_XXXX_Read diag_req;
  
  if(@this == 1)
  {
    diag_req.SendRequest();
    
    @this = 0;
  }
}

on diagResponse XXX.DID_XXXX_Read
{
  int k=0;
  byte RecData[33];
  long XX_Data; 
  
  if(diagIsPositiveResponse(this))
  {
    this.getprimitivedata(RecData,elCount(RecData));

    XX_Data = ((RecData[3] << 24) + (RecData[4] << 16) + (RecData[5] << 8) + RecData[6]);

    @HSorCalibrate::ReadOffset_02::XX = XX_Data / 100;
    
    @sysvar::XX::State = RecData[32] ;
  }
}

网上有模板代码
//写入
on sysvar sysvar::Btn::btn_XXX
{
  int ret1;
  char show_txt[100];

  diagRequest XXX.DID_XXX_Write diag_Req; 
  
  if(@this == 1)
  {    
    ret1 = diagSetParameter(diag_Req, "Offset_XX", (@HSorCalibrate::WriteOffset_03::XX) * 100);


    ret5 = diag_Req.SendRequest();
    
    if(ret1 <0)
    {
      PrintInfo("写入失败,参数[HSor_XX_Offset]设置失败!");
      snprintf(show_txt,elCount(show_txt),"XX ret:%d ",ret1;
      PrintDetails(show_txt);
    }
  }
}
6、后记

后期再更新其他的

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐