package com.binho.cosmicsdk;

public final class ResultCodes {
    public static final int SUCCESS = 0x0000;

    public static final int FW_UNSUPPORTED_COMMAND = 0x0001;
    public static final int FW_INVALID_COMMAND = 0x0002;
    public static final int FW_FULL_RECEPTION_QUEUE = 0x0003;
    public static final int FW_INVALID_PARAMETER = 0x0004;
    public static final int FW_FEATURE_NOT_SUPPORTED_BY_HARDWARE = 0x0005;
    public static final int FW_INTERFACE_NOT_INITIALIZED = 0x0006;
    public static final int FW_INTERFACE_ALREADY_INITIALIZED = 0x0007;
    public static final int FW_BUS_NOT_SUPPORTED = 0x0008;
    public static final int FW_BUS_TIMEOUT = 0x0009;
    public static final int FW_RX_FIFO_FULL = 0x000A;
    public static final int FW_TX_FIFO_EMPTY = 0x000B;
    public static final int FW_UNHANDLED_ERROR = 0x000C;

    public static final int FW_VOLTAGE_OUT_OF_RANGE = 0x0101;
    public static final int FW_EXTERNAL_VOLTAGE_DETECTED = 0x0102;
    public static final int FW_VOLTAGE_ADJUSTMENT_FAILURE = 0x0103;
    public static final int FW_I3C_PORTS_NOT_POWERED = 0x0104;
    public static final int FW_BOTH_I3C_PORTS_POWERED = 0x0105;
    public static final int FW_VOLTAGE_OUT_OF_RANGE_ON_I3C_LV = 0x0106;
    public static final int FW_VOLTAGE_OUT_OF_RANGE_ON_I3C_HV = 0x0107;

    public static final int FW_I2C_PULLUP_RESISTOR_SETTING_FAILURE = 0x0201;
    public static final int FW_I2C_ARBITRATION_LOST = 0x0202;
    public static final int FW_I2C_NACK_ADDRESS = 0x0203;
    public static final int FW_I2C_NACK_BYTE = 0x0204;
    public static final int FW_I2C_BIT_ERROR = 0x0205;
    public static final int FW_I2C_START_STOP_ERROR = 0x0206;
    public static final int FW_I2C_BUSY = 0x0207;
    public static final int FW_I2C_TIMEOUT_CONTINUE_TRANSFER = 0x0208;
    public static final int FW_I2C_TIMEOUT_WAITING_BUS_EVENT = 0x0209;
    public static final int FW_I2C_TIMEOUT_SCL_LOW = 0x020A;
    public static final int FW_I2C_DMA_REQUEST_FAIL = 0x020B;
    public static final int FW_I2C_INVALID_PARAMETER = 0x020C;
    public static final int FW_I2C_NO_TRANSFER_IN_PROGRESS = 0x020D;
    public static final int FW_I2C_UNEXPECTED_STATE = 0x020E;
    public static final int FW_I2C_BUS_WITH_NO_TARGETS_CONNECTED = 0x020F;

    public static final int FW_GPIO_NOT_CONFIGURED = 0x0501;
    public static final int FW_GPIO_WRONG_CONFIGURATION = 0x0502;

    public static final int FW_FULL_TARGET_DEVICES_TABLE = 0x0601;
    public static final int FW_NOT_ENOUGH_SPACE_IN_TARGET_DEVICES_TABLE = 0x0602;
    public static final int FW_TARGET_DEVICES_TABLE_OVERFLOW = 0x0603;
    public static final int FW_TARGET_ADDRESS_NOT_FOUND_IN_THE_TABLE = 0x0604;
    public static final int FW_REPEATED_TARGET_ADDRESS = 0x0605;
    public static final int FW_INVALID_TARGET_ADDRESS = 0x0606;
    public static final int FW_I3C_BUS_INIT_NACK_RSTDAA = 0x0607;
    public static final int FW_I3C_BUS_INIT_NACK_SETDASA = 0x0608;
    public static final int FW_I3C_BUS_INIT_NACK_SETAASA = 0x0609;
    public static final int FW_I3C_BUS_INIT_NACK_ENTDAA = 0x060A;
    public static final int FW_I3C_NACK_ADDRESS = 0x060B;
    public static final int FW_I3C_I2C_NACK_BYTE = 0x060C;
    public static final int FW_I3C_TRANSFER_ABORTED_BY_CONTROLLER = 0x060D;
    public static final int FW_I3C_TRANSFER_MWL_REACHED = 0x060E;
    public static final int FW_I3C_TRANSFER_MRL_REACHED = 0x060F;
    public static final int FW_I3C_TRANSFER_PARITY_ERROR = 0x0610;
    public static final int FW_IBI_REQUEST_ACCEPTED = 0x0611;
    public static final int FW_IBI_REQUEST_ACCEPTED_WITH_PAYLOAD = 0x0612;
    public static final int FW_IBI_REQUEST_REJECTED = 0x0613;
    public static final int FW_HJ_REQUEST_ACCEPTED = 0x0614;
    public static final int FW_HJ_REQUEST_REJECTED = 0x0615;

    public static final int SDK_ERROR_TIMEOUT = 0x2000;
    public static final int SDK_ERROR_DISCONNECT = 0x4000;
    public static final int SDK_ERROR_UNEXPECTED_RESPONSE = 0x6000;
    public static final int SDK_ERROR_WRONG_REQUEST = 0x8000;
    public static final int SDK_ERROR_WRONG_RESPONSE = 0xA000;

    private ResultCodes() {
    }
}
