CGH_Shutter.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #ifndef Shutter_H
  2. #define Shutter_H
  3. #pragma execution_character_set("utf-8")
  4. #include "CH375DLL.H"
  5. //#pragma comment(lib, "CH375DLL.LIB")
  6. //#pragma comment(lib, "CH375DLLd.LIB")
  7. using namespace std;
  8. inline UCHAR mCharToBcd(UCHAR iChar)
  9. {
  10. UCHAR mBCD;
  11. if (iChar >= '0' && iChar <= '9') mBCD = iChar - '0';
  12. else if (iChar >= 'A' && iChar <= 'F') mBCD = iChar - 'A' + 0x0a;
  13. else if (iChar >= 'a' && iChar <= 'f') mBCD = iChar - 'a' + 0x0a;
  14. // else mBCD = 0xff;
  15. else mBCD = 0;
  16. return(mBCD);
  17. }
  18. inline PUCHAR mStrtoVal(PUCHAR str, ULONG strlen)
  19. {
  20. ULONG i, j;
  21. ULONG len;
  22. UCHAR strRev[mMAX_BUFFER_LENGTH];
  23. if (strlen % 2 != 0)
  24. {
  25. str[strlen] = 0;
  26. strlen += 1;
  27. }
  28. len = strlen / 2;
  29. for (i = 0, j = 0; i < strlen; i++, j++)
  30. {
  31. strRev[j] = (UCHAR)((mCharToBcd(str[i]) << 4) + mCharToBcd(str[i + 1]));
  32. i++;
  33. }
  34. strRev[j] = '\0';
  35. memcpy(str, strRev, len);
  36. return str;
  37. }
  38. class CGH_Shutter
  39. {
  40. public:
  41. CGH_Shutter();
  42. ~CGH_Shutter();
  43. int open();
  44. int close();
  45. bool isconnected();
  46. void disconnected();
  47. // void connect();
  48. private:
  49. bool m_open;
  50. long int mIndex;
  51. };
  52. #endif // !Shutter_H