1 诊断事件的处理
每个诊断事件都有一个指示诊断监视器结果的状态。监视器是由 SWC 和 BSW 模块实现的算法,它们用于诊断物理电路中的故障(例如接地短路或开路)。
如下图为,诊断事件的一般处理流程的一部分,我们要弄清楚Dem_SetEventStatus这个函数的参数的四种情况(Pass/Failed/PrePass/PreFailed)及它们的处理方式。
1.1 没有Deboucing的接口调用
这些监视器可以通过使用“失败”或“通过”调用Dem_ReportErrorStatus()或Dem_SetEventStatus()将事件报告为合格的测试结果(Passed的结果或是Falied的结果)。如果是Falied的结果,则进行事件的存储,如果事件存储器已满,可以为它们分配优先级以确定可以从存储器中删除哪些故障。我们可以参考《09- 诊断事件的定义》具体了解诊断事件及Monitor的功能和作用。
1.2 使用Deboucing的接口调用
当然这些监视器也可以通过使用可以通过使用“PreFailed”或“PrePassed”调用Dem_ReportErrorStatus()或Dem_SetEventStatus()将事件报告为预先限定的测试结果”。然后通过事件去抖动算法进行Deboucing。