cyio.h 3.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. // ===========================================================================
  2. // cyio.h
  3. // Copyright (C) 2008-2010 Bookeen - All rights reserved
  4. // ===========================================================================
  5. // Key events
  6. #define CYEVENT_KEY_ENTER 'e'
  7. #define CYEVENT_KEY_RIGHT 'r'
  8. #define CYEVENT_KEY_DOWN 'd'
  9. #define CYEVENT_KEY_LEFT 'l'
  10. #define CYEVENT_KEY_UP 'u'
  11. #define CYEVENT_KEY_F1 '1'
  12. #define CYEVENT_KEY_F2 '2'
  13. #define CYEVENT_KEY_F3 '3'
  14. #define CYEVENT_KEY_F4 '4'
  15. #define CYEVENT_KEY_OFF 'o'
  16. #define CYEVENT_KEY_DSLP 'S'
  17. #define CYEVENT_KEY_VOLP '+'
  18. #define CYEVENT_KEY_VOLN '-'
  19. #define CYEVENT_KEY_REPEAT_FLAG 0x80
  20. #define CYEVENT_KEY_REPEAT_END '0'
  21. // Physical events
  22. #define CYEVENT_USB_IN 'p'
  23. #define CYEVENT_USB_OUT 'q'
  24. #define CYEVENT_AC_IN 'a'
  25. #define CYEVENT_AC_OUT 'b'
  26. #define CYEVENT_ACN_IN 'j'
  27. #define CYEVENT_ACN_OUT 'k'
  28. #define CYEVENT_SD_IN 's'
  29. #define CYEVENT_SD_OUT 't'
  30. #define CYEVENT_SDN_IN 'u'
  31. #define CYEVENT_SDN_OUT 'v'
  32. #define CYEVENT_SPECIAL 0xFE
  33. // G-Sensor events
  34. #define CYEVENT_ORIENTATIONCHANGED 'O'
  35. #define CYEVENT_G_ROT000 'A'
  36. #define CYEVENT_G_ROT090 'B'
  37. #define CYEVENT_G_ROT180 'C'
  38. #define CYEVENT_G_ROT270 'D'
  39. #define CYEVENT_TOGGLE_GSENSOR 'G'
  40. // Logical events
  41. // CYEVENT_KEY_OFF + CYEVENT_KEY_VOLN
  42. #define CYEVENT_FACTORY_OFF 'x'
  43. #define CYEVENT_SUSPEND_SCREEN 'y'
  44. #define CYEVENT_SUSPEND_DEVICE 'z'
  45. /* Normaly no more used... */
  46. //#define CYIO_KERNEL_2_6 1
  47. // ===========================================================================
  48. /* Non directly CyIO related values, but used for the Accelerometer */
  49. #define G_SENSOR_ON '1'
  50. #define G_SENSOR_OFF '0'
  51. #define G_SENSOR_CAL 'C'
  52. enum
  53. {
  54. CYGSENSOR_STATUS_ENABLED = 0, /** The accelerometer is enabled */
  55. CYGSENSOR_STATUS_DISABLED = 1, /** The accelerometer is disabled */
  56. CYGSENSOR_STATUS_NOTCALIB = 2, /** Not calibrated, or invalid calibration data */
  57. CYGSENSOR_STATUS_CALIBRATED = 3, /** This status should never been read, but it could help to debug */
  58. CYGSENSOR_STATUS_UNKNOWN = 4, /** This status should never been read, but it could help to debug */
  59. CYGSENSOR_STATUS_CHIPDETECTED = 5, /** This status should never been read, used to say if we correctly detected the I²C accelerometer Chip */
  60. CYGSENSOR_STATUS_CRITICALERROR = 6, /** If we are in this status, the G-Sensor is non working: possible cause, defective chip */
  61. CYGSENSOR_STATUS_SUSPENDED = 7, /** The GSENSOR was on, the device go to deepsleep, so we go in this state. */
  62. };
  63. #define SET_IOCTL(c, v) ((c << 8) | (v & 0xFF))
  64. #define CYIO_CTL_LED_CMD SET_IOCTL('C', 'l')
  65. #define CYIO_CTL_USB_STATUS SET_IOCTL('C', 'u')
  66. #define CYIO_CTL_SD_STATUS SET_IOCTL('C', 's')
  67. #define CYIO_CTL_PWRLED_CHANGE 0x002
  68. #define CYIO_CTL_WFILED_CHANGE 0x020
  69. #define CYIO_CTL_BTHLED_CHANGE 0x200
  70. #define CYIO_CTL_PWRLED_SETON (CYIO_CTL_PWRLED_CHANGE | 0x001)
  71. #define CYIO_CTL_WFILED_SETON (CYIO_CTL_WFILED_CHANGE | 0x010)
  72. #define CYIO_CTL_BTHLED_SETON (CYIO_CTL_BTHLED_CHANGE | 0x100)
  73. #define CYIO_CTL_PWRLED_SETOFF (CYIO_CTL_PWRLED_CHANGE | 0x000)
  74. #define CYIO_CTL_WFILED_SETOFF (CYIO_CTL_WFILED_CHANGE | 0x000)
  75. #define CYIO_CTL_BTHLED_SETOFF (CYIO_CTL_BTHLED_CHANGE | 0x000)
  76. // ===========================================================================
  77. /* Exported function of CyIO */
  78. void Cyio_ResetTimer(void);
  79. int Cyio_PushEvent(char eventId, char unique);
  80. // ===========================================================================