You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In the JSD_EGD_STATE_MACHINE_STATE_FAULT state of the EGD driver, the portion of the code that handles the case of the EMCY error not received within a defined timeout will never execute. This is because the previous state, JSD_EGD_STATE_MACHINE_STATE_FAULT_REACTION_ACTIVE sets the controlword to JSD_EGD_STATE_MACHINE_CONTROLWORD_FAULT_RESET. Hence, once the driver's state machine enters JSD_EGD_STATE_MACHINE_STATE_FAULT, if the error is not in the queue yet, the code will try to execute the wait, but that same cycle the drive will transition out of FAULT because of the value of the controlword set by JSD_EGD_STATE_MACHINE_STATE_FAULT_REACTION_ACTIVE in the previous cycle.
@alex-brinkman, I think it is a bug, but let me know if you think otherwise. Seems that the solution would be to make the JSD_EGD_STATE_MACHINE_STATE_FAULT_REACTION_ACTIVE a no-op.
@alex-brinkman, pinging back on this issue as I am revisiting some portions of the fault handling code. I think we need to get rid of the line resetting the fault in JSD_EGD_STATE_MACHINE_STATE_FAULT_REACTION_ACTIVE.
In the
JSD_EGD_STATE_MACHINE_STATE_FAULT
state of the EGD driver, the portion of the code that handles the case of the EMCY error not received within a defined timeout will never execute. This is because the previous state,JSD_EGD_STATE_MACHINE_STATE_FAULT_REACTION_ACTIVE
sets the controlword toJSD_EGD_STATE_MACHINE_CONTROLWORD_FAULT_RESET
. Hence, once the driver's state machine entersJSD_EGD_STATE_MACHINE_STATE_FAULT
, if the error is not in the queue yet, the code will try to execute the wait, but that same cycle the drive will transition out of FAULT because of the value of the controlword set byJSD_EGD_STATE_MACHINE_STATE_FAULT_REACTION_ACTIVE
in the previous cycle.In summary, this code will never execute because of this line.
The text was updated successfully, but these errors were encountered: