So basically StatInfoText just takes the integer value from Focas call and gets the string representation based on index. In this case automatic:5 would have become automatic:TeachIN. The original exception points to an index in one of the arrays that does not exist. We just don't know which one or what the value was.
2021/07/27 12:21:59.191|ERROR|[m9_doosan_puma] Collector sweep failed at segment PATH. System.IndexOutOfRangeException: Index was outside the bounds of the array.
at l99.driver.fanuc.veneers.StatInfoText.AnyAsync(Object input, Object[] additionalInputs) in /home/ts/git/c10n/fanuc-driver/fanuc/veneers/StatInfoText.cs:line 102
Change it back to await Apply(typeof(fanuc.veneers.StatInfoText), "stat_info");,
turn up the logging in nlog.config <logger name="*" minlevel="Trace" writeTo="fileTarget,consoleTarget" />,
and post driver.log after the exception.
This will give us the info needed to troubleshoot, because we'll get the raw output from Focas before it hits the StatInfoText veneer.
https://github.com/Ladder99/fanuc-driver/blob/abe26bc4625d75b36e55751875173c92c13e2915/fanuc/veneers/StatInfoText.cs#L102-L117
So basically
StatInfoText
just takes the integer value from Focas call and gets the string representation based on index. In this caseautomatic:5
would have becomeautomatic:TeachIN
. The original exception points to an index in one of the arrays that does not exist. We just don't know which one or what the value was.await Apply(typeof(fanuc.veneers.StatInfoText), "stat_info");
,<logger name="*" minlevel="Trace" writeTo="fileTarget,consoleTarget" />
,driver.log
after the exception.This will give us the info needed to troubleshoot, because we'll get the raw output from Focas before it hits the
StatInfoText
veneer.https://github.com/Ladder99/fanuc-driver/blob/abe26bc4625d75b36e55751875173c92c13e2915/fanuc/platform/StatInfo.cs#L33