EintData.py 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. #! /usr/bin/python
  2. # -*- coding: utf-8 -*-
  3. class EintData:
  4. _count = 0
  5. _debounce_enable_list = ['CUST_EINT_DEBOUNCE_DISABLE', 'CUST_EINT_DEBOUNCE_ENABLE']
  6. _map_table = {}
  7. _mode_map = {}
  8. _int_eint = {}
  9. _builtin_map = {}
  10. _builtin_eint_count = 0
  11. def __init__(self):
  12. self.__varName = ''
  13. self.__debounce_time = ''
  14. self.__polarity = ''
  15. self.__sensitive_level = ''
  16. self.__debounce_enable = ''
  17. def set_varName(self, varName):
  18. self.__varName = varName
  19. def get_varName(self):
  20. return self.__varName
  21. def set_debounceTime(self, time):
  22. self.__debounce_time = time
  23. def get_debounceTime(self):
  24. return self.__debounce_time
  25. def set_polarity(self, polarity):
  26. self.__polarity = polarity
  27. def get_polarity(self):
  28. return self.__polarity
  29. def set_sensitiveLevel(self, level):
  30. self.__sensitive_level = level
  31. def get_sensitiveLevel(self):
  32. return self.__sensitive_level
  33. def set_debounceEnable(self, enable):
  34. self.__debounce_enable = enable
  35. def get_debounceEnable(self):
  36. return self.__debounce_enable
  37. @staticmethod
  38. def set_mapTable(map):
  39. EintData._map_table = map
  40. @staticmethod
  41. def get_mapTable():
  42. return EintData._map_table
  43. @staticmethod
  44. def get_internalEint():
  45. return EintData._int_eint
  46. @staticmethod
  47. def get_modeName(gpio_num, mode_idx):
  48. key = 'gpio%s' %(gpio_num)
  49. if key in EintData._mode_map.keys():
  50. list = EintData._mode_map[key]
  51. if mode_idx < len(list) and mode_idx >= 0:
  52. return list[mode_idx]
  53. return None
  54. @staticmethod
  55. def set_modeMap(map):
  56. for (key, value) in map.items():
  57. list = []
  58. for item in value:
  59. list.append(item[6:len(item)-1])
  60. map[key] = list
  61. EintData._mode_map = map
  62. @staticmethod
  63. def get_modeMap():
  64. return EintData._mode_map
  65. @staticmethod
  66. def get_gpioNum(num):
  67. if len(EintData._map_table):
  68. for (key,value) in EintData._map_table.items():
  69. if num == value:
  70. return key
  71. return -1