14 changed files with 174 additions and 256 deletions
-
126src/main/java/a8k/a8k_can_protocol/A8kEcode.java
-
4src/main/java/a8k/a8k_can_protocol/A8kPacket.java
-
172src/main/java/a8k/a8k_can_protocol/Errorcode.java
-
38src/main/java/a8k/appbean/AppErrorCode.java
-
4src/main/java/a8k/appbean/HardwareException.java
-
10src/main/java/a8k/appbean/ecode/AppEcode.java
-
14src/main/java/a8k/base_hardware/A8kCanBusService.java
-
1src/main/java/a8k/controller/TmpTestController.java
-
23src/main/java/a8k/service/ctrl_service/DeviceInitializationCtrlService.java
-
14src/main/java/a8k/service/data_service/UsrMgrService.java
-
7src/main/java/a8k/service/hardware/HbotControlService.java
-
2src/main/java/a8k/service/hardware/MotorTubeRackMoveCtrlService.java
-
13src/main/java/a8k/service/hardware/SamplesPreProcessModuleCtrlService.java
-
BINzhaohe_app.db
@ -0,0 +1,126 @@ |
|||||
|
package a8k.a8k_can_protocol; |
||||
|
|
||||
|
public enum A8kEcode { |
||||
|
// |
||||
|
// FOR APP |
||||
|
// |
||||
|
Success(0, "成功"), // |
||||
|
TubeNotHasHat(1, "全血试管未盖帽"), // |
||||
|
SampleLiquidLevelWasNotDetected(2, "取样时未探测到液面"),// |
||||
|
LargeBufferNotEnough(3, "大瓶缓冲液不足"), // |
||||
|
PasswdError(4, "密码错误"), // |
||||
|
UserDoesNotExist(5, "用户不存在"), // |
||||
|
GripperMPosError(6, "抓手舵机位置异常"), // |
||||
|
GripperZMPosError(8, "抓手升降电机位置异常"), // |
||||
|
GripperYMPosError(9, "抓手前后移动舵机位置异常"),// |
||||
|
TubesInShakeModule(10, "摇匀模组位置有试管"),// |
||||
|
PlateStuckDetectorSensorTrigger(11, "卡板检查光电触发"),// |
||||
|
PlateBoxNotCover(12, "板夹仓盖子未关闭"),// |
||||
|
PullerMInitPosError(13, "板夹钩爪电机没有处于转盘中央"),// |
||||
|
PusherMInitPosError(14, "板夹仓推杆电机没有处于零点位置"),// |
||||
|
RecycleBinOverflow(15, "回收仓满"),// |
||||
|
MotorLostStep(16,"电机丢步"),// |
||||
|
|
||||
|
// |
||||
|
// FOR HARDWARE |
||||
|
// |
||||
|
|
||||
|
HardwareError(1001, "HardwareError"),// |
||||
|
ParamOutOfRange(1102, "ParamOutOfRange"),// |
||||
|
CmdNotSupport(1103, "CmdNotSupport"),// |
||||
|
DeviceIsBusy(1104, "DeviceIsBusy"),// |
||||
|
DeviceIsOffline(1105, "DeviceIsOffline"),// |
||||
|
Overtime(1106, "Overtime"),// |
||||
|
Noack(1107, "Noack"),// |
||||
|
Errorack(1108, "Errorack"),// |
||||
|
DeviceOffline(1109, "DeviceOffline"),// |
||||
|
SubdeviceOvertime(1111, "SubdeviceOvertime"),// |
||||
|
BufferNotEnough(1112, "BufferNotEnough"),// |
||||
|
CmdParamNumError(1114, "CmdParamNumError"),// |
||||
|
CheckcodeIsError(1115, "CheckcodeIsError"),// |
||||
|
IllegalOperation(1116, "IllegalOperation"),// |
||||
|
ActionOvertime(1117, "ActionOvertime"),// |
||||
|
ModuleOpeationBreakByUser(1202, "ModuleOpeationBreakByUser"),// |
||||
|
ModuleNotFindReg(1207, "ModuleNotFindReg"),// |
||||
|
XYMotorXFindZeroEdgeFail(1306, "XYMotorXFindZeroEdgeFail"),// |
||||
|
XYMotorYFindZeroEdgeFail(1307, "XYMotorYFindZeroEdgeFail"),// |
||||
|
XYMotorNotEnable(1308, "XYMotorNotEnable"),// |
||||
|
XYMotorTargetPosOutofRange(1309, "XYMotorTargetPosOutofRange"),// |
||||
|
PipetteErrorNoerror(1400, "PipetteErrorNoerror"),// |
||||
|
PipetteErrorInitfail(1401, "PipetteErrorInitfail"),// |
||||
|
PipetteErrorInvalidcmd(1402, "PipetteErrorInvalidcmd"),// |
||||
|
PipetteErrorInvalidarg(1403, "PipetteErrorInvalidarg"),// |
||||
|
PipetteErrorPressuresensorerror(1404, "PipetteErrorPressuresensorerror"),// |
||||
|
PipetteErrorOverpressure(1405, "PipetteErrorOverpressure"),// |
||||
|
PipetteErrorLlderror(1406, "PipetteErrorLlderror"),// |
||||
|
PipetteErrorDevicenotinit(1407, "PipetteErrorDevicenotinit"),// |
||||
|
PipetteErrorTippoperror(1408, "PipetteErrorTippoperror"),// |
||||
|
PipetteErrorPumpoverload(1409, "PipetteErrorPumpoverload"),// |
||||
|
PipetteErrorTipdrop(1410, "PipetteErrorTipdrop"),// |
||||
|
PipetteErrorCanbuserror(1411, "PipetteErrorCanbuserror"),// |
||||
|
PipetteErrorInvalidchecksum(1412, "PipetteErrorInvalidchecksum"),// |
||||
|
PipetteErrorEepromerror(1413, "PipetteErrorEepromerror"),// |
||||
|
PipetteErrorCmdbufferempty(1414, "PipetteErrorCmdbufferempty"),// |
||||
|
PipetteErrorCmdbufferoverflow(1415, "PipetteErrorCmdbufferoverflow"),// |
||||
|
PipetteErrorTipblock(1416, "PipetteErrorTipblock"),// |
||||
|
PipetteErrorAirsuction(1417, "PipetteErrorAirsuction"),// |
||||
|
PipetteErrorBubble(1418, "PipetteErrorBubble"),// |
||||
|
PipetteErrorVolumeerror(1419, "PipetteErrorVolumeerror"),// |
||||
|
PipetteErrorTipalreadyload(1420, "PipetteErrorTipalreadyload"),// |
||||
|
PipetteErrorTiploadfail(1421, "PipetteErrorTiploadfail"),// |
||||
|
PipetteErrorUninited(1501, "PipetteErrorUninited"),// |
||||
|
PipetteErrorNotLldPrepare(1502, "PipetteErrorNotLldPrepare"),// |
||||
|
PipetteErrorTipisloadWhenLldPrepare(1500, "PipetteErrorTipisloadWhenLldPrepare"),// |
||||
|
PipetteErrorPumpLoadValIsNotEmpty(1503, "PipetteErrorPumpLoadValIsNotEmpty"),// |
||||
|
StepMotorNotFoundZeroPoint(1600, "StepMotorNotFoundZeroPoint"),// |
||||
|
StepMotorNotGoZero(1601, "StepMotorNotGoZero"),// |
||||
|
StepMotorOverTemperature(1602, "StepMotorOverTemperature"),// |
||||
|
StepMotorOverVoltage(1603, "StepMotorOverVoltage"),// |
||||
|
StepMotorRunOvertime(1604, "StepMotorRunOvertime"),// |
||||
|
StepMotorNotEnable(1605, "StepMotorNotEnable"),// |
||||
|
StepMotorIoindexOutOfRange(1606, "StepMotorIoindexOutOfRange"),// |
||||
|
StepMotorSubicReset(1607, "StepMotorSubicReset"),// |
||||
|
StepMotorDrvErr(1608, "StepMotorDrvErr"),// |
||||
|
StepMotorUvCp(1609, "StepMotorUvCp"),// |
||||
|
StepMotorNotFoundPointEdge(1610, "StepMotorNotFoundPointEdge"),// |
||||
|
StepMotorLostStep(1611, "StepMotorLostStep"),// |
||||
|
MiniServoNotEnable(1700, "MiniServoNotEnable"),// |
||||
|
MiniServoModeNotSupport(1701, "MiniServoModeNotSupport"),// |
||||
|
FanHardwareFault(1800, "FanHardwareFault"),// |
||||
|
WaterCoolingFanError(1900, "WaterCoolingFanError"),// |
||||
|
WaterCoolingTemperatureSensorError(1902, "WaterCoolingTemperatureSensorError"),// |
||||
|
WaterCoolingPumpIsError(1903, "WaterCoolingPumpIsError"),// |
||||
|
WaterCoolingPelterIsError(1904, "WaterCoolingPelterIsError"), |
||||
|
; |
||||
|
|
||||
|
public int index; |
||||
|
public String chname; |
||||
|
|
||||
|
A8kEcode(int index, String chname) { |
||||
|
this.index = index; |
||||
|
this.chname = chname; |
||||
|
} |
||||
|
|
||||
|
public int toInt() { |
||||
|
return index; |
||||
|
} |
||||
|
|
||||
|
public static A8kEcode valueOf(int val) { |
||||
|
A8kEcode[] values = A8kEcode.values(); |
||||
|
for (A8kEcode e : values) { |
||||
|
if (e.toInt() == val) |
||||
|
return e; |
||||
|
} |
||||
|
return null; |
||||
|
} |
||||
|
|
||||
|
public static String toString(int val) { |
||||
|
A8kEcode[] values = A8kEcode.values(); |
||||
|
for (A8kEcode e : values) { |
||||
|
if(e.toInt() == val){ |
||||
|
return e.toString(); |
||||
|
} |
||||
|
} |
||||
|
return "unkown("+val+")"; |
||||
|
} |
||||
|
} |
@ -1,172 +0,0 @@ |
|||||
package a8k.a8k_can_protocol; |
|
||||
|
|
||||
public class Errorcode { |
|
||||
|
|
||||
public static final int ksucc = (0 + 0); |
|
||||
public static final int kfail = (0 + 1); |
|
||||
/*********************************************************************************************************************** |
|
||||
* 协议错误码 * |
|
||||
***********************************************************************************************************************/ |
|
||||
public static final int kparam_out_of_range = (100 + 2); // 参数超出范围 |
|
||||
public static final int kcmd_not_support = (100 + 3); // 操作不支持 |
|
||||
public static final int kdevice_is_busy = (100 + 4); // 设备忙 |
|
||||
public static final int kdevice_is_offline = (100 + 5); // 设备离线 |
|
||||
public static final int kovertime = (100 + 6); |
|
||||
public static final int knoack = (100 + 7); |
|
||||
public static final int kerrorack = (100 + 8); |
|
||||
public static final int kdevice_offline = (100 + 9); |
|
||||
public static final int ksubdevice_overtime = (100 + 11); |
|
||||
public static final int kbuffer_not_enough = (100 + 12); |
|
||||
public static final int kcmd_param_num_error = (100 + 14); |
|
||||
public static final int kcheckcode_is_error = (100 + 15); |
|
||||
public static final int killegal_operation = (100 + 16); |
|
||||
public static final int kaction_overtime = (100 + 17); |
|
||||
/*********************************************************************************************************************** |
|
||||
* 模块错误码 * |
|
||||
***********************************************************************************************************************/ |
|
||||
public static final int kmodule_opeation_break_by_user = (200 + 2); // 用户中断 |
|
||||
public static final int kmodule_not_find_reg = (200 + 7); // et 未找到配置索引 |
|
||||
|
|
||||
/*********************************************************************************************************************** |
|
||||
* XY电机驱动错误码 * |
|
||||
***********************************************************************************************************************/ |
|
||||
public static final int kxymotor_x_find_zero_edge_fail = (300 + 6); // 离开零点失败 |
|
||||
public static final int kxymotor_y_find_zero_edge_fail = (300 + 7); // 离开零点失败 |
|
||||
public static final int kxymotor_not_enable = (300 + 8); |
|
||||
public static final int kxymotor_target_pos_outof_range = (300 + 9); |
|
||||
/*********************************************************************************************************************** |
|
||||
* 移液枪错误码 * |
|
||||
***********************************************************************************************************************/ |
|
||||
public static final int kpipette_error_NoError = (400 + 0); // 无错误 |
|
||||
public static final int kpipette_error_InitFail = (400 + 1); // 初始化失败 |
|
||||
public static final int kpipette_error_InvalidCmd = (400 + 2); // 无效命令 |
|
||||
public static final int kpipette_error_InvalidArg = (400 + 3); // 无效参数 |
|
||||
public static final int kpipette_error_PressureSensorError = (400 + 4); // 压力传感器故障 |
|
||||
public static final int kpipette_error_OverPressure = (400 + 5); // 超过压力 |
|
||||
public static final int kpipette_error_LLDError = (400 + 6); // LLD 错误 |
|
||||
public static final int kpipette_error_DeviceNotInit = (400 + 7); // 设备未初始化 |
|
||||
public static final int kpipette_error_TipPopError = (400 + 8); // Tip 弹出错误 |
|
||||
public static final int kpipette_error_PumpOverload = (400 + 9); // 泵过载 |
|
||||
public static final int kpipette_error_TipDrop = (400 + 10); // Tip 脱落 |
|
||||
public static final int kpipette_error_CanBusError = (400 + 11); // CAN 总线故障 |
|
||||
public static final int kpipette_error_InvalidChecksum = (400 + 12); // 无效校验和 |
|
||||
public static final int kpipette_error_EEPROMError = (400 + 13); // EEPROM 故障 |
|
||||
public static final int kpipette_error_CmdBufferEmpty = (400 + 14); // 命令缓冲区为空 |
|
||||
public static final int kpipette_error_CmdBufferOverflow = (400 + 15); // 命令溢出 |
|
||||
public static final int kpipette_error_TipBlock = (400 + 16); // Tip 堵塞 |
|
||||
public static final int kpipette_error_AirSuction = (400 + 17); // 吸入空气 |
|
||||
public static final int kpipette_error_Bubble = (400 + 18); // 液体中有气泡/泡沫 |
|
||||
public static final int kpipette_error_VolumeError = (400 + 19); // 吸取/分配量不准确 |
|
||||
public static final int kpipette_error_TipAlreadyLoad = (400 + 20); // Tip已经装载 |
|
||||
public static final int kpipette_error_TipLoadFail = (400 + 21); |
|
||||
public static final int kpipette_error_tipisload_when_lld_prepare = (500 + 0); // 未卸载Tip就进行LLD准备 |
|
||||
public static final int kpipette_error_uninited = (500 + 1); // 泵机未初始化 |
|
||||
public static final int kpipette_error_not_lld_prepare = (500 + 2); // 为执行lld_prepare |
|
||||
public static final int kpipette_error_pump_load_val_is_not_empty = (500 + 3); // 为执行lld_prepare |
|
||||
|
|
||||
/*********************************************************************************************************************** |
|
||||
* 步进电机错误码 * |
|
||||
***********************************************************************************************************************/ |
|
||||
public static final int kstep_motor_not_found_zero_point = (600 + 0); // 未找到零点 |
|
||||
public static final int kstep_motor_not_go_zero = (600 + 1); // 设备未归零 |
|
||||
public static final int kstep_motor_over_temperature = (600 + 2); // 过温 |
|
||||
public static final int kstep_motor_over_voltage = (600 + 3); // 过压 |
|
||||
public static final int kstep_motor_run_overtime = (600 + 4); // 运行超时 |
|
||||
public static final int kstep_motor_not_enable = (600 + 5); // 电机未使能 |
|
||||
public static final int kstep_motor_ioindex_out_of_range = (600 + 6); // IO超出范围 |
|
||||
public static final int kstep_motor_subic_reset = (600 + 7); // 子IC复位 |
|
||||
public static final int kstep_motor_drv_err = (600 + 8); // 驱动器异常 |
|
||||
public static final int kstep_motor_uv_cp = (600 + 9); // 驱动器异常 |
|
||||
public static final int kstep_motor_not_found_point_edge = (600 + 10); // 未找到零点 |
|
||||
public static final int kstep_motor_lost_step = (600 + 11); // 电机丢步 |
|
||||
/*********************************************************************************************************************** |
|
||||
* 舵机错误码 * |
|
||||
***********************************************************************************************************************/ |
|
||||
public static final int kmini_servo_not_enable = (700 + 0); // |
|
||||
public static final int kmini_servo_mode_not_support = (700 + 1); // |
|
||||
/*********************************************************************************************************************** |
|
||||
* 风扇错误码 * |
|
||||
***********************************************************************************************************************/ |
|
||||
public static final int kfan_hardware_fault = (800 + 0); // |
|
||||
|
|
||||
/*********************************************************************************************************************** |
|
||||
* 水冷错误码 * |
|
||||
***********************************************************************************************************************/ |
|
||||
public static final int kwater_cooling_fan_error = (900 + 0); // |
|
||||
public static final int kwater_cooling_temperature_sensor_error = (900 + 2); // |
|
||||
public static final int kwater_cooling_pump_is_error = (900 + 3); // |
|
||||
public static final int kwater_cooling_pelter_is_error = (900 + 4); // |
|
||||
|
|
||||
static public String toString(Integer ecode) { |
|
||||
return switch (ecode) { |
|
||||
case ksucc -> "ksucc"; |
|
||||
case kfail -> "kfail"; |
|
||||
case kparam_out_of_range -> "kparam_out_of_range"; |
|
||||
case kcmd_not_support -> "kcmd_not_support"; |
|
||||
case kdevice_is_busy -> "kdevice_is_busy"; |
|
||||
case kdevice_is_offline -> "kdevice_is_offline"; |
|
||||
case kovertime -> "kovertime"; |
|
||||
case knoack -> "knoack"; |
|
||||
case kerrorack -> "kerrorack"; |
|
||||
case kdevice_offline -> "kdevice_offline"; |
|
||||
case ksubdevice_overtime -> "ksubdevice_overtime"; |
|
||||
case kbuffer_not_enough -> "kbuffer_not_enough"; |
|
||||
case kcmd_param_num_error -> "kcmd_param_num_error"; |
|
||||
case kcheckcode_is_error -> "kcheckcode_is_error"; |
|
||||
case killegal_operation -> "killegal_operation"; |
|
||||
case kaction_overtime -> "kaction_overtime"; |
|
||||
case kmodule_opeation_break_by_user -> "kmodule_opeation_break_by_user"; |
|
||||
case kmodule_not_find_reg -> "kmodule_not_find_reg"; |
|
||||
case kxymotor_x_find_zero_edge_fail -> "kxymotor_x_find_zero_edge_fail"; |
|
||||
case kxymotor_y_find_zero_edge_fail -> "kxymotor_y_find_zero_edge_fail"; |
|
||||
case kxymotor_not_enable -> "kxymotor_not_enable"; |
|
||||
case kxymotor_target_pos_outof_range -> "kxymotor_target_pos_outof_range"; |
|
||||
case kpipette_error_NoError -> "kpipette_error_NoError"; |
|
||||
case kpipette_error_InitFail -> "kpipette_error_InitFail"; |
|
||||
case kpipette_error_InvalidCmd -> "kpipette_error_InvalidCmd"; |
|
||||
case kpipette_error_InvalidArg -> "kpipette_error_InvalidArg"; |
|
||||
case kpipette_error_PressureSensorError -> "kpipette_error_PressureSensorError"; |
|
||||
case kpipette_error_OverPressure -> "kpipette_error_OverPressure"; |
|
||||
case kpipette_error_LLDError -> "kpipette_error_LLDError"; |
|
||||
case kpipette_error_DeviceNotInit -> "kpipette_error_DeviceNotInit"; |
|
||||
case kpipette_error_TipPopError -> "kpipette_error_TipPopError"; |
|
||||
case kpipette_error_PumpOverload -> "kpipette_error_PumpOverload"; |
|
||||
case kpipette_error_TipDrop -> "kpipette_error_TipDrop"; |
|
||||
case kpipette_error_CanBusError -> "kpipette_error_CanBusError"; |
|
||||
case kpipette_error_InvalidChecksum -> "kpipette_error_InvalidChecksum"; |
|
||||
case kpipette_error_EEPROMError -> "kpipette_error_EEPROMError"; |
|
||||
case kpipette_error_CmdBufferEmpty -> "kpipette_error_CmdBufferEmpty"; |
|
||||
case kpipette_error_CmdBufferOverflow -> "kpipette_error_CmdBufferOverflow"; |
|
||||
case kpipette_error_TipBlock -> "kpipette_error_TipBlock"; |
|
||||
case kpipette_error_AirSuction -> "kpipette_error_AirSuction"; |
|
||||
case kpipette_error_Bubble -> "kpipette_error_Bubble"; |
|
||||
case kpipette_error_VolumeError -> "kpipette_error_VolumeError"; |
|
||||
case kpipette_error_TipAlreadyLoad -> "kpipette_error_TipAlreadyLoad"; |
|
||||
case kpipette_error_TipLoadFail -> "kpipette_error_TipLoadFail"; |
|
||||
case kpipette_error_tipisload_when_lld_prepare -> "kpipette_error_tipisload_when_lld_prepare"; |
|
||||
case kpipette_error_uninited -> "kpipette_error_uninited"; |
|
||||
case kpipette_error_not_lld_prepare -> "kpipette_error_not_lld_prepare"; |
|
||||
case kpipette_error_pump_load_val_is_not_empty -> "kpipette_error_pump_load_val_is_not_empty"; |
|
||||
case kstep_motor_not_found_zero_point -> "kstep_motor_not_found_zero_point"; |
|
||||
case kstep_motor_not_go_zero -> "kstep_motor_not_go_zero"; |
|
||||
case kstep_motor_over_temperature -> "kstep_motor_over_temperature"; |
|
||||
case kstep_motor_over_voltage -> "kstep_motor_over_voltage"; |
|
||||
case kstep_motor_run_overtime -> "kstep_motor_run_overtime"; |
|
||||
case kstep_motor_not_enable -> "kstep_motor_not_enable"; |
|
||||
case kstep_motor_ioindex_out_of_range -> "kstep_motor_ioindex_out_of_range"; |
|
||||
case kstep_motor_subic_reset -> "kstep_motor_subic_reset"; |
|
||||
case kstep_motor_drv_err -> "kstep_motor_drv_err"; |
|
||||
case kstep_motor_uv_cp -> "kstep_motor_uv_cp"; |
|
||||
case kstep_motor_not_found_point_edge -> "kstep_motor_not_found_point_edge"; |
|
||||
case kstep_motor_lost_step -> "kstep_motor_lost_step"; |
|
||||
case kmini_servo_not_enable -> "kmini_servo_not_enable"; |
|
||||
case kmini_servo_mode_not_support -> "kmini_servo_mode_not_support"; |
|
||||
case kfan_hardware_fault -> "kfan_hardware_fault"; |
|
||||
case kwater_cooling_fan_error -> "kwater_cooling_fan_error"; |
|
||||
case kwater_cooling_temperature_sensor_error -> "kwater_cooling_temperature_sensor_error"; |
|
||||
case kwater_cooling_pump_is_error -> "kwater_cooling_pump_is_error"; |
|
||||
case kwater_cooling_pelter_is_error -> "kwater_cooling_pelter_is_error"; |
|
||||
default -> "unkown" + "(" + ecode + ")"; |
|
||||
}; |
|
||||
} |
|
||||
} |
|
@ -1,38 +0,0 @@ |
|||||
package a8k.appbean; |
|
||||
|
|
||||
public enum AppErrorCode { |
|
||||
Success("成功", 0), // |
|
||||
TubeNotHasHat("全血试管未盖帽", 1), // |
|
||||
SampleLiquidLevelWasNotDetected("取样时未探测到液面", 2),// |
|
||||
LargeBufferNotEnough("大瓶缓冲液不足", 3), // |
|
||||
PasswdError("密码错误", 4), // |
|
||||
UserDoesNotExist("用户不存在", 5), // |
|
||||
GripperMPosError("抓手舵机位置异常", 6), // |
|
||||
GripperZMPosError("抓手升降电机位置异常", 8), // |
|
||||
GripperYMPosError("抓手前后移动舵机位置异常", 9),// |
|
||||
TubesInShakeModule("摇匀模组位置有试管", 10),// |
|
||||
PlateStuckDetectorSensorTrigger("卡板检查光电触发", 11),// |
|
||||
PlateBoxNotCover("板夹仓盖子未关闭", 12),// |
|
||||
|
|
||||
PullerMInitPosError("板夹钩爪电机没有处于转盘中央", 13),// |
|
||||
PusherMInitPosError("板夹仓推杆电机没有处于零点位置", 14),// |
|
||||
RecycleBinOverflow("回收仓满", 15),// |
|
||||
; |
|
||||
|
|
||||
final private String chName; |
|
||||
final private int errorIndex; |
|
||||
|
|
||||
private AppErrorCode(String chname, int errorIndex) { |
|
||||
this.chName = chname; |
|
||||
this.errorIndex = errorIndex; |
|
||||
} |
|
||||
|
|
||||
public String getChName() { |
|
||||
return chName; |
|
||||
} |
|
||||
|
|
||||
public int getErrorCode() { |
|
||||
return errorIndex; |
|
||||
} |
|
||||
|
|
||||
} |
|
Write
Preview
Loading…
Cancel
Save
Reference in new issue