sankyoDef.h 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. // sankyoDef.h:
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(SANKYODEF)
  5. #define SANKYODEF
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. /* be aware of alignment */
  10. #pragma pack(push,1)
  11. #define PWR_OFF_TO_INSIDE 1
  12. #define PWR_OFF_TO_FRONT 2
  13. #define PWR_OFF_TO_REAR 3
  14. #define RESET_TO_FRONT 0x34
  15. #define RESET_TO_REAR 0x35
  16. #define RESET_TO_HOLD 0x36
  17. #define RESET_NO_MOVEMENT 0x37
  18. struct SANKYO_CMD
  19. {
  20. unsigned char idn;
  21. unsigned char command[2];
  22. unsigned int parameterLen;
  23. unsigned char parameter[2056];
  24. };
  25. struct SANKYO_RSP
  26. {
  27. unsigned char jdgPart; // 'IDN'
  28. unsigned char rcm[2]; // 'CMD'(cm+pm)
  29. unsigned char res[2]; // status(error) code part
  30. unsigned char res_ext; // extend status part, about hopper
  31. unsigned int rdtLen;
  32. unsigned char rdt[1024];
  33. };
  34. struct IDCErrorInfo
  35. {
  36. int result;
  37. unsigned char rawErrorCode[4];
  38. unsigned char sort[128];
  39. unsigned char errorContents[1024];
  40. unsigned char errorHandle[512];
  41. };
  42. enum DataSource
  43. {
  44. O_Source_Unk = 0,
  45. O_Source_Track1,
  46. O_Source_Track2,
  47. O_Source_Track3,
  48. O_Source_Chip,
  49. O_Source_Rserved,
  50. };
  51. struct IDCRawData
  52. {
  53. DataSource source;
  54. int status;
  55. unsigned char rawData[512];
  56. unsigned long len;
  57. };
  58. enum ChipPowerType
  59. {
  60. O_ChipPowerDefault = 0,
  61. O_ChipPowerCold,
  62. O_ChipPowerWarm,
  63. O_ChipPowerOff,
  64. };
  65. enum ChipProtocolType
  66. {
  67. O_Chip_Unk = 0,
  68. O_Chip_T0,
  69. O_Chip_T1,
  70. };
  71. enum BoxStatus
  72. {
  73. O_Box_Unk = 0,
  74. O_Box_Miss,
  75. O_Box_Empty,
  76. O_Box_Low,
  77. O_Box_Ok,
  78. O_Box_High,
  79. O_Box_Full,
  80. };
  81. struct CUStatus
  82. {
  83. int BoxCount;
  84. BoxStatus status[8];
  85. };
  86. struct RetainBinStatus
  87. {
  88. int BoxCount;
  89. BoxStatus status[8];
  90. };
  91. #define CWERR_IDC_BASE 21000000
  92. #define CWERR_IDC_S_BASE CWERR_IDC_BASE + 200000 // Sankyo
  93. namespace Sankyo
  94. {
  95. // Sankyo error type definition
  96. #define CWERR_IDC_S_HW_BASE CWERR_IDC_S_BASE + 10000
  97. #define CWERR_IDC_S_SOFT_BASE CWERR_IDC_S_BASE + 20000
  98. // ...
  99. #define CWINFO_IDC_S_INFO_BASE CWERR_IDC_S_BASE + 90000
  100. // Sankyo soft error definition
  101. #define CWERR_IDC_S_SOFT_UNK CWERR_IDC_S_SOFT_BASE + (0001)
  102. // Positive response from CHU
  103. #define CWINFO_IDC_S_EMPTY CWINFO_IDC_S_INFO_BASE + (1000) // Sankyo: "00"
  104. #define CWINFO_IDC_S_GATE CWINFO_IDC_S_INFO_BASE + (1001) // Sankyo: "01"
  105. #define CWINFO_IDC_S_INSIDE CWINFO_IDC_S_INFO_BASE + (1002) // Sankyo: "02"
  106. // Error
  107. #define CWERR_IDC_S_CMD_UNDEF CWERR_IDC_S_HW_BASE + (1000) // Sankyo: "00"
  108. #define CWERR_IDC_S_CMD_PARM CWERR_IDC_S_HW_BASE + (1001) // Sankyo: "01"
  109. #define CWERR_IDC_S_CMD_SEQ CWERR_IDC_S_HW_BASE + (1002) // Sankyo: "02"
  110. #define CWERR_IDC_S_CMD_NO_DEV CWERR_IDC_S_HW_BASE + (1003) // Sankyo: "03"
  111. #define CWERR_IDC_S_CMD_DATA CWERR_IDC_S_HW_BASE + (1004) // Sankyo: "04"
  112. #define CWERR_IDC_S_CMD_LOCKED CWERR_IDC_S_HW_BASE + (1005) // Sankyo: "05"
  113. #define CWERR_IDC_S_CMD_NO_KEY CWERR_IDC_S_HW_BASE + (1006) // Sankyo: "06"
  114. #define CWERR_IDC_S_JAM CWERR_IDC_S_HW_BASE + (1010) // Sankyo: "10"
  115. #define CWERR_IDC_S_SHUTTER CWERR_IDC_S_HW_BASE + (1011) // Sankyo: "11"
  116. #define CWERR_IDC_S_SENSOR CWERR_IDC_S_HW_BASE + (1012) // Sankyo: "12"
  117. #define CWERR_IDC_S_LONG CWERR_IDC_S_HW_BASE + (1013) // Sankyo: "13"
  118. #define CWERR_IDC_S_SHORT CWERR_IDC_S_HW_BASE + (1014) // Sankyo: "14"
  119. #define CWERR_IDC_S_ROM CWERR_IDC_S_HW_BASE + (1015) // Sankyo: "15"
  120. #define CWERR_IDC_S_FORCE CWERR_IDC_S_HW_BASE + (1016) // Sankyo: "16"
  121. #define CWERR_IDC_S_RETRY_JAM CWERR_IDC_S_HW_BASE + (1017) // Sankyo: "17"
  122. #define CWERR_IDC_S_SW_ERR CWERR_IDC_S_HW_BASE + (1018) // Sankyo: "18"
  123. #define CWERR_IDC_S_NO_R_INSERT CWERR_IDC_S_HW_BASE + (1019) // Sankyo: "19"
  124. #define CWERR_IDC_S_READ_P CWERR_IDC_S_HW_BASE + (1020) // Sankyo: "20"
  125. #define CWERR_IDC_S_READ CWERR_IDC_S_HW_BASE + (1021) // Sankyo: "21"
  126. #define CWERR_IDC_S_WRITE CWERR_IDC_S_HW_BASE + (1022) // Sankyo: "22"
  127. #define CWERR_IDC_S_READ_NO_DATA CWERR_IDC_S_HW_BASE + (1023) // Sankyo: "23"
  128. #define CWERR_IDC_S_READ_NO_TRACK CWERR_IDC_S_HW_BASE + (1024) // Sankyo: "24"
  129. #define CWERR_IDC_S_WRITE_Q CWERR_IDC_S_HW_BASE + (1025) // Sankyo: "25"
  130. #define CWERR_IDC_S_READ_SS CWERR_IDC_S_HW_BASE + (1026) // Sankyo: "26"
  131. #define CWERR_IDC_S_READ_ES CWERR_IDC_S_HW_BASE + (1027) // Sankyo: "27"
  132. #define CWERR_IDC_S_READ_LRC CWERR_IDC_S_HW_BASE + (1028) // Sankyo: "28"
  133. #define CWERR_IDC_S_WRITE_V CWERR_IDC_S_HW_BASE + (1029) // Sankyo: "29"
  134. #define CWERR_IDC_S_POWER_D CWERR_IDC_S_HW_BASE + (1030) // Sankyo: "30"
  135. #define CWERR_IDC_S_CAPTURE_FAIL CWERR_IDC_S_HW_BASE + (1040) // Sankyo: "40"
  136. #define CWERR_IDC_S_IC_PRESS_FAIL CWERR_IDC_S_HW_BASE + (1041) // Sankyo: "41"
  137. #define CWERR_IDC_S_IC_POS_FAIL CWERR_IDC_S_HW_BASE + (1043) // Sankyo: "43"
  138. #define CWERR_IDC_S_FORCE_EJECT CWERR_IDC_S_HW_BASE + (1045) // Sankyo: "45"
  139. #define CWERR_IDC_S_NO_WITHDRAWN CWERR_IDC_S_HW_BASE + (1046) // Sankyo: "46"
  140. #define CWERR_IDC_S_OVER_COUNT CWERR_IDC_S_HW_BASE + (1050) // Sankyo: "50"
  141. #define CWERR_IDC_S_MOTOR_ERR CWERR_IDC_S_HW_BASE + (1051) // Sankyo: "51"
  142. #define CWERR_IDC_S_DECODE_ERR CWERR_IDC_S_HW_BASE + (1053) // Sankyo: "53"
  143. #define CWERR_IDC_S_ANT_PIN_ERR CWERR_IDC_S_HW_BASE + (1054) // Sankyo: "54"
  144. #define CWERR_IDC_S_ANT_PIN_PRESSED CWERR_IDC_S_HW_BASE + (1055) // Sankyo: "55"
  145. #define CWERR_IDC_S_ANT_MOVING CWERR_IDC_S_HW_BASE + (1058) // Sankyo: "58"
  146. #define CWERR_IDC_S_ICC_POWER_ERR CWERR_IDC_S_HW_BASE + (1060) // Sankyo: "60"
  147. #define CWERR_IDC_S_ATR_ERR CWERR_IDC_S_HW_BASE + (1061) // Sankyo: "61"
  148. #define CWERR_IDC_S_PROTOCOL_DISAGREE CWERR_IDC_S_HW_BASE + (1062) // Sankyo: "62"
  149. #define CWERR_IDC_S_IC_COM_ERR CWERR_IDC_S_HW_BASE + (1063) // Sankyo: "63"
  150. #define CWERR_IDC_S_IC_OTHER_ERR CWERR_IDC_S_HW_BASE + (1064) // Sankyo: "64"
  151. #define CWERR_IDC_S_IC_WAIT_ATR CWERR_IDC_S_HW_BASE + (1065) // Sankyo: "65"
  152. #define CWERR_IDC_S_PROTOCOL_UNSUPPORT CWERR_IDC_S_HW_BASE + (1066) // Sankyo: "66"
  153. #define CWERR_IDC_S_EMV_MULT_CARD CWERR_IDC_S_HW_BASE + (1067) // Sankyo: "67"
  154. #define CWERR_IDC_S_EMV_FAIL CWERR_IDC_S_HW_BASE + (1069) // Sankyo: "69"
  155. #define CWERR_IDC_S_HOP_EMPTY CWERR_IDC_S_HW_BASE + (1100) // Sankyo: "A0"
  156. #define CWERR_IDC_S_CARD_LEAD CWERR_IDC_S_HW_BASE + (1101) // Sankyo: "A1"
  157. #define CWERR_IDC_S_MST_TIME_OVER CWERR_IDC_S_HW_BASE + (1102) // Sankyo: "A2"
  158. #define CWERR_IDC_S_MST_RETRY CWERR_IDC_S_HW_BASE + (1103) // Sankyo: "A3"
  159. #define CWERR_IDC_S_MST_RETRY1 CWERR_IDC_S_HW_BASE + (1104) // Sankyo: "A4"
  160. #define CWERR_IDC_S_HOP_JAM CWERR_IDC_S_HW_BASE + (1105) // Sankyo: "A5"
  161. #define CWERR_IDC_S_HOP_POS CWERR_IDC_S_HW_BASE + (1106) // Sankyo: "A6"
  162. #define CWERR_IDC_S_MST_MOTOR CWERR_IDC_S_HW_BASE + (1107) // Sankyo: "A7"
  163. #define CWERR_IDC_S_MST_SENSOR CWERR_IDC_S_HW_BASE + (1108) // Sankyo: "A8"
  164. #define CWERR_IDC_S_SLIDER_EMPTY CWERR_IDC_S_HW_BASE + (1109) // Sankyo: "A9"
  165. #define CWERR_IDC_S_REJECT_ABNORMAL CWERR_IDC_S_HW_BASE + (1110) // Sankyo: "AB"
  166. #define CWERR_IDC_S_NEED_INIT CWERR_IDC_S_HW_BASE + (1111) // Sankyo: "B0"
  167. #define CWERR_IDC_S_UNKNOWN CWERR_IDC_S_HW_BASE + (9999)
  168. //metal detector error defination
  169. #define CWERR_IDC_METALDETECTOROPENERR (CWERR_IDC_S_HW_BASE + 2001) // 异物探测装置打开失败
  170. #define CWERR_IDC_METALDETECTEDERROR (CWERR_IDC_S_HW_BASE + 2002) // 异物探测装置探测到异物
  171. }
  172. /* restore alignment */
  173. #pragma pack(pop)
  174. #endif //SANKYODEF