/** * Represents detailed information for a specific encoder error code. */ export interface IntegroIntegratedEncoderErrorCodeInfo { /** The 16-bit numeric error code. */ errorCode: number; /** A short, human-readable name for the error. */ name: string; /** A detailed description explaining the error. */ description: string; /** The category or type of error (e.g., hardware, communication, logic). */ category: string; /** Expected behavior or consequence when this error occurs. */ behavior: string; } /** * Represents a parsed encoder error register value. * * Combines the raw register value, extracted debug information, * and the associated structured error description. */ export interface IntegroIntegratedEncoderError { /** The lower 16 bits of the register containing debug information. */ debugInfo: number; /** The original 32-bit value read from the encoder error register. */ registerValue: number; /** Structured information about the encoder error code. */ errorInfo: IntegroIntegratedEncoderErrorCodeInfo; } /** * Predefined list of known encoder error codes and their detailed descriptions. * * Each entry provides structured information about a specific error code, including: * - `errorCode`: The numeric 16-bit error code. * - `name`: A short, human-readable name of the error. * - `description`: Detailed explanation of the error. * - `category`: Classification of the error type (e.g., initialization, signal, command). * - `behavior`: Expected behavior or consequence when this error occurs. * * This array is used by functions like `getIntegroIntegratedEncoderErrorDescription` to * resolve a numeric error code into a structured, human-readable format. */ export declare const integroIntegratedEncoderErrorCodeDescriptions: IntegroIntegratedEncoderErrorCodeInfo[]; /** * Splits a 32-bit encoder error register value into its two logical components. * * The encoder returns a 32-bit integer where: * - The upper 16 bits represent the `errorCode`. * - The lower 16 bits contain `debugInfo` specific to that error. * * This function extracts both components and returns them as separate properties. * * @param registerValue - The 32-bit value read from the encoder error register. * @returns An object containing: * - `errorCode`: The 16-bit error code. * - `debugInfo`: The 16-bit debug information associated with the error. */ export declare function splitIntegroIntegratedEncoderErrorValue(registerValue: number): { errorCode: number; debugInfo: number; }; /** * Retrieves a structured description for a specific encoder error code. * * This function looks up the provided `errorCode` in the predefined list of known * encoder error codes and returns the corresponding description object. If the * error code is not recognized, a default description is returned. * * @param errorCode - The 16-bit error code extracted from the encoder register. * @returns The error description object matching the given code, or a default * description if the code is unknown. */ export declare function getIntegroIntegratedEncoderErrorDescription(errorCode: number): IntegroIntegratedEncoderErrorCodeInfo; /** * Parses a 32-bit encoder error register value into a structured error object. * * This utility provides a high-level interpretation of encoder error registers by: * 1. Extracting the `errorCode` and `debugInfo` from the raw register value. * 2. Resolving a human-readable description for the extracted error code. * 3. Returning all relevant information in a structured format. * * If the extracted `errorCode` is not recognized, the `errorInfo` field will be `undefined`. * * @param registerValue - The 32-bit integer value read from the encoder error register. * @returns An object containing: * - `registerValue`: The original raw register value. * - `debugInfo`: Additional debug information extracted from the register. * - `errorInfo`: Optional detailed description of the error, or `undefined` if unknown. */ export declare function parseIntegroIntegratedEncoderError(registerValue: number): IntegroIntegratedEncoderError;