44 lines
2.4 KiB
C++
44 lines
2.4 KiB
C++
#ifndef SBGERRORCODES_H
|
|
#define SBGERRORCODES_H
|
|
|
|
namespace sbgtc
|
|
{
|
|
|
|
|
|
/*!
|
|
* Generic errors definitions for SBG Systems projects.
|
|
*/
|
|
typedef enum _SbgErrorCode
|
|
{
|
|
SBG_NO_ERROR = 0, /*!< The operation was successfully executed. */
|
|
SBG_ERROR, /*!< We have a generic error. */
|
|
SBG_NULL_POINTER, /*!< A pointer is null. */
|
|
SBG_INVALID_CRC, /*!< The received frame has an invalid CRC. */
|
|
SBG_INVALID_FRAME, /*!< The received frame is invalid <br> */
|
|
/*!< We have received an unexpected frame (not the cmd we are waiting for or with an invalid data size.<br> */
|
|
/*!< This could be caused by a desync between questions and answers.<br> */
|
|
/*!< You should flush the serial port to fix this. */
|
|
SBG_TIME_OUT, /*!< We have started to receive a frame but not the end. */
|
|
SBG_WRITE_ERROR, /*!< All bytes hasn't been written. */
|
|
SBG_READ_ERROR, /*!< All bytes hasn't been read. */
|
|
SBG_BUFFER_OVERFLOW, /*!< A buffer is too small to contain so much data. */
|
|
SBG_INVALID_PARAMETER, /*!< An invalid parameter has been found. */
|
|
SBG_NOT_READY, /*!< A device isn't ready (Rx isn't ready for example). */
|
|
SBG_MALLOC_FAILED, /*!< Failed to allocate a buffer. */
|
|
SGB_CALIB_MAG_NOT_ENOUGH_POINTS, /*!< Not enough points were available to perform magnetometers calibration. */
|
|
SBG_CALIB_MAG_INVALID_TAKE, /*!< The calibration procedure could not be properly executed due to insufficient precision. */
|
|
SBG_CALIB_MAG_SATURATION, /*!< Saturation were detected when attempt to calibrate magnetos. */
|
|
SBG_CALIB_MAG_POINTS_NOT_IN_A_PLANE, /*!< 2D calibration procedure could not be performed. */
|
|
|
|
SBG_DEVICE_NOT_FOUND, /*!< A device couldn't be founded or opened PC only error code */
|
|
SBG_OPERATION_CANCELLED, /*!< An operation was canceled. PC only error code*/
|
|
SBG_NOT_CONTINUOUS_FRAME, /*!< We have received a frame that isn't a continuous one. PC only error code*/
|
|
|
|
SBG_INCOMPATIBLE_HARDWARE, /*!< Hence valid; the command cannot be executed because of hardware incompatibility */
|
|
SBG_INVALID_VERSION /*!< Incompatible version */
|
|
} SbgErrorCode;
|
|
|
|
|
|
}
|
|
#endif // SBGERRORCODES_H
|