Skip to content

EGD will never wait for the EMCY timeout #58

Open
@d-loret

Description

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.

In summary, this code will never execute because of this line.

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions