right spindle supply short to gnd-- compact version
hardware guy found that the R1004 lead to this error, but this error should not be checked, because the secondary hall spindle is not used.
2019/4/15-13:00 b_HallcomShortGnd = lb_SetError
use debugger for the board without R1004, it ran into
Dia_HandleErrorsSensorHallSecondary,
if (FALSE != b_DIAGNOSTIC_HANDLE_STATUS( ID_SPINDLE2_HALLCOM_SHORT_GND ) )
{
lps_ErrorResultField->b_HallcomShortGnd = lb_SetError;
}
#define b_DIAGNOSTIC_HANDLE_STATUS(Id) Dia_HandleErrorStatus( aps_Error, \
&C_U8_CONFIG_PTR_DTC_APPL_ERR_CONFIG[Id],\
&lb_SetError )
#define C_U8_CONFIG_PTR_DTC_APPL_ERR_CONFIG (ms_DiagnosisDtcConfig.ps_DtcApplErrConfig)
if( 0 != aps_Inst->s_ErrorHall.u16_State )
{ /* send error only in case of changes !! */
SCI_Write_HallSensor_HallSensorError (&aps_Inst->s_ErrorHall , ae_Instance);
}
Dia_BufferAllReceivedErrors
SCI_Read_HallSensor_Error (&ls_Error, E_SHA_HALL_SECONDARY); if (E_SHA_HALL_MAX_NUM_OF_HALLS > ae_Inst) { *(aps_Error) = gs_Sci_Data_Buffer.SensorHallErr[ae_Inst].s_Error; }
Dia_BufferReceivedErrors ( ls_Error.u16_State,
ls_Error.u16_Error,
DTC_BUFFER_Dia_HandleErrorsSensorHallSecondary );
2019/4/15-13:20 //lps_ErrorResultField->b_HallcomShortGnd
comment //lps_ErrorResultField->b_HallcomShortGnd = lb_SetError;
and then found invalid position from diagnosis-last interrupt reason read
18:18 b_MinUBatInputOK and b_Hall... different in new/old board
in SensorHall.c
in SenserHall_Diagnostic()
this if condition was not meeted in the board with R1004, but meeted in the old board
if( (FALSE != aps_ReqPorts->b_MinUBatInputOK ) &&
(FALSE != aps_ReqPorts->b_HallSupplyStable ) &&
(FALSE != aps_ReqPorts->b_HallSignalStable ) )
watched the 3 variable are all TRUE for Primary and Secondary for old board
but when R1004 is removed, only b_MinUBatInputOK is TRUE, the other 2 are FALSE
b_MinUBatInputOK are both TRUE for primary and secondary Hall Sensor
( b_MinUBatUndershot and b_MinUBatBackupUndershot are assigned
in Environment.c
in Env_DetermineUBatUnderVoltageErrorFlags() )
11:29 b_UHallStable, b_UHallRangeValid and b_HallSupplyStable
b_HallSupplyStable is determined by b_UHallRangeValid
aps_RequiredPorts->b_HallSupplyStable = ( (FALSE != ms_SensorHallConfigVar.b_UHallRangeValid) &&
(FALSE == ms_SensorHallConfigVar.b_UHallSwitchedOffByShortToGnd [ae_Instance]) )
? TRUE : FALSE;
b_UHallRangeValid is determined by b_UHallStable
in SensorHall_ReadRequiredPorts:
if (FALSE != l_Pmg_StableFlags.s_Bits.b_UHallStable)
{
ms_SensorHallConfigVar.b_UHallRangeValid = TRUE;
}
13:10 b_UHallStable be assigned in Pmg_UpdateHCOMStableFlag
b_UHallRangeValid is assigned from b_UHallStable
in PowerManager_cfg.c
Pmg_UpdateHCOMStableFlag()
/* Hall Supply A and B shall behavior in the same way, not working independantly*/
aps_ProvidedPorts->u_StableFlags.s_Bits.b_UHallStable = FALSE;
16:16 b_HallSupplyB is 0
watched:
aps_ProvidedPorts->u_StateOfControlledOutputs.s_Bits.b_HallSupplyB
is 0 when R1004 is removed.
in Pmg_UpdateHCOMStableFlag():
if( (FALSE != aps_ProvidedPorts->u_StateOfControlledOutputs.s_Bits.b_HallSupplyA)
&& (FALSE != aps_ProvidedPorts->u_StateOfControlledOutputs.s_Bits.b_HallSupplyB) )
{
SCI_Call_Bsw_SetDigitalOutput(E_BSW_DO_SUP_HCOM_A, TRUE);
SCI_Call_Bsw_SetDigitalOutput(E_BSW_DO_SUP_HCOM_B, TRUE);
SCI_Timer_Load(C_S_PMG_TIMER.e_HallStable, as_Par.u16_UHallStableDelayTime);
}
else
{
SCI_Call_Bsw_SetDigitalOutput(E_BSW_DO_SUP_HCOM_A, FALSE);
SCI_Call_Bsw_SetDigitalOutput(E_BSW_DO_SUP_HCOM_B, FALSE);
aps_ProvidedPorts->u_StableFlags.s_Bits.b_UHallStable = FALSE;
}
16:30
try code:
SensorHall_ReadRequiredPorts()
aps_RequiredPorts->b_HallSupplyStable =
Pmg_UpdateHCOMStableFlag()
aps_ProvidedPorts->u_StableFlags.s_Bits.b_UHallStable =
result: left spindle hall supply short to gnd
b_MinUBatInputOK, b_HallSupplyStable and b_HallSignalStable are all TRUE for both Primary and Secondary.
18:27
watch in SensorHall_Diagnostic
aps_ReqPorts->u16_HallSupplyVoltage is 0 for both Primary and Secondary
18:28
make it run OK when comment
//SensorHall_Diagnostic (aps_Inst, aps_ReqPorts);
so that it will diagnostic none.
Question:
why diagnosis cannot get the right hall voltage?
19:20
in Sci_loHwAbMapping.cfg:
DIGITAL_OUTPUT_CFG ( E_BSW_DO_SUP_HCOM_A , BSWIF_DO_SBC_SUP_HCOM_GROUP_A )
in Bswif.c
{BSWIF_DO_SBC_SUP_HCOM_GROUP_A, SBC_DO_OUT1 },
One Day Later
2019/4/18--10:15
reality, only //SensorHall_Diagnostic control the error
todo:
why there is error? how to make it OK keeping diagnosis?
right spindle supply short to gnd-- compact version的更多相关文章
- right spindle supply short to gnd
hardware guy found that the R1004 lead to this error, but this error should not be checked, because ...
- 【转】 svn 错误 以及 中文翻译
直接Ctrl+F 搜索你要找的错 # # Simplified Chinese translation for subversion package # This file is distribute ...
- How to read a scientific paper
How to read a scientific paper Nothing makes you feel stupid quite like reading a scientific journal ...
- Git - Tutorial官方【转】
转自:http://www.vogella.com/tutorials/Git/article.html#git_rename_branch Lars Vogel Version 5.8 Copyri ...
- Modules you should know in Python Libray
前两天被问到常用的python lib和module有哪些?最常用的那几个,其他的一下子竟然回答不上.想想也是,一般情况下,遇到一个问题,在网上一搜,顺着线索找到可用的例子,然后基本没有怎么深究.结果 ...
- Config File Settings Of EF——实体框架的配置文件设置
我亦MSDN 原文地址 http://msdn.microsoft.com/en-us/data/jj556606 Entity Framework allows a number of settin ...
- The YubiKey NEO
The YubiKey NEO The YubiKey line of hardware one-time-password (OTP) generators has been on the mark ...
- SVN错误信息汇总
svn错误信息 # # Simplified Chinese translation for subversion package # This file is distributed under ...
- 52. 不用+、-、×、÷做加法[add two numbers without arithmetic]
[本文链接] http://www.cnblogs.com/hellogiser/p/add-two-numbers-without-arithmetic.html [题目] 写一个函数,求两个整数的 ...
随机推荐
- MySQL 基础 简单操作
一.数据库基础 什么是数据库 数据库:保存有组织的数据的容器(通常是一个文件或一组文件). 表:是一种结构化的文件,可以用来存储数据(类似Excel表).数据库就是由成千上万个表组成. 什么事SQL ...
- tf中计算图 执行流程学习【转载】
转自:https://blog.csdn.net/dcrmg/article/details/79028003 https://blog.csdn.net/qian99/article/details ...
- 【转】JsonPath教程
https://blog.csdn.net/koflance/article/details/63262484 1. 介绍 类似于XPath在xml文档中的定位,JsonPath表达式通常是用来路径检 ...
- windows系统上利用putty通过SSH连接亚马逊AWS服务器
1. 找到在购买亚马逊的AWS服务器时保存的密钥文件(假设为abc.pem). 2.打开PuTTYgen,如下图,点击图中1处的“load”,找到abc.pem文件所在的位置,并选择abc.pem,确 ...
- python SMTP other
HTML 正文,带链接和图片 //test.py import smtplib from email.mime.image import MIMEImage from email.mime.text ...
- cocos2d JS 在 JavaScript 中,怎样把一个对象转化成 JSON 字符串?
为什么今天要做这样子的操作,原因很简单,因为cocos JS 的本地缓存储存不了对象,所以当我通过本地缓存的 key和value来取值的时候就取不出来来,json的消息数据是一个对象来的,然而在做牌局 ...
- 21Oracle数据库和实例
Oracle数据库:相关的操作系统文件(即储存在计算机硬盘上的文件)的集合,这些文件组织在一起,成为一个逻辑整体,即为Oracle数据库.物理存在 Oracle实例:位于物理内存里的数据结构,它由操作 ...
- C# 图片 旋转和翻转 RotateFlip
1.Rotate90FlipX2.Rotate90FliY3.Rotate90FlipXY4.Rotate90FlipNone以上面四个为例:1是指定后接水平翻转的90度顺时针旋转,2是指定后接垂直翻 ...
- DataGridView控件用法二:常用属性
通常会设置的DataGridView的属性如下: AllowUserToAddRows - False指示是否向用户显示用于添加行的选项,列标题下面的一行空行将消失.一般让其消失.AllowUserT ...
- valueError: This solver needs samples of at least 2 classes in the data, but the data contains only one class: 0
问题描述:执行下面的代码,报错valueError: This solver needs samples of at least 2 classes in the data, but the data ...