Describe the bug
The OwnVerter is not covered by the current version of the safety API.
This can be seen on the uniterruptible_synchronous_task.cpp file:
void thread_error(void *, void *, void *)
{
while (1)
{
if (safety_alert)
{
printk("SAFETY ERROR : reset the MCU \n");
#ifdef CONFIG_SHIELD_TWIST
printk( "problem with I1 : %s \n"
"problem with V1 : %s \n"
"problem with I2 : %s \n"
"problem with V2 : %s \n"
"problem with Ihigh : %s \n"
"problem with Vhigh : %s \n"
, safety.getChannelError(I1_LOW) ? "true" : "false"
, safety.getChannelError(V1_LOW) ? "true" : "false"
, safety.getChannelError(I2_LOW) ? "true" : "false"
, safety.getChannelError(I2_LOW) ? "true" : "false"
, safety.getChannelError(I_HIGH) ? "true" : "false"
, safety.getChannelError(V_HIGH) ? "true" : "false"
);
#endif
}
k_msleep(200);
}
}
If the shield is configured as ownverter, this safety check is not performed.
Expected behavior
The safety check should be agnostic of the shield. And this should not be buried within the layers of the core code.
Describe the bug
The OwnVerter is not covered by the current version of the safety API.
This can be seen on the
uniterruptible_synchronous_task.cppfile:If the shield is configured as ownverter, this safety check is not performed.
Expected behavior
The safety check should be agnostic of the shield. And this should not be buried within the layers of the core code.