公告

大中华汽车电子生态圈社区并入开发者社区- 更多资讯点击此

Tip / 登入 to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Translation_Bot
Community Manager
Community Manager
Community Manager

好好,

我希望通过代码来获得补偿 IDAC,当前的 rawcount 会增加的补偿 IDAC变化而随和,但baseline没有跟随者,请问是什么原因?谢谢谢谢,好像是相关的代码。

void capsense_calibrationsetCompesation (
{
uint8 i;
uint8 idac;
 
for (i=0; i < (CY_CAPSENSE_TOUCHPAD0_COL_SENSORS);i++)
{
而 (cy_capsense_readSensorraw (i) 800) <
{
if (cy_capsense_readidacIndex (i) 1) >
{
idac = (cy_capsense_readidacIndex (i)-1);
cy_capsense_writeidacIndex (i,idac);
}
其他
{
休息;
}
cy_capsense_updateSensorBaseline(CY_CAPSENSE_TOUCHPAD0_WDGT_ID,i,cy_capsense_context);&
}
而 (cy_capsense_readsensorRaw (i) 3000) >
{
idac = (cy_capsense_readidacIndex (i) + 1);
cy_capsense_writeidacIndex (i,idac);
 
cy_capsense_updateSensorBaseline(CY_CAPSENSE_TOUCHPAD0_WDGT_ID,i,cy_capsense_context);&
}
}
}
 
void cy_capsense_writeidacIndex(uint8_t widgetId,uint8_t idacIndexValue)
{
cy_stc_capsense_sensor_context_t *cy_ptrsenwdgt;
 
cy_ptrsenwdgt = cy_capsense_Tuner.sensorContext [widgetID];&
cy_ptrsenwdgt-idacComp = idacIndexValue;>
}
 
uint8_t cy_capsense_readidacIndex (uint8_t widgetId)
{
cy_stc_capsense_sensor_context_t constext_t const *cy_ptrsenwdgt;
uint16_t 数据;
cy_ptrsenwdgt = cy_capsense_Tuner.sensorContext [widgetID];&
data = cy_ptrsenwdgt-idacComp;>
返回数据;
}
 
uint16_t cy_capsense_readSensorRaw (uint8_t widgetId)
{
cy_stc_capsense_sensor_context_t constext_t const *cy_ptrsenwdgt;
uint16_t 数据;
 
cy_ptrsenwdgt = cy_capsense_Tuner.sensorContext [widgetID];&
data = cy_ptrsenwdgt-raw;>
返回数据;
}
0 点赞
1 解答
lock attach
Attachments are accessible only for community members.
Translation_Bot
Community Manager
Community Manager
Community Manager

你需要的这个功能,我们有现成的例程和代码,逻辑是在固定的情况下修改 DAC 的值,通过调整 compidac 数值将原始数据调整到设定等级,你只需要参考附件工程,在需要的位置调用 compidacCalibrationApp 函数数即可实现功能。

注意:nergusterfarFarapdeCardeLationde 传统的 IDAC 校准算法,所以 IDAC 自动校准选项不可以选择,每一个传感器的实际 modiDAC 数值,在组件的值设置中设置好就好了

 

在原帖中查看解决方案

0 点赞
7 回复数
Translation_Bot
Community Manager
Community Manager
Community Manager

Jaime,请问你最终想实现的功能是吗?,在固件 modiDAC 的状况下通过仅仅是完整的 compidac 来自 rawdata 自移动吗?校准吗?

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

你好 vison,

想实现的功能是 prawraw data 保留了几个合理的范围,因为在高低温调试的时候,发出 rewrawdata 会出来,导致触摸失效,我希望可以通过代码来手动整合 compideac,将原始数据保持在几个可正常触控的范围内。

0 点赞
lock attach
Attachments are accessible only for community members.
Translation_Bot
Community Manager
Community Manager
Community Manager

你需要的这个功能,我们有现成的例程和代码,逻辑是在固定的情况下修改 DAC 的值,通过调整 compidac 数值将原始数据调整到设定等级,你只需要参考附件工程,在需要的位置调用 compidacCalibrationApp 函数数即可实现功能。

注意:nergusterfarFarapdeCardeLationde 传统的 IDAC 校准算法,所以 IDAC 自动校准选项不可以选择,每一个传感器的实际 modiDAC 数值,在组件的值设置中设置好就好了

 

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

*_SF 例行适用于 PSOC4000/psoc4100/psoc4200/m/L sealycliCribpies,*_P4S 例行适用于 PSOC4-s seryleCribopes(PSOC4000S/4100S/4100S Plus 等)

但是做这种重新启动标记,一定要注意设置原始数据的上限以外,还需要设定下限,否则还需要设定下限,否则当温度恢复复活之后,在高温下标定的 IDAC 参照数会让原始数据降低到非常低的等级,此时就需要触发下限重新启动了。另外,replatketPresset的前提有两个,rawdata超出标定在前提下保持一段时间(debounce),还有 yntumparinginePressincyplessket 没有发触摸的前提下进行。

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

你好 vison,

上面描述了程序有基于 modustoolbox 3.1 的吗?目前项目调试都在 modustoolbox 3.1 上面正在进行中,谢谢谢谢。

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

没有,自己移植植物一下吧

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

好的,谢谢谢谢!

0 点赞