-
Notifications
You must be signed in to change notification settings - Fork 6
Description
Problem description
The custom device will throw error -732301 (data loss during enconding) if you try to write a value to a parameter that is too wide to fit into the number of bits configured for that parameter. For example, if you have a parameter with BNR encoding, unsigned, and 8 bits, and then try to write a value higher than 255, this error will occur.
The current error message is very vague and has undefined error text:
******Ballard ARINC 429 CUSTOM DEVICE ERROR******
Source: Error -732301 occurred at data loss during encoding
This error code is undefined. Undefined errors might occur for a number of reasons. For example, no one has provided a description for the code, or you might have wired a number that is not an error code to the error code input.
Additionally, undefined error codes might occur because the error relates to a third-party object, such as the operating system or ActiveX. For these third-party errors, you might be able to obtain a description of the error by searching the Web for the error code (-732301) or for its hexadecimal representation (0xFFF4D373).
In large A429 systems with thousands of parameters, it can be difficult to track down where exactly the error is occurring since the error that shows up in the log does not give details about which label/parameter is throwing the error.
Describe the solution you'd like
When this error is thrown, the error message should include the name of the label and parameter where the data loss occurred, allowing the developer to easily track down what is causing it.
The label name already is included in the Label Settings for RT typedef. The parameter name could be added to the parameter definitions typedef, which is already passed into the Encode Parameter and Update Word VI, shown here.

(^This is the Write to Hardware VI)
The label name and parameter name could then be added to the error description when either error -732301 or -732302 occurs.