Обработка возможных ошибок вызовов функций RISDK
Обработка ошибок
Любая функция RISDK всегда "сообщает" о том, корректно ли она выполнилась. Для этого каждая функция возвращает целое число. Если возвращаемое значение равно 0, то функция отработала корректно. Если в ходе выполнения функция возникла ошибка, будет возвращено положительное число, являющееся номером ошибки.
Номер ошибки состоит из шести регистров (ABCDXX), и формируется по следующиему принципу:
- A - это регистр, по которому можно понять, произошла ошибка в ядре RISDK, или в объекте компонентов;
- B - соответствующий номер объекта ядра или номер группы компонента;
- C - всегда равен 0 для объектов ядра, и равен номеру типа объекта компонента;
- D - всегда равен 0 для объектов ядра, и равен номеру модели объекта компонента;
- XX - порядковый номер ошибки.
Один из способов понять, какая произошла ошибка, это вывести в терминал значение ErrorText - последний параметр в любой функции RISDK. Представляет из себя передаваемый по ссылке массив байт, в который RISDK записывает соответствующий номеру текст ошибки.
Другой способ заключается в сверке полученного номера ошибки с реестром ошибок, где помимо описания ошибки так же приводятся рекомендации по её устранению.
Реестр ошибок
Код ошибки | Описание ошибки | Рекомендуемые действия |
---|---|---|
211011 | Значение шины отрицательное. | Измените номер шины на положительное число или 0. |
211012 | Существуют открытые соединения | Закройте перед вызовом функции все открытые соединения (RI_SDK_connector_i2c_Close или RI_SDK_connector_i2c_CloseAll). |